mkdir-p: remove assumptions about umask and mode
[gnulib.git] / ChangeLog
1 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
2
3         mkdir-p: remove assumptions about umask and mode
4         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
5         umask is 0, or that MODE is a subset of MODE_BITS.
6
7 2013-05-10  Eric Blake  <eblake@redhat.com>
8
9         maint.mk: catch more abuse of HAVE_DECL in syntax-check
10         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
11
12 2012-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
13
14         deps: require Automake >= 1.9.6 in generated Makefile fragments
15
16         That is the same minimal version required in the DEPENDENCIES file.
17         Moreover, the old code generated a requirement of Automake >= 1.5,
18         and that is an insanely outdated version.
19
20         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
21         * tests/havelib/rpathlx/Makefile.am: Likewise.
22         * tests/havelib/rpathly/Makefile.am: Likewise.
23         * tests/havelib/rpathlyx/Makefile.am: Likewise.
24         * tests/havelib/rpathlz/Makefile.am: Likewise.
25         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
26         * tests/havelib/rpathx/Makefile.am: Likewise.
27         * tests/havelib/rpathy/Makefile.am: Likewise.
28         * tests/havelib/rpathz/Makefile.am: Likewise.
29
30 2013-05-08  Eric Blake  <eblake@redhat.com>
31
32         bootstrap: AC_INIT may have more than four parameters
33         * build-aux/bootstrap (extract_package_name): Correctly extract
34         non-empty tarname field.  Avoid range in regex.
35         Based on a report by Sami Kerola <kerolasa@iki.fi>.
36
37 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
38
39         qacl: port to MS-Windows port of GNU Emacs
40         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
41         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
42         port of GNU Emacs.  Problem reported by Eli Zaretskii in
43         <http://bugs.gnu.org/14295#14>.
44
45 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
46
47         acl: include quote.h
48         * lib/copy-acl.c: Include quote.h.
49         * lib/set-acl.c: Likewise.
50
51 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
52
53         fchownat, renameat, unlinkat: update statat dependencies
54         These modules use statat and lstatat, not fstatat; so depend on
55         the statat module, which was split out recently from fstatat.
56         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
57         * modules/renameat: Likewise.  Also delete fstat.
58         URL: http://bugs.gentoo.org/468790
59
60 2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
61
62         Assume gnulib is checked out from Git, not CVS
63
64         In fact, access to the gnulib repository through CVS has been
65         disabled, or more precisely, got broken and was never restored; see:
66         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>
67
68         Note that support for CVS is not removed completely and unthinkingly
69         by this change: only support for CVS checkouts of gnulib itself is
70         removed.  For example, the 'bootstrap' script still cater to .cvsingore
71         files and CVS directories, for the benefit of those poor gnulib clients
72         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
73
74         * gnulib-tool: Simplify accordingly.
75         * posix-modules: Likewise.
76         * MODULES.html.sh: Likewise.
77         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
78         repository.
79         * doc/gnulib-intro.texi: Likewise.
80         * doc/gnulib-readme.texi: Likewise.
81         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
82         sample '.gitignore' file rather than a sample '.cvsignore'.
83         * NEWS: Update.
84         * m4/extensions.m4: While at it, remove a comment mistakenly referring
85         to "CVS Autoconf" rather than "git Autoconf".
86
87 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
88
89         utimensat-tests, etc.: try to fix some races
90         Problem reported by Bernhard Voelker in
91         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
92         I don't know whether this patch fixes that race condition, but it
93         fixes *some* race conditions, so it should be a win.
94         * modules/chown-tests (Depends-on):
95         * modules/fchownat-tests (Depends-on):
96         * modules/fdutimensat-tests (Depends-on):
97         * modules/futimens-tests (Depends-on):
98         * modules/lchown-tests (Depends-on):
99         * modules/stat-time-tests (Depends-on):
100         * modules/utimens-tests (Depends-on):
101         * modules/utimensat-tests (Depends-on):
102         Depend on nanosleep, not usleep.
103         * modules/chown-tests (test_chown_LDADD):
104         * modules/lchown-tests (test_lchown_LDADD):
105         * modules/stat-time-tests (test_stat_time_LDADD):
106         New macro.
107         * modules/fchownat-tests (test_fchownat_LDADD):
108         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
109         * modules/futimens-tests (test_futimens_LDADD):
110         * modules/utimens-tests (test_utimens_LDADD):
111         * modules/utimensat-tests (test_utimensat_LDADD):
112         Add $(LIB_NANOSLEEP).
113         * modules/stat-time-tests (Files): Add tests/nap.h.
114         * tests/nap.h: Include <limits.h>, for INT_MAX.
115         (lt_mtime): Remove.
116         (diff_timespec): New function.
117         (get_stat): Rename from get_mtime.  All callers changed.
118         (nap_works): Determine the needed delay by inspecting the
119         file system's timestamp jumps; this should be more reliable.
120         Look at both mtime and ctime, and take the maximum of the two jumps.
121         (nap_works, guess_delay):
122         Return a nanosecond cound, not a microsecond count.
123         All callers changed.
124         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
125         failure.
126         (nap): Multiply the guess by 1.125, to accommodate the case where
127         the file system's clock is a bit slower than nanosleep's clock.
128         * tests/test-stat-time.c (BASE): New macro.
129         Include nap.h.
130         (nap): Remove; nap.h now defines this.  This removes a duplicate
131         implementation of 'nap'.
132
133         utimens, utimensat: work around Solaris UTIME_OMIT bug
134         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
135         Linux kernel 2.6.32 does.  Work around it in the same way.
136         * doc/posix-functions/futimens.texi (futimens):
137         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
138         * lib/utimens.c (fdutimens, lutimens):
139         * lib/utimensat.c (rpl_utimensat): Work around the bug.
140
141         gettext: now it's your responsibility to add -I$(top_builddir)/intl
142         Formerly, it was your responsibility to do this for all Makefile.ams
143         other than Gnulib's.  Now it's your responsibility to do it for
144         Gnulib's Makefile.am, too.
145         * NEWS: Document this.
146         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
147
148         acl: include errno.h to get errno
149         Reported by Daiki Ueno in
150         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
151         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
152
153 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
154
155         tests: don't assume getdtablesize () <= 10000000
156         * modules/cloexec-tests:
157         * modules/dup2-tests:
158         * modules/dup3-tests:
159         * modules/nonblocking-tests:
160         * modules/posix_spawn_file_actions_addclose-tests:
161         * modules/posix_spawn_file_actions_adddup2-tests:
162         * modules/posix_spawn_file_actions_addopen-tests:
163         * modules/unistd-safer-tests:
164         Depend on the getdtablesize module.
165         * tests/test-cloexec.c:
166         * tests/test-dup-safer.c:
167         * tests/test-dup2.c:
168         * tests/test-dup3.c:
169         * tests/test-fcntl.c:
170         * tests/test-nonblocking.c:
171         * tests/test-posix_spawn_file_actions_addclose.c:
172         * tests/test-posix_spawn_file_actions_adddup2.c:
173         * tests/test-posix_spawn_file_actions_addopen.c:
174         Don't assume getdtablesize () <= 10000000.
175
176 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
177
178         extern-inline: work around bug in Sun c99
179         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
180         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
181
182 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
183
184         qacl: new module, broken out from the acl module
185         This is for GNU Emacs, which wants the acl functions but does
186         not want 'error' invoked when they fail.
187         * lib/acl-internal.h: Do not include error.h, quote.h.
188         (ENOSYS, ENOTSUP): Remove; no longer needed.
189         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
190         * lib/acl.h: Include <stdbool.h>.
191         (acl_errno_valid): New function.
192         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
193         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
194         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
195         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
196         (ACL_INTERNAL_INLINE): Remove; no longer needed.
197         * lib/file-has-acl.c (file_has_acl):
198         * lib/qcopy-acl.c (qcopy_acl):
199         * lib/qset-acl.c (qset_acl):
200         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
201         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
202         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
203         lib/file-has-acl.c, m4/acl.m4 to qacl module.
204         Add lib/set-acl.c.
205         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
206         Add qacl.
207         (configure.ac): Move gl_FUNC_ACL to qacl module.
208         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
209         Rename set-mode-acl.c to set-acl.c.
210         * lib/acl-errno-valid.c: New file.
211         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
212         copy_acl function remains in copy-acl.c.
213         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
214         (_): Remove; not needed.
215         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
216         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
217         * modules/qacl: New file, moved from the old modules/acl.
218         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
219         Remove set-mode-acl.c, copy-acl.c.
220         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
221
222         alignof, intprops, malloca: port better to IBM's C compiler
223         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
224         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
225         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
226
227 2013-04-25  Daiki Ueno  <ueno@gnu.org>
228
229         wctype-h: fix gettext link error on mingw
230         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
231         <https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
232         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
233         rpl_towupper and rpl_towupper.
234
235 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
236
237         regex-tests, regex: allow glibc re_search behavior
238         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
239         re_search input data to make the multi-character collating element
240         in it clearly visible, and treat re_search return code 0 as valid.
241         * m4/regex.m4 (gl_REGEX): Likewise.
242
243 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
244
245         stdalign: doc fix
246         * doc/posix-headers/stdalign.texi (stdalign.h):
247         Gnulib doesn't support '_Alignof expr'.
248
249 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
250
251         stdalign: port to stricter ISO C11
252         ISO C11 says that _Alignof's operand must be a parenthesized type.
253         Problem reported by Eli Zaretskii in
254         <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
255         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
256         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
257
258 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
259
260         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
261         Problem reported by Marco Atzeri in
262         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
263         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
264         Simply delegate to the system <sys/select.h> in this case too.
265         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
266         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
267         be needed on Solaris either.
268         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
269         Simply delgate to the system <sys/time.h> in this case.
270
271 2013-03-19  Karl Berry  <karl@gnu.org>
272
273         * build-aux/gnupload: check for erroneous (with gnupload) use of
274         ftp-upload.gnu.org, tweak help.
275
276 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
277
278         copy-file, rpmatch: fix problems found by cppcheck
279         Reported by Arno Onken in
280         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
281         * lib/rpmatch.c (try): Fix memory leak.
282         * lib/copy-file.c: Include "ignore-value.h".
283         (qcopy_file_preserving): Ignore chown value.
284         * modules/copy-file (Depends-on): Add ignore-value.
285
286 2013-01-27  Jim Meyering  <jim@meyering.net>
287
288         prefix-gnulib-mk: give better diagnostics
289         * build-aux/prefix-gnulib-mk: Don't just "die".
290         Give better diagnostics upon failure.
291
292 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
293
294         putenv: port to Solaris 10
295         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
296         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
297         is not what is wanted here.
298         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
299         declaration, not for its existence.
300
301 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
302
303         mktime: fix configure typo
304         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
305
306 2013-03-12  Eric Blake  <eblake@redhat.com>
307
308         regex-tests: skip UTF-8 test on mingw
309         * modules/regex-tests (Depends-on): Add localcharset.
310         * tests/test-regex.c (main): Use it to skip test on mingw.
311
312 2013-03-11  Eric Blake  <eblake@redhat.com>
313
314         tests: make it easier to bypass alarm time in debugger
315         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
316         * tests/test-memmem.c (main): Likewise.
317         * tests/test-passfd.c (main): Likewise.
318         * tests/test-ptsname.c (main): Likewise.
319         * tests/test-ptsname_r.c (main): Likewise.
320         * tests/test-strcasestr.c (main): Likewise.
321         * tests/test-strstr.c (main): Likewise.
322
323         regex: port to mingw's recent addition of undeclared alarm
324         * doc/posix-functions/alarm.texi (alarm): Document that alarm
325         exists but still doesn't work in newer mingw.
326         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
327         not existence.  Ensure SIGALRM is not trapped.
328         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
329         * m4/regex.m4 (gl_REGEX): Likewise.
330         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
331         * tests/test-regex.c (main): Use correct probe for alarm.
332
333         putenv: avoid compilation warning on mingw
334         * lib/putenv.c (_unsetenv): Protect variable declaration.
335         (putenv): Fix indentation.
336
337 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
338
339         unistd: don't prevent Tru64 Unix from using gnulib strtod.
340         * lib/unistd.in.h: be careful not to include un-needed system
341         stdlib.h from here, because that prevents gnulib stdlib.h from
342         defining rpl_strtod correctly.
343
344 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
345
346         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
347         changesets, but for the 'precision 0' test.
348         * tests/test-vasprintf-posix.c (test_function): Don't insist on
349         round-to-even, since POSIX says rounding is implementation-defined
350         and OS X 10.8.2 rounds 1.51 to 1 here.
351
352         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
353         changeset.
354         * tests/test-vasprintf-posix.c (test_function): Don't insist on
355         round-to-even, since POSIX says rounding is implementation-defined
356         and OS X 10.8.2 rounds 1.5 to 1 here.
357
358 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
359
360         vasnprintf-posix-tests: allow rounding 1.5 to 1
361         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
362         round-to-even, since POSIX says rounding is implementation-defined
363         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
364         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
365
366         bootstrap: port to FreeBSD
367         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
368         that treat '--' differently.  Reported by Mats Erik Andersson in
369         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
370
371 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
372
373         regex: rename remaining __attribute calls to __attribute__.
374         2012-02-25 changed definition of __attribute, but left some uses
375         unchanged, preventing compilation of regex module on most non-gcc
376         environments.
377         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
378         (lookup_collation_sequence_value, build_range_exp)
379         (build_collating_symbol): Set attributes with newly renamed
380         __attribute__ decorator.
381         * lib/regex_internal.c (re_string_peek_byte_case)
382         (re_node_set_compare, re_node_set_contains): Likewise.
383         * lib/regexec.c (acquire_init_state_context): Likewise.
384
385 2013-03-06  Bruno Haible  <bruno@clisp.org>
386
387         execute: Revert last change, but use a different condition.
388         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
389         on Windows.
390
391 2013-03-05  Eric Blake  <eblake@redhat.com>
392
393         execute: drop dead code
394         * lib/execute.c (nonintr_close, nonintr_open): Delete.
395
396 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
397
398         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
399         * m4/non-recursive-gnulib-prefix-hack.m4
400         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
401         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
402         <http://bugs.gnu.org/10305#237>.
403
404 2013-03-04  Eric Blake  <eblake@redhat.com>
405
406         test-getsockopt: avoid compiler warning
407         * tests/test-getsockopt.c (includes): Ensure close is declared.
408
409 2013-03-02  Bruno Haible  <bruno@clisp.org>
410
411         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
412         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
413
414 2013-03-02  Bruno Haible  <bruno@clisp.org>
415
416         gettext: Update to version 0.18.2.
417         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
418         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
419                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
420
421 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
422
423         regex: merge patches from libc
424
425         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
426         * lib/regex_internal.h (__attribute__): Rename from __attribute.
427         All uses changed.
428         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
429         (re_string_wchar_at, re_string_elem_size_at):
430         Mark function as possibly unused.
431
432         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
433         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
434         elements compare against the byte sequence of it, not its name.
435
436 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
437
438         putenv: port better to native Windows
439         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
440         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
441         (_unsetenv): Use _putenv if available.
442         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
443         a bit less likely to cause damage.
444         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
445         Fix the wrong value with SetEnvironmentVariable.
446         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
447         code better.
448
449 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
450
451         regex: ignore old-style-definition warnings
452         * lib/regex.c: Add pragma to ignore these warnings.
453         Problem reported for GNU tar by Pavel Raiskup.
454
455 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
456
457         getcwd: support coreutils better
458         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
459         but this might not be correct in coreutils, which disables
460         the raw decl checks.  Problem reported by Nagendra in
461         <http://bugs.gnu.org/10305#192>.
462         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
463         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
464         Test the getcwd function, not any macro, since getcwd.c wants the
465         function.
466         * m4/getcwd.m4 (gl_FUNC_GETCWD):
467         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
468         compile, as might happen if there's a macro but no function.
469
470         strtod: support coreutils better
471         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
472         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
473         disables the raw decl checks.  This assumes there is an underlying
474         strtod, but that's a safe assumption these days.
475         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
476
477         mountlist: port to HP NonStop
478         Reported by Joachim Schmitz in
479         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
480         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
481         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
482
483 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
484
485         extern-inline: avoid compilation error with HP-UX cc
486         Reported by Richard Lloyd in
487         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
488         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
489         Suppress extern inline with HP-UX cc.  This should be safe,
490         though it may hurt performance.  Perhaps someone with some HP-UX
491         experience can come up with a higher-performance fix.
492
493 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
494
495         putenv: fix heap corruption with mixed putenv/_putenv
496         Problem reported by Michael Goffioul in
497         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
498         * lib/putenv.c (putenv) [HAVE__PUTENV]:
499         Rely on _putenv to allocate the new environment.
500         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
501         * modules/putenv (configure.ac): Use it.
502
503 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
504
505         unsetenv etc.: port to Solaris 11 + GNU Emacs
506         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
507         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
508         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
509         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
510         idea but is too painful to fix right now), and without this gnulib
511         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
512         compiling unsetenv.c on Solaris 11.  Fix the problem for
513         unsetenv.c, and fix other similar occurrences.
514
515 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
516
517         secure_getenv: fix C++ declaration typo
518         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
519         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
520         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
521
522 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
523
524         careadlinkat: stop exporting careadlinkatcwd
525         Only Emacs used it directly, and Emacs no longer needs it.
526         * NEWS: Document this simplification.
527         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
528         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
529         for readlink.
530         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
531         Don't include stdlib.h; no longer needed.
532         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
533         * lib/relocwrapper.c: Adjust comment to match new dependencies.
534         * modules/areadlink (Depends-on): Add readlink.
535         (Maintainer): Add self.
536         * modules/careadlinkat (Depends-on): Remove readlink.
537
538         extensions: port better to HP-UX
539         This is merged from git Autoconf.
540         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
541         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
542         so that it's compatible with the value used when compiling.
543
544         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
545         Problem reported by Mats Erik Andersson in
546         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
547         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
548         openpty function exists, not merely when we intend to replace it.
549         This corrects the 2013-01-31 patch, which mistakenly defined
550         HAVE_OPENPTY even on hosts that lacked it.
551
552 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
553
554         secure_getenv: fix include typo
555         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
556
557         secure_getenv: port better to FreeBSD and Solaris
558         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
559         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
560         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
561         This works better on BSDish platforms.
562         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
563         Test for issetugid if __secure_getenv is missing.
564
565 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
566
567         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
568         Some of these changes are merged in from git Autoconf.
569         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
570         When deciding whether to define _XOPEN_SOURCE, inspect the
571         preprocessor macro __hpux instead of the more-heavyweight
572         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
573         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
574         as the key for __EXTENSIONS__.
575
576         unistd: avoid namespace pollution on non-glibc systems
577         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
578         This avoids namespace pollution on non-glibc systems, by causing
579         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
580         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
581         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
582
583 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
584
585         tmpdir: use secure_getenv
586         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
587         Define to secure_getenv, not getenv.
588         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
589         as that's now secure_getenv's job.
590         * modules/tmpdir (Depends-on): Add secure_getenv.
591
592         tempname: use secure_getenv
593         * lib/tempname.c (__secure_getenv) [!_LIBC]:
594         Define to secure_getenv, not getenv.
595         * modules/tempname (Depends-on):
596         Add secure_getenv.
597
598         secure_getenv: new module
599         * MODULES.html.sh (Extra functions based on ANSI C 89):
600         Add secure_getenv.
601         * doc/glibc-functions/secure_getenv.texi: New file.
602         * doc/gnulib.texi: Include it.
603         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
604         New files.
605         * lib/stdlib.in.h (secure_getenv): New decl.
606         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
607         * modules/stdlib (stdlib.h):
608         Add secure_getenv checks.
609
610 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
611
612         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
613         Reported for OS X 10.8.2 by Assaf Gordon in
614         <http://bugs.gnu.org/13516>.
615         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
616         !HAVE_OPENAT && !HAVE_FDOPENDIR.
617         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
618         so that they can be kept in sync more easily.  Avoid PATH_MAX
619         test on the Hurd.  Sync from test-getcwd.c for errno tests after
620         mkdir or chdir failure.
621         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
622         lib/getcwd.c.
623         (test_abort_bug): Do not test for the deep directory bug unless we
624         have openat support.  Avoid PATH_MAX test on the Hurd.
625
626         regex-tests, regex: fix bug: memset undeclared
627         * tests/test-regex.c: Don't include regex.h twice.  Include
628         string.h, to declare memset.  Christensen's report also mentioned
629         this issue.
630         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
631         test-regex.c, to avoid future problems like this.  Remove
632         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
633         twice.
634
635         regex-tests: fix link errors on older Solaris
636         These need to link with @LIBINTL@ to get libintl_gettext.
637         Problem reported by Tom G. Christensen in
638         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
639         * modules/regex-tests (test_regex_LDADD): New macro.
640
641 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
642
643         regex-tests: new module
644         * modules/regex-tests, tests/test-regex.c: New files.
645
646         regex: fix off-by-one error in configure test
647         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
648
649 2013-01-31  Eric Blake  <eblake@redhat.com>
650
651         regex: avoid infinite configure test
652         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
653
654 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
655
656         openpty: fix bug where HAVE_OPENPTY wasn't defined
657         See the thread starting at:
658         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
659         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
660         openpty function exists, not merely when we intend to replace it.
661
662 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
663
664         sys_time: port to Solaris 2.6
665         There is a circularity problem on Solaris 2.6, where <time.h> includes
666         <sys/time.h> for struct timespec.  The include nesting is gnulib
667         <time.h>, system <time.h>, gnulib <sys/time.h>, system
668         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
669         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
670         <sys/siginfo.h>; the last, innermost file needs struct
671         timestruc_t, which is defined in <sys/time.h>, which has not been
672         fully parsed.  Problem reported by Tom G. Christensen in
673         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
674         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
675         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
676         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
677         uses split double-inclusion guards.
678
679 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
680
681         regex: test for buffer overrun
682         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
683         for the just-fixed regex bug.
684
685 2013-01-29  Andreas Schwab  <schwab@suse.de>
686
687         regex: fix buffer overrun in regexp matcher [BZ #15078]
688         * lib/regexec.c (extend_buffers): Add parameter min_len.
689         (check_matching): Pass minimum needed length.
690         (clean_state_log_if_needed): Likewise.
691         (get_subexp): Likewise.
692
693 2013-01-28  Pádraig Brady  <P@draigBrady.com>
694
695         mountlist: don't consider "devtmpfs" as dummy
696         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
697         as there is storage associcated with it.
698
699 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
700
701         futimens-tests, utimens-tests: Depend on gettext.
702         This works around a problem introduced in my 2013-01-12 patch,
703         which added @LIBINTL@ to these modules.
704         * modules/futimens-tests (Depends-on):
705         * modules/utimens-tests (Depends-on): Add gettext.
706
707 2013-01-26  Eric Blake  <eblake@redhat.com>
708
709         test-getpeername: fix typo
710         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
711
712 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
713
714         bootstrap: remove the need for a sorted .gitignore file
715         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
716         rename to insert_if_absent(), so that we don't need or generate
717         a sorted .gitignore file.  We do require a .gitignore with no
718         existing duplicate entries and enforce that.
719         (sort_patterns): Remove this function as we now use the simpler
720         technigue of inserting blacklist entries at the top of the file,
721         assuming gnulib won't be inserting !whitelist entries.
722
723 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
724
725         readlinkat: don't depend on gl_FUNC_OPENAT
726         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
727         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
728         renameat.m4, symlinkat.m4; but one thing at a time.
729
730         statat: new module, split out from fstatat
731         GNU Emacs needs the POSIX-specified fstatat, but not the
732         gnulib-specified statat and lstat.  Split the latter two into a
733         new module 'statat'.
734         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
735         * lib/openat.h, lib/statat.c (STATAT_INLINE):
736         Rename from FSTATAT_INLINE. All uses changed.
737         * modules/fstatat (Files): Remove lib/statat.c.
738         (gl_MODULE_INDICATOR([fstatat])): Remove.
739         (lib_SOURCES): Remove.
740         (Maintainer): Add self.
741         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
742         * tests/test-fstatat.c (BASE): Don't define if already defined.
743         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
744
745 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
746
747         tests: don't assume fd 99 is closed
748         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
749         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
750         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
751         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
752         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
753         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
754         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
755         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
756         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
757         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
758         * tests/test-fwrite.c, tests/test-getpeername.c:
759         * tests/test-getsockname.c, tests/test-getsockopt.c:
760         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
761         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
762         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
763         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
764         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
765         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
766         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
767         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
768         * tests/test-unlinkat.c, tests/test-unlockpt.c:
769         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
770         Close file descriptor 99, instead of assuming it's already closed.
771
772 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
773
774         stpncpy: port to OS X 10.8
775         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
776         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
777
778 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
779
780         unistd: port to recent mingw
781         * lib/unistd.in.h: Remove special invocation convention for mingw,
782         which breaks for the latest mingw version.  See John W. Eaton in
783         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
784
785         largefile: port better to Mac OS X 10.5
786         This patch is backported from Autoconf git.
787         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
788         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
789         with ino_t size being different for configuration time versus
790         build/run time.  Problem reported by PHO in
791         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
792
793 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
794
795         doc: clarify -Werror
796         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
797         clarify that it's intended for developers, not for ordinary builds,
798         and mention --enable-gcc-warnings as one possible use.
799
800 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
801
802         stdint: fix build with Android's Bionic fox x86
803         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
804         was already included as _SSIZE_T_DEFINED_ might also be defined
805         in include/machine/_types.h, which is included by stdio.h
806
807 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
808
809         net_if-tests: port to Solaris 7 + GCC 3.4.6
810         Problem reported by Tom G. Christensen in
811         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
812         * tests/test-net_if.c (ni): Move to next the code that uses it,
813         so that it's declared only if needed.
814
815 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
816
817         net_if-tests: port to older Solaris
818         Problem reported by Tom G. Christensen in
819         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
820         * modules/net_if-tests (NET_IF_LIB): New substitution.
821         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
822         (HAVE_IF_NAMEINDEX): New C macro.
823         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
824
825         system-quote-tests: port to older Solaris
826         Problem reported by Tom G. Christensen in
827         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
828         * tests/test-system-quote-child.c (fopen, fread): Undef.
829
830         c-xvasprintf etc.: fix link errors on older Solaris
831         These need to link with @LIBINTL@ to get libintl_gettext.
832         Problem reported by Tom G. Christensen in
833         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
834         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
835         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
836         * modules/futimens-tests (test_futimens_LDADD):
837         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
838
839 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
840
841         locale: port to Solaris 2.6 and 7 + GNU gettext
842         * lib/locale.in.h: Just include_next <locale.h> when
843         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
844         when combining the localename module with GNU gettext 0.18.2.
845         Problem reported by Tom G. Christensen in
846         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
847
848 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
849
850         stdlib: port to Solaris 2.6
851         Also, the code worked on Solaris 7 through 9 only by accident.
852         Problem reported by Tom G. Christensen in
853         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
854         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
855         simply include the system stdlib.h.
856         * lib/getopt.in.h (__need_system_stdlib_h):
857         * lib/pthread.in.h (__need_system_stdlib_h):
858         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
859         Define when including <stdlib.h>, to avoid problems at least for
860         the pthread case on Solaris 2.6 and 7.  These .h files can get by
861         with the system stdlib.h.
862
863 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
864
865         doc: update main copyright year
866         * doc/gnulib.texi: Update copyright date.
867
868         doc: improve ISO 8601 discussion
869         * doc/parse-datetime.texi (Combined date and time of day items):
870         Specify more carefully what formats are supported and what is
871         done with excess precision.
872
873 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
874
875         doc: avoid small caps
876         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
877         they're more trouble than they're worth.  Suggested by Karl Berry
878         in <http://bugs.gnu.org/13360>.
879
880         regex: conform to strict C
881         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
882         From Aharon Robbins.
883
884         gnulib-tool: fix incompatibility with autopoint 0.18.2
885         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
886         Problem reported by Tom G. Christensen in
887         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
888
889 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
890
891         fprintftime: bring back and reword fwrite comment
892         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
893
894         stdio: remove now-unnecessary stdio.c
895         Since stdio.in.h no longer uses inline functions, we no longer
896         need to compile the extern versions.
897         * lib/stdio.c: Remove.
898         * modules/stdio (Files): Remove lib/stdio.c.
899         (lib_SOURCES): Remove.
900
901         unicodeio: depend on stdio, not ignore-value
902         * lib/unicodeio.c: Do not include ignore-value.h.
903         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
904         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
905
906         fprintftime: depend on stdio, not ignore-value
907         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
908         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
909         since the stdio module arranges to silence that warning now.
910         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
911
912 2012-10-04  Simon Josefsson  <simon@josefsson.org>
913
914         stdint-tests: Fix expanded-before-required-warning.
915         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
916
917 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
918
919         fwrite: silence __wur only for older glibc versions
920         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
921         This will help us remove this workaround some time in the far future.
922
923 2013-01-03  Eric Blake  <eblake@redhat.com>
924
925         fwrite: silence __wur without using inline
926         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
927         just gcc, and in a way that avoids inline issues.
928         * modules/stdio (Depends-on): Drop extern-inline.
929
930 2013-01-03  Jim Meyering  <jim@meyering.net>
931
932         update-copyright: avoid copyright notice date corruption
933         Given a sequence of copyright year numbers in which the final
934         one was a two-digit number that happened to be a substring of
935         a preceding four-digit year number, we would mistakenly update
936         the substring (from two- to four-digit) rather than the two-digit
937         number at the end, which, combined with the addition of the current
938         4-digit year number would yield two 5-digit year numbers, e.g.,
939         here, it would convert the first "99" to "1999, 2013" rather than
940         the final one:
941           1991, 99
942           11999, 20131, 1999
943         * build-aux/update-copyright: Tighten a regexp.
944         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
945         Reported by Joseph Myers in
946         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
947
948 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
949
950         regex: omit needless signed-pointer casts
951         * lib/regcomp.c (build_charclass, build_charclass_op):
952         Use char *, not unsigned char *, for class name and extra.
953         The char values are always nonnegative so there's no need to
954         insist on unsigned char * here, and using char * removes the need
955         for casts.  Reported by Aharon Robbins in
956         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
957
958         regex: support Gawk, which never uses alloca
959         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
960         Do not include in this case.  Gawk doesn't supply a substitute
961         alloca.h and doesn't need one.
962
963         regex: port __libc_lock_define usage to C89
964         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
965         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
966         does not conform to C89, as it has an empty macro argument.
967         Reported by Aharon Robbins in
968         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
969
970 2013-01-01  Eric Blake  <eblake@redhat.com>
971
972         maint: update all copyright year number ranges
973         Run "make update-copyright".
974
975         version-etc: bump copyright year reported in --version
976         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
977
978 2012-12-31  Eric Blake  <eblake@redhat.com>
979
980         sigprocmask-tests: skip test if pid is unexpectedly large
981         * tests/test-sigprocmask.c (main): Add range check.
982
983         git-version-gen: avoid test -z portability glitch
984         * build-aux/git-version-gen: Prefer portable test spelling, since
985         git-version-gen is run on more than just developer machines.
986
987 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
988
989         git-version-gen: add --fallback option to use if git is not present
990         * build-aux/git-version-gen: Add support for the new option --fallback,
991         which comes into play when there is no $tarball_version_file and
992         git is not working.
993         (scriptversion): Update.
994
995         maint.mk: handle missing git with more grace
996         * top/maint.mk (no-submodule-changes, public-submodule-commit):
997         Quietly proceed if git is not present.
998
999 2012-12-31  Eric Blake  <eblake@redhat.com>
1000
1001         dup2: work around cygwin bug
1002         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
1003         * lib/dup2.c (rpl_dup2): Work around it.
1004         * doc/posix-functions/dup2.texi (dup2): Document it.
1005
1006 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
1007
1008         regex: remove unnecessary dependency on localcharset.h
1009         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
1010         hasn't been needed for years.
1011         * modules/regex (Depends-on): Remove localcharset.
1012
1013         regex: revert single-byte change
1014         * lib/regexec.c (check_node_accept_bytes): Revert previous change
1015         to this function.  This was alredy fixed in a different way, at
1016         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
1017         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
1018         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
1019
1020         regex: simplify based on Gawk version
1021         * lib/regex_internal.c (re_dfa_add_node): Simplify.
1022         Reported by Aharon Robbins in
1023         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1024
1025 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1026
1027         regex: check that pattern char is single-byte
1028         Reported by Aharon Robbins in
1029         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1030         * lib/regexec.c (check_node_accept_bytes):
1031         Return 0 if the pattern string has a multibyte character here.
1032
1033         regex: implement rational ranges
1034         Reported by Aharon Robbins in
1035         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1036         * lib/regcomp.c (build_range_exp) [!_LIBC]:
1037         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
1038         Implement rational ranges.
1039
1040         regex: avoid redefining __wctype
1041         Reported by Aharon Robbins in
1042         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1043         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
1044         #undef before defining.
1045
1046         regex: port to hosts where malloc (0) == NULL
1047         Reported by Aharon Robbins in
1048         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1049         * lib/regex_internal.c (re_node_set_alloc):
1050         Don't assume that malloc (0) yields nonnull.
1051         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
1052         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
1053         * modules/regex (Files): Add m4/eealloc.m4.
1054
1055         regex: port to C89
1056         Reported by Aharon Robbins in
1057         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1058         * lib/regcomp.c (init_word_char): Declaration before statement.
1059
1060         regex: merge glibc changes
1061         Also, copy the license wording from glibc.  This simplifies
1062         merging changes.  gnulib-tool will change the wording to GPL as
1063         appropriate, when importing it to other packages.  The only
1064         glibc change made since the last merge, which needs merging, is:
1065         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
1066         * lib/regex_internal.h (gettext): Remove use of INTUSE.
1067
1068         * users.txt: Add Emacs.
1069
1070         doc: omit mention of version when not needed
1071         * doc/gnulib-intro.texi (Portability and Application Code):
1072         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
1073         Don't mention particular dates or versions when not necessary, so
1074         that the documentation won't go out of date so quickly.
1075
1076         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
1077
1078 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
1079
1080         bootstrap: pass --force to autoreconf.
1081         * build-aux/bootstrap (AUTORECONFFLAGS): New.
1082         Add "--force" so that Automake's ylwrap and other such tools
1083         be updated at each bootstrap invocation.
1084         Use it.
1085
1086 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1087
1088         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
1089         The earlier patch forgot to update one of the #if conditions, causing
1090         a problem on Debian testing i386 reported by Mats Erik Andersson
1091         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
1092         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
1093         (__argp_fmtstream_puts, argp_fmtstream_puts)
1094         (__argp_fmtstream_write, argp_fmtstream_write)
1095         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
1096
1097         * doc/gnulib-readme.texi: Minor fixups.
1098         (Portability guidelines): Modernize URLs.  Remove some repetition.
1099         (Indent with spaces not TABs): Reword to avoid too-long lines.
1100         Remove some '@ifset standalone' stuff that isn't used.
1101
1102         * doc/gnulib-readme.texi (Portability guidelines):
1103         ctype.h, not ctime.h.
1104
1105         Correct name of POSIX.1-2001.
1106         * doc/posix-functions/fgetc.texi (fgetc):
1107         * doc/posix-functions/fgets.texi (fgets):
1108         * doc/posix-functions/fread.texi (fread):
1109         * doc/posix-functions/fscanf.texi (fscanf):
1110         * doc/posix-functions/getc.texi (getc):
1111         * doc/posix-functions/getchar.texi (getchar):
1112         * doc/posix-functions/scanf.texi (scanf):
1113         POSIX.1-2001, not POSIX-2001.
1114
1115         doc: move README into manual
1116         * README: Move contents to new file doc/gnulib-readme.texi.
1117         Replace with a one-line summary.
1118         * doc/gnulib.texi (Brief Overview): New section,
1119         with old intro preface.  Include gnulib-readme.texi for contents.
1120         (Philosophy): Rename from "Introduction", since this
1121         section no longer introduces the rest.  Write a new preface.
1122         * doc/gnulib-readme.texi: New file, with the old contents of
1123         README texinfo-ized.  This way, the README info appears
1124         in the online and printed manual.
1125
1126 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
1127
1128         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
1129         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
1130         c_vasprintf() prototype.
1131
1132 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
1133
1134         c-vasprintf: Fix "empty declaration" warning reported by GCC.
1135         * lib/c-vasprintf.h: Remove stray semicolon.
1136
1137 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1138
1139         gettext: avoid obsolete macro AM_PROG_MKDIR_P
1140         It is obsolete and is planned to be removed from Automake 1.14; see
1141         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
1142         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
1143         (installdirs-data, installdirs-data-yes):
1144         Use $(MKDIR_P), not $(mkdir_p).
1145         * m4/intl.m4 (AM_INTL_SUBDIR):
1146         * m4/po.m4 (AM_PO_SUBDIRS):
1147         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
1148
1149 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
1150
1151         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
1152         On this platform, we are not optimizing but we are using
1153         the substitute for extern inlines, so compile as if
1154         C99-style extern inline, or a substitute, is available.
1155         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
1156         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
1157         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
1158         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
1159         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
1160         Declare as ARGP_FS_EI, not as extern.
1161         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
1162         (__option_is_short, _option_is_end, __option_is_end)
1163         [!_LIBC && __USE_EXTERN_INLINES]:
1164         Declare as ARGP_EI, not as extern.
1165
1166 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1167
1168         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
1169         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
1170         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
1171         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
1172         ...), as the latter is fatal with older Autoconfs.
1173         Problem reported and fix suggested by Eric Blake in thread starting at
1174         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
1175
1176 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1177
1178         AC_PROG_MKDIR_P: don't workaround if not buggy
1179         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
1180         Define only for Autoconf versions before 2.62.
1181         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
1182         undocumented m4_PACKAGE_VERSION, for consistency with the
1183         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
1184         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
1185         was introduced in 2.62.
1186
1187 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
1188
1189         New 'c-*printf' modules for formatted output in C locale.
1190
1191         New module 'c-vasnprintf'.
1192         * modules/c-vasnprintf: New file.
1193         * lib/c-vasnprintf.c: New file.
1194         * lib/c-vasnprintf.h: New file.
1195
1196         New module 'c-snprintf'.
1197         * modules/c-snprintf: New file.
1198         * modules/c-snprintf-tests: New file.
1199         * lib/c-snprintf.c: New file.
1200         * lib/c-snprintf.h: New file.
1201         * tests/test-c-snprintf.c: New file.
1202         * tests/test-c-snprintf.sh: New file.
1203
1204         New module 'c-vsnprintf'.
1205         * modules/c-vsnprintf: New file.
1206         * modules/c-vsnprintf-tests: New file.
1207         * lib/c-vsnprintf.c: New file.
1208         * lib/c-vsnprintf.h: New file.
1209         * tests/test-c-vsnprintf.c: New file.
1210         * tests/test-c-vsnprintf.sh: New file.
1211
1212         New module 'c-vasprintf'.
1213         * modules/c-vasprintf: New file.
1214         * modules/c-vasprintf-tests: New file.
1215         * lib/c-asprintf.c: New file.
1216         * lib/c-vasprintf.c: New file.
1217         * lib/c-vasprintf.h: New file.
1218         * tests/test-c-vasprintf.c  +: New file.
1219         * tests/test-c-vasprintf.sh: New file.
1220
1221         New module 'c-xvasprintf'.
1222         * modules/c-xvasprintf: New file.
1223         * modules/c-xvasprintf-tests: New file.
1224         * lib/c-xasprintf.c: New file.
1225         * lib/c-xvasprintf.c: New file.
1226         * lib/c-xvasprintf.h: New file.
1227         * tests/test-c-xvasprintf.c: New file.
1228         * tests/test-c-xvasprintf.sh: New file.
1229
1230 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1231
1232         argp: better 'inline'
1233         Use extern-inline module to declare extern inline functions.
1234         This avoids some bogus warning diagnostics.  Problem discovered
1235         when modifying GNU tar to use the manywarnings module.
1236         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
1237         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
1238         Define based on extern-inline.
1239         * modules/argp (Depends-on): Add extern-inline.
1240
1241 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1242
1243         filemode, sys_stat: Handle MPX files a la AIX.
1244         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
1245         * lib/sys_stat.in.h (S_ISMPX): New macro.
1246         * tests/test-sys_stat.c: Add tests for MPX files.
1247
1248 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
1249
1250         x-to-1: honor $PERL
1251         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
1252         a chance to use his preferred version of Perl.  This is typically
1253         required by Darwin users whose default /usr/bin/perl does not have all
1254         the libraries required by help2man, and who need to use their MacPorts
1255         installation of Perl instead.
1256
1257 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1258
1259         gnu-web-doc-update: add all the new files, even in new directories
1260         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
1261         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
1262         Use it.
1263         (main): Don't use cvsutils to get the list of unknown files,
1264         just add all the existing files and directories.
1265
1266 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1267
1268         gnu-web-doc-update: improve --help
1269         * build-aux/gnu-web-doc-update: Move comments into --help.
1270
1271 2012-12-07  Eric Wong  <normalperson@yhbt.net>
1272
1273         mountlist: recognize more "dummy" file systems
1274         * lib/mountlist.c (ME_DUMMY_0):
1275         Add these dummy FS names to the list:
1276         - "debugfs" virtual filesystem for kernel debugging
1277         - "devpts" PTY slave filesystem
1278         - "devtmpfs" device filesystem on top of tmpfs/ramfs
1279         - "fusectl" control filesystem for FUSE
1280         - "mqueue" enumerates POSIX message queues
1281         - "rpc_pipefs" kernel <-> userspace bridge for NFS
1282         - "sysfs" is for exporting kernel objects
1283         - "devfs" device filesystem for Linux 2.4 and FreeBSD
1284
1285 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1286
1287         extern-inline: avoid incompatibility with Darwin Libc
1288         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
1289         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
1290         Problem reported by Akim Demaille in
1291         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
1292
1293 2012-12-11  Simon Josefsson  <simon@josefsson.org>
1294
1295         gnupload: Work with GnuPG using gpg-agent (for smartcards).
1296         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
1297         let it handle password prompting.
1298
1299 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
1300
1301         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
1302         * lib/canonicalize.c (canonicalize_filename_mode):
1303         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
1304         fetching the current directory.  Don't overrun the beginning of
1305         rpath if there's no slashes after the MS-Windows drive letter.
1306
1307 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1308
1309         maint.mk: avoid extra forks
1310         * top/maint.mk (_cfg_mk): The GNU make manual documents that
1311         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
1312         So use that instead of "$(shell test -f FILE && echo FILE)".
1313
1314 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
1315
1316         vasnprintf: fix ASCII_ONLY typo
1317         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1318         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1319         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1320         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
1321         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
1322
1323 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1324
1325         list, oset, xlist, xoset: fix extern inline issue with C99
1326         This was introduced by my recent changes for 'inline'.
1327         Problem reported for gettext by Daiki Ueno in
1328         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
1329         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
1330         (gl_list_nx_create, gl_list_size, gl_list_node_value)
1331         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
1332         (gl_list_previous_node, gl_list_get_at)
1333         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
1334         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
1335         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
1336         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
1337         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
1338         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
1339         (gl_list_iterator_free, gl_sortedlist_search)
1340         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
1341         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
1342         (gl_sortedlist_remove):
1343         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
1344         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
1345         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
1346         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
1347         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
1348         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
1349         (gl_list_add_at, gl_sortedlist_add):
1350         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
1351         Wrap these extern decls inside "#if 0", because they are implemented
1352         as inline functions, and extern inline is not what's wanted here.
1353         It would simplify these .h files to remove the extern decls entirely,
1354         although a downside would be less-clear separation between
1355         specification and implementation.
1356
1357 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
1358
1359         sys_stat: no 'static inline'
1360         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
1361         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
1362
1363         extern-inline: no 'static inline'
1364         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
1365         Do not require AC_C_INLINE.
1366         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
1367         'static inline', for older compilers.
1368
1369         snippet/warn-on-use: no 'static inline'
1370         * build-aux/snippet/warn-on-use.h:
1371         Remove unnecessary 'inline' in comment.
1372
1373         rbtree-list, rbtreehash-list: no 'static inline'
1374         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
1375         * lib/gl_anytree_list2.h (node_at):
1376         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
1377         (gl_oset_first, add_nodes_to_buckets):
1378         Now static, not static inline.
1379
1380         regex: no 'static inline'
1381         * lib/regex_internal.c (calc_state_hash):
1382         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
1383         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1384         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
1385         Now static, not static inline.
1386         (inline) [__GNUC__ < 3 && _LIBC]:
1387         Remove macro; no longer needed.
1388
1389         xvasprintf: no 'static inline'
1390         * lib/xvasprintf.c (xstrcat):
1391         Now static, not static inline.
1392         * m4/xvasprintf.m4 (gl_XVASPRINTF):
1393         Do not require AC_C_INLINE.
1394
1395         parse-datetime, parse-duration: no 'static inline'
1396         * lib/parse-datetime.y (to_uchar):
1397         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
1398         (scale_n_add):
1399         Now static, not static inline.
1400         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
1401         * modules/parse-duration (configure.ac):
1402         Do not require AC_C_INLINE.
1403
1404         getaddrinfo: no 'static inline'
1405         * lib/getaddrinfo.c (validate_family):
1406         Now static, not static inline.
1407         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
1408         Do not require AC_C_INLINE.
1409
1410         ftruncate, fts, lstat, openat, raise: no 'static inline'
1411         * lib/ftruncate.c (chsize_nothrow):
1412         * lib/fts.c (opendirat, diropen):
1413         * lib/lstat.c (orig_lstat):
1414         * lib/openat.c (orig_openat):
1415         * lib/raise.c (raise_nothrow):
1416         Now static, not static inline.
1417         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
1418         * m4/fts.m4 (gl_FUNC_FTS_CORE):
1419         * m4/lstat.m4 (gl_PREREQ_LSTAT):
1420         * m4/openat.m4 (gl_PREREQ_OPENAT):
1421         * m4/raise.m4 (gl_PREREQ_RAISE):
1422         Do not require AC_C_INLINE.
1423
1424         fflush, stat: no 'static inline'
1425         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
1426         (clear_ungetc_buffer, disable_seek_optimization)
1427         (restore_seek_optimization, update_fpos_cache):
1428         * lib/stat.c (orig_stat):
1429         Now static, not static inline.
1430         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
1431         (update_fpos_cache):
1432         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
1433         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
1434         * m4/stat.m4 (gl_PREREQ_STAT):
1435         Do not require AC_C_INLINE.
1436
1437         error, filevercmp: no 'static inline'
1438         * lib/error.c (is_open, flush_stdout):
1439         * lib/filevercmp.c (order):
1440         Now static, not static inline.
1441         * m4/error.m4 (gl_PREREQ_ERROR):
1442         * modules/filevercmp (configure.ac):
1443         Do not require AC_C_INLINE.
1444
1445         dup, execute, fatal-signal, etc.: no 'static inline'
1446         * lib/dup.c (dup_nothrow):
1447         * lib/execute.c (nonintr_close, nonintr_open):
1448         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
1449         * lib/fopen.c (orig_fopen):
1450         * lib/freadseek.c (freadptrinc):
1451         * lib/freopen.c (orig_freopen):
1452         * lib/fstat.c (orig_fstat, fstat_nothrow):
1453         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
1454         (get_rusage_as_via_iterator):
1455         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
1456         * lib/getdtablesize.c (_setmaxstdio_nothrow):
1457         * lib/isatty.c (_isatty_nothrow):
1458         * lib/open.c (orig_open):
1459         * lib/read.c (read_nothrow):
1460         * lib/sigprocmask.c (signal_nothrow):
1461         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
1462         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
1463         * lib/wait-process.c (unregister_slave_subprocess):
1464         * lib/write.c (write_nothrow):
1465         Now static, not static inline.
1466         * lib/spawn-pipe.c (nonintr_open): Define only if
1467         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
1468         * m4/dup.m4 (gl_PREREQ_DUP):
1469         * m4/execute.m4 (gl_EXECUTE):
1470         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
1471         * m4/fopen.m4 (gl_PREREQ_FOPEN):
1472         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
1473         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
1474         * m4/fstat.m4 (gl_PREREQ_FSTAT):
1475         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
1476         * m4/isatty.m4 (gl_PREREQ_ISATTY):
1477         * m4/open.m4 (gl_PREREQ_OPEN):
1478         * m4/read.m4 (gl_PREREQ_READ):
1479         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
1480         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
1481         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
1482         * m4/wait-process.m4 (gl_WAIT_PROCESS):
1483         * m4/write.m4 (gl_PREREQ_WRITE):
1484         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
1485         Do not require AC_C_INLINE.
1486
1487         c-strtod, memcoll, readutmp: no 'static inline'
1488         * lib/c-strtod.c (c_locale):
1489         * lib/memcoll.c (strcoll_loop):
1490         * lib/readutmp.c (desirable_utmp_entry):
1491         Now static, not static inline.
1492         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
1493         * m4/memcoll.m4 (gl_MEMCOLL):
1494         * m4/readutmp.m4 (gl_READUTMP):
1495         Do not require AC_C_INLINE.
1496
1497         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
1498         * lib/arctwo.c (to_uchar):
1499         * lib/md4.c (set_uint32):
1500         * lib/md5.c (set_uint32):
1501         * lib/sha1.c (set_uint32):
1502         * lib/sha256.c (set_uint32):
1503         * lib/sha512.c (set_uint64):
1504         Now static, not static inline.  This is a bit simpler, and doesn't
1505         affect performance with GCC and default optimization.
1506         * m4/arctwo.m4 (gl_ARCTWO):
1507         * m4/md4.m4 (gl_MD4):
1508         * m4/md5.m4 (gl_MD5):
1509         * m4/sha1.m4 (gl_SHA1):
1510         * m4/sha256.m4 (gl_SHA256):
1511         * m4/sha512.m4 (gl_SHA512):
1512         Do not require AC_C_INLINE.
1513
1514         cond, lock, thread: better 'inline'
1515         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
1516         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
1517         New macros.  Use them instead of static inline, for header functions.
1518         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
1519         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1520         * lib/glthread/lock.c (gl_waitqueue_init)
1521         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1522         * lib/glthread/thread.c (get_current_thread_handle):
1523         Change 'static inline' to 'inline'.
1524         * lib/glthread/cond.h, lib/glthread/thread.h:
1525         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1526         * m4/cond.m4 (gl_COND):
1527         * m4/lock.m4 (gl_PREREQ_LOCK):
1528         * m4/thread.m4 (gl_THREAD):
1529         Do not require AC_C_INLINE.
1530         * modules/cond, modules/thread (Depends-on): Add extern-inline.
1531
1532         chdir-long, cycle-check, savewd: better 'inline'
1533         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
1534         (find_non_slash):
1535         * lib/cycle-check.c (is_zero_or_power_of_two):
1536         * lib/savewd.c (savewd_delegating):
1537         Change 'static inline' to 'inline'.
1538         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
1539         Replace all remaining uses of 'static inline' with it.
1540         * lib/savewd.h:
1541         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1542         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
1543         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
1544         * m4/savewd.m4 (gl_SAVEWD):
1545         Do not require AC_C_INLINE.
1546         * modules/savewd (Depends-on): Add extern-inline.
1547
1548         base32, base64: no need for 'inline'
1549         * lib/base32.c (to_uchar, get_8, decode_8):
1550         * lib/base64.c (to_uchar, get_4, decode_4):
1551         Change 'static inline' to 'inline'.
1552         * m4/base32.m4 (gl_PREREQ_BASE32):
1553         * m4/base64.m4 (gl_PREREQ_BASE64):
1554         Do not require AC_C_INLINE.
1555
1556         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
1557         * lib/gl_array_oset.c (gl_array_nx_add_at):
1558         (gl_array_remove_at):
1559         * lib/gl_linkedhash_list.c (hash_resize_after_add)
1560         (add_to_bucket, remove_from_bucket):
1561         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
1562         Change 'static inline' to 'static', as it's simpler to omit
1563         'inline' unless there's a significant performance advantage.
1564
1565         list, oset, xlist, xoset, xsublist: simplify via extern inline
1566         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
1567         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
1568         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
1569         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
1570         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
1571         New macro.  Replace all uses of 'static inline' with it.
1572         [HAVE_INLINE]: Implement functions as *_INLINE functions,
1573         instead of as macros FOO that are defined to static inline
1574         functions FOO_inline.
1575         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
1576         * lib/gl_xsublist.c:
1577         Reimplement from scratch, by defining the corresponding *_INLINE
1578         macro and including the corresponding .h file.  This is simpler.
1579         * modules/list, modules/oset, modules/xlist, modules/xoset:
1580         (Files): Remove m4/gl_list.m4.
1581         (configure.ac): Remove gl_LIST.
1582         * m4/gl_list.m4: Remove.
1583         * modules/list, modules/oset, modules/xlist, modules/xoset:
1584         * modules/xsublist:
1585         (Depends-on): Depend on extern-inline, not inline.
1586
1587         xalloc: better 'inline'
1588         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
1589         New macro.  Replace all uses of 'static inline' with it.
1590         (static_inline): Remove.
1591         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
1592         Let 'extern inline' do the work automatically, instead of doing
1593         it by hand.
1594         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
1595         Remove.  All uses removed.
1596         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
1597
1598         gethrxtime: better 'inline'
1599         * lib/xtime.c: New file.
1600         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
1601         * lib/xtime.h (XTIME_INCLUDE):
1602         New macros.  Replace all uses of 'static inline' with them.
1603         * lib/gethrxtime.c (gethrxtime): Define only if
1604         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
1605         this source file is now always compiled, because of the extern inline.
1606         * lib/gethrxtime.h, lib/xtime.h:
1607         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1608         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
1609         if gethrtime works, as they're not needed in that case.
1610         (gl_XTIME): Do not require AC_C_INLINE.
1611         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
1612         compiled now.  Move the check into gl_GETHRXTIME.
1613         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
1614         (Depends-on): Add extern-inline.
1615         (configure.ac): gethrxtime is always compiled now.
1616         (lib_SOURCES): Add gethrxtime.c.
1617
1618         wctype-h: better 'inline'
1619         * lib/wctype-h.c: New file.
1620         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
1621         New macro.  Replace all uses of 'static inline' with it.
1622         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1623         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
1624         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
1625         (Depends-on): Add extern-inline.
1626
1627         unistd: better 'inline'
1628         * lib/unistd.c: New file.
1629         * lib/unistd.in.h (_GL_UNISTD_INLINE):
1630         New macro.  Replace all uses of 'static inline' with it.
1631         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1632         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
1633         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
1634         (Depends-on): Add extern-inline.
1635
1636         sys_socket: better 'inline'
1637         * lib/sys_socket.c: New file.
1638         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
1639         New macro.  Replace all uses of 'static inline' with it.
1640         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1641         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
1642         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
1643         (Depends-on): Add extern-inline.
1644
1645         stdio: better 'inline'
1646         * lib/stdio.c: New file.
1647         * lib/stdio.in.h (_GL_STDIO_INLINE):
1648         New macro.  Replace all uses of 'static inline' with it.
1649         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1650         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
1651         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
1652         (Depends-on): Add extern-inline.
1653
1654         sigaction: better 'inline'
1655         * lib/sig-handler.c: New file.
1656         * lib/sig-handler.h (SIG_HANDLER_INLINE):
1657         New macro.  Replace all uses of 'static inline' with it.
1658         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1659         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
1660         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
1661         (Depends-on): Add extern-inline.
1662
1663         selinux-h: better 'inline'
1664         * lib/se-context.c, lib/se-selinux.c: New files.
1665         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
1666         * lib/se-context.in.h (SE_CONTEXT_INLINE):
1667         New macro.  Replace all uses of 'static inline' with it.
1668         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1669         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
1670         New macro.  Replace all uses of 'static inline' with it.
1671         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1672         * modules/selinux-h (Files, lib_SOURCES):
1673         Add lib/se-context.c, lib/se-selinux.c.
1674         (Depends-on): Add extern-inline.
1675         (configure.ac): Do not require AC_C_INLINE.
1676
1677         pthread: better 'inline'
1678         * lib/pthread.c: New file.
1679         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
1680         New macro.  Replace all uses of 'static inline' with it.
1681         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1682         * m4/pthread.m4 (gl_PTHREAD_CHECK):
1683         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
1684         * modules/pthread (Files): Add lib/pthread.c.
1685         (Depends-on): Add extern-inline.
1686
1687         math: better 'inline'
1688         * lib/math.c: New file.
1689         * lib/math.in.h (_GL_MATH_INLINE):
1690         New macro.  Replace all uses of 'static inline' with it.
1691         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1692         * m4/math_h.m4 (gl_MATH_H):
1693         Do not require AC_C_INLINE.
1694         * modules/math (Files, lib_SOURCES):
1695         Add lib/math.c.
1696         (Depends-on): Add extern-inline.
1697
1698         count-one-bits: better 'inline'
1699         * lib/count-one-bits.c: New file.
1700         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
1701         New macro.  Replace all uses of 'static inline' with it.
1702         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1703         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
1704         Do not require AC_C_INLINE.
1705         * modules/count-one-bits (Files, lib_SOURCES):
1706         Add lib/count-one-bits.c.
1707         (Depends-on): Add extern-inline.
1708
1709         count-leading-zeros: better 'inline'
1710         * lib/count-leading-zeros.c: New file.
1711         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
1712         New macro.  Replace all uses of 'static inline' with it.
1713         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1714         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
1715         Do not require AC_C_INLINE.
1716         * modules/count-leading-zeros (Files, lib_SOURCES):
1717         Add lib/count-leading-zeros.c.
1718         (Depends-on): Add extern-inline.
1719
1720         bitrotate: better 'inline'
1721         * lib/bitrotate.c: New file.
1722         * lib/bitrotate.h (BITROTATE_INLINE):
1723         New macros.
1724         Replace all uses of 'static inline' with them.
1725         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1726         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
1727         (Depends-on): Add extern-inline.
1728         (configure.ac): Do not require AC_C_INLINE.
1729
1730 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
1731
1732         maint.mk: avoid gratuitous failure
1733         Reported by Stefano Lattarini in
1734         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
1735         * top/maint.mk (public-submodule-commit): Quote more safely.
1736
1737 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
1738
1739         canonicalize, canonicalize-lgpl: support MS-Windows file names
1740         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
1741         for test cases, which it'd be nice to add at some point.
1742         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
1743         * lib/canonicalize.c (canonicalize_filename_mode):
1744         * lib/canonicalize-lgpl.c (__realpath):
1745         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
1746         slash is at the beginning of the file name.  Use ISSLASH, instead
1747         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
1748         the first character with '/'.  Test for
1749         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
1750         with a drive letter.
1751         * lib/canonicalize.c (SLASHES): New macro.
1752         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
1753
1754 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
1755
1756         fts: introduce FTS_VERBATIM
1757         * lib/fts_.h (FTS_VERBATIM): New bit flag.
1758         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
1759         * lib/fts.c (fts_open): Honor it.
1760
1761 2012-11-09  Pádraig Brady  <P@draigBrady.com>
1762
1763         getlogin-tests: allow errno == ENXIO
1764         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1765         with errno == ENXIO (No controlling tty).
1766         getlogin_r-tests: Likewise. Also allow errno == ENOENT
1767         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
1768         with errno == ENOENT.  This was reported to happen in various
1769         situations on GNU/Linux.
1770
1771 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
1772
1773         getlogin-tests: allow errno == ENOENT
1774         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1775         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
1776         when running a test in an Emacs shell buffer.
1777
1778 2012-11-08  Jim Meyering  <jim@meyering.net>
1779
1780         tests/nap.h: avoid warning about unused variable
1781         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
1782
1783         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
1784         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
1785         white space before each of the special-cased file names, to avoid
1786         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
1787         in http://bugs.gnu.org/12830.
1788
1789 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
1790
1791         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
1792         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
1793         fails with errno == EBADF when fd is opened with O_PATH.
1794         Reported by Jim Meyering in
1795         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
1796         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1797         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
1798
1799 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
1800
1801         test-utimens: speed up by taking shorter naps
1802         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
1803         New functions.
1804         (nap): Use them, to do a better job of guessing the delay.
1805         On Fedora 17 with ext4 atop md atop hard disks, this made
1806         test-utimens run 10x faster, because the test napped for
1807         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
1808         <http://bugs.gnu.org/12820#11>.
1809
1810 2012-11-07  Jim Meyering  <jim@meyering.net>
1811
1812         mountlist.c: fix a compilation failure
1813         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
1814         I introduced while transforming commit v0.0-7683-g613bcb6
1815
1816 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1817
1818         errno: port to LynxOS 178 2.2.2
1819         Problem reported by Joel Brobecker in
1820         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
1821         * doc/posix-headers/errno.texi (errno.h): Document this.
1822         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
1823         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
1824         Supply a string for EILSEQ.
1825         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
1826
1827 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1828
1829         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
1830         Linux kernel 2.6.39 introduced O_PATH (see
1831         <http://lwn.net/Articles/433854/>) and this is a better fallback
1832         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
1833         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1834         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
1835         * lib/fcntl.in.h (O_ACCMODE):
1836         * tests/test-fcntl-h.c (main):
1837         Do not reject O_ACCMODE merely because it has more than the
1838         minimal number of bits, as POSIX allows extensions here.
1839
1840 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
1841
1842         mountlist: do not classify a bind-mounted dir entry as "dummy"
1843         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
1844         the "none"-testing clause.
1845         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
1846         exception for bind-mounted directories.
1847
1848 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
1849
1850         quote: provide a means to escape strings with nul characters
1851         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
1852         (quote, quote_n): Rename formal arguments for consistency with
1853         quotearg.
1854
1855 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
1856
1857         test-raise: don't assume 199 is an invalid signal
1858         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
1859
1860         sh-quote-tests: port to Solaris 9
1861         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
1862         Problem reported by Dagobert Michelsen in
1863         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
1864
1865 2012-10-28  Jim Meyering  <jim@meyering.net>
1866
1867         maint.mk: rename a new configurable variable
1868         * top/maint.mk (_gl_translatable_string_re): Rename from
1869         translation-markers: _gl_ prefix to insulate from user Makefile code,
1870         and the _re suffix to inform that it's a regular expression.
1871
1872 2012-10-26  Eric Blake  <eblake@redhat.com>
1873
1874         maint.mk: let packages tweak sc_po_check pattern
1875         * top/maint.mk (sc_po_check): Add translation-markers, to allow
1876         finding files with other translation markers.
1877
1878 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
1879
1880         euidaccess: speed up 'configure' on GNU hosts
1881         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
1882         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
1883         it's needed only in this case.  Use AC_CHECK_DECLS, not
1884         AC_CHECK_DECLS_ONCE.
1885         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
1886         or AC_REQUIRE for AC_FUNC_GETGROUPS.
1887
1888         * lib/regexec.c (re_search_internal): Fix grammar in comment.
1889
1890 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1891
1892         fchmodat, fchownat, fstatat: port to non-inlining compilers
1893         Problem reported for FreeBSD 9 by Jim Meyering in
1894         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
1895         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
1896         New files, which define FCHMODAT_INLINE etc.
1897         * lib/fchmodat.c (FCHMODAT_INLINE):
1898         * lib/fchownat.c (FCHOWNAT_INLINE):
1899         * lib/fstatat.c (FSTATAT_INLINE):
1900         Remove, as chmodat.c etc. now do this.
1901         * modules/fchmodat (Files): Add lib/chmodat.c.
1902         * modules/fchownat (Files): Add lib/chownat.c.
1903         * modules/fstatat (Files): Add lib/statat.c.
1904
1905 2012-10-15  Jim Meyering  <jim@meyering.net>
1906
1907         fchmodat.c, fchownat.c: compile-impeding typos
1908         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
1909         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
1910         Introduced in commit v0.0-7636-gd202279.
1911
1912 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1913
1914         fcntl-h: support GNU flags like O_IGNORE_CTTY
1915         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
1916         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
1917         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
1918         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
1919         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
1920         Define to 0 if not already defined.
1921         * tests/test-fcntl-h.c: Test these new flags.
1922
1923 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
1924
1925         faccessat, etc.: support AT_FDCWD-only use
1926         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
1927         this function only if its first argument is AT_FDCWD.
1928         Emacs wants faccessat for AT_EACCESS but not for any first-arg
1929         values other than AT_FDCWD, so it doesn't want all the openat
1930         machinery with fchdir etc.
1931         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
1932         * modules/fstatat, modules/mkdirat, modules/openat (Files):
1933         * modules/unlinkat (Files):
1934         Remove lib/openat-priv.h, as at-internal supplies this file.
1935         Removing this file here allows us to support programs like Emacs
1936         that avoid at-internal.
1937
1938         faccessat: speed up 'configure' on mainstream hosts
1939         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
1940         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
1941         since it's only on unusual platforms that we need to check for
1942         'access', and it's better not to slow 'configure' down on all
1943         platforms.
1944
1945         faccessat: port to Solaris 10
1946         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
1947         Needed on Solaris 10, which doesn't have AT_EACCESS,
1948         so we need the Gnulib fcntl.h, which defines it.
1949
1950 2012-10-14  Pádraig Brady  <P@draigBrady.com>
1951         canonicalize: fix C89 compilation
1952         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
1953         declarations so C89 is supported.  Also remove the comment
1954         referencing memorty allocation as the suggested feature could
1955         not be implemented as suggested.
1956         Reported by Michael Goffioul.
1957
1958 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
1959
1960         group-member: omit unnecessary dependencies
1961         This is for Emacs, which has its own allocator and where we
1962         don't want to use xalloc.
1963         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
1964         since we no longer use xmalloc.  Do not include stdbool.h, since
1965         the changes below happen to remove the only use of bool.
1966         (GROUPBUF_SIZE): New constant.
1967         (struct group_info): Remove n_groups member.  Add groupbuf member.
1968         This lets us get the groups without using malloc, usually.
1969         (free_group_info, get_group_info): Adjust to this.
1970         (get_group_info): Return the number of groups found, or -1 on error.
1971         Use plain malloc not xmalloc, and treat its failure as if there
1972         are no groups, as the user already loses in case of error.
1973         (group_member): Simplify, based on changes to get_group_info.
1974         * modules/group-member (Depends-on): Remove dependencies on
1975         xalloc and stdbool.  Add dependency on xalloc-oversized.
1976
1977 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
1978
1979         gethrxtime: port to C++
1980         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
1981
1982 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
1983
1984         ptsname: fix macro-name typo
1985         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
1986
1987 2012-10-03  Simon Josefsson  <simon@josefsson.org>
1988
1989         inttostr: Relax license.
1990         * modules/inttostr (License): Change from LGPL to LGPLv2+.
1991
1992 2012-10-03  Eric Blake  <eblake@redhat.com>
1993
1994         ptsname_r: support ptys returned by FreeBSD posix_openpt
1995         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
1996         lives in /dev/pts/.
1997
1998 2012-10-02  Eric Blake  <eblake@redhat.com>
1999
2000         pselect: reject invalid file descriptors
2001         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
2002         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
2003         * modules/pselect (Depends-on): Add dup2.
2004         * doc/posix-functions/pselect.texi (pselect): Document this.
2005
2006         select: reject invalid file descriptors
2007         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
2008         * lib/select.c (rpl_select) [!win32]: Work around it.
2009         * modules/select (Depends-on): Add dup2.
2010         * doc/posix-functions/select.texi (select): Document this.
2011
2012         select: enhance test
2013         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
2014         New functions.
2015         (test_function): Enhance test.
2016         (do_select_bad_fd): Avoid any stale errno values.
2017
2018         ptsname: reject invalid file descriptors
2019         http://www.austingroupbugs.net/view.php?id=503
2020         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
2021         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
2022         * modules/stdlib (Makefile.am): Replace witness.
2023         * lib/stdlib.in.h (ptsname): Allow for replacement.
2024         * modules/ptsname (configure.ac): Trigger replacement.
2025         * doc/posix-functions/ptsname.texi (ptsname): Document this.
2026
2027 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
2028
2029         hash-pjw-bare: new module
2030         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
2031         * lib/hash-pjw-bare.h: Likewise.
2032         * modules/hash-pjw-bare: New file.
2033         * MODULES.html.sh (Misc): Add it.
2034
2035 2012-10-02  Eric Blake  <eblake@redhat.com>
2036
2037         manywarnings: cater to more gcc infelicities
2038         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
2039         -Wuninitialized without -O.
2040
2041 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
2042
2043         select, poll tests: Make setsockopt invocation effective.
2044         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
2045         the bind() call.
2046         * tests/test-select.h (open_server_socket): Likewise.
2047
2048 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
2049
2050         sockets, sys_stat: restore AC_C_INLINE
2051         This undoes the 2012-09-22 patch.
2052         * m4/sockets.m4 (gl_SOCKETS):
2053         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2054         Restore AC_C_INLINE, since MSVC requires __inline or _inline
2055         and does not support plain 'inline'.  Reported by Bruno Haible in
2056         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
2057
2058 2012-09-30  Bruno Haible  <bruno@clisp.org>
2059
2060         localeconv tests: Avoid test failure on OpenIndiana.
2061         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
2062         skip the 'grouping' and 'mon_grouping' tests.
2063         Reported by Jim Meyering.
2064
2065 2012-09-30  Bruno Haible  <bruno@clisp.org>
2066
2067         havelib: Follow libtool developments.
2068         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
2069         Suggested by Simon Josefsson.
2070
2071 2012-09-29  Jim Meyering  <meyering@redhat.com>
2072
2073         fstatat.c: fix a compile-impeding typo
2074         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
2075         Introduced in commit v0.0-7636-gd202279.
2076         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
2077
2078 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
2079
2080         extern-inline: provide a -Wundef safe config.h
2081         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
2082         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
2083         to produce a -Wundef warning free config.h.
2084
2085 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2086
2087         hash-pjw: relax license to LGPLv2+
2088         * modules/hash-pjw (License): Relax, with consent of author.
2089
2090 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2091
2092         maint.mk: fix strict vs. lazy variable issues with RELEASE
2093         * top/maint.mk (_equal): New function.
2094         (member_check): Strip the result to avoid spurious spaces.
2095         (url_dir_list): Do not use ifeq, which is strict, as it will
2096         require RELEASE_TYPE to be defined.
2097         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
2098         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
2099         (announcement_Cc_alpha,announcement_mail_headers_alpha)
2100         (announcement_Cc_beta,announcement_mail_headers_beta)
2101         (announcement_Cc_stable,announcement_mail_headers_stable): these.
2102         (release): Do not depend on $(release-type), as it forces its
2103         evaluation.  Bounce to it.
2104
2105 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2106
2107         maint.mk: formatting changes
2108         * top/maint.mk: Indent bodies of if's.
2109
2110 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
2111
2112         maint.mk: factor the validation of RELEASE_TYPE
2113         With help from Jim Meyering.
2114         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
2115         * top/maint.mk (_empty, _sp): Move their definition earlier.
2116         (member-check, release-type): New.
2117         Use the latter instead of $(RELEASE_TYPE).
2118         Remove now useless local checks.
2119
2120 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2121
2122         maint.mk: provide "make upload" to ease uploading
2123         See
2124         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
2125         Do not depend simply on the current $(VERSION), as there may have been
2126         new commits since the tarball generation.  Rather, rely on $(RELEASE),
2127         as "make release-commit" already does.
2128
2129         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
2130         "make TYPE".
2131
2132         * top/maint.mk (upload_command, upload, release): New.
2133         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
2134         (VERSION): first word of $(RELEASE) is always right.
2135         (emit_upload_commands): Adjust.
2136         * top/README-release: Update.
2137
2138 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2139
2140         maint.mk: silent rules
2141         With help from Stefano Lattarini.
2142         * top/maint.mk (writable-files): Use $(AM_V_GEN).
2143         (announcement): Use $(AM_V_at).
2144
2145 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2146
2147         localename: port gl_locale_name_thread_unsafe to FreeBSD
2148         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
2149         and use the simpler FreeBSD implementation on Mac OS X as well.
2150         Original idea suggested by Ed Maste in
2151         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
2152
2153 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
2154
2155         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
2156         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
2157         * lib/mbuiter.c, lib/xsize.c: New files.
2158         * lib/binary-io.h (BINARY_IO_INLINE):
2159         * lib/eealloc.h (EEALLOC_INLINE):
2160         * lib/mbfile.h (MBFILE_INLINE):
2161         * lib/mbiter.h (MBITER_INLINE):
2162         * lib/mbuiter.h (MBUITER_INLINE):
2163         * lib/xsize.h (XSIZE_INLINE):
2164         New macros.
2165         Replace all uses of 'static inline' with them.
2166         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2167         * m4/eealloc.m4 (gl_EEALLOC):
2168         * m4/mbfile.m4 (gl_MBFILE):
2169         * m4/mbiter.m4 (gl_MBITER):
2170         * m4/xsize.m4 (gl_XSIZE):
2171         Do not require AC_C_INLINE.
2172         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
2173         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
2174         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
2175         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
2176         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
2177         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
2178         * modules/binary-io, modules/eealloc, modules/mbfile:
2179         * modules/mbiter, modules/mbuiter:
2180         (Depends-on): Add extern-inline.
2181
2182         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
2183         * lib/pipe-filter-aux.c: New file.
2184         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
2185         Replace all uses of 'static inline' with it.
2186         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2187         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
2188         (filter_retcode): No real need for inline here.
2189         * modules/pipe-filter-gi, modules/pipe-filter-ii:
2190         (Files): Add lib/pipe-filter-aux.c.
2191         (Depends-on): Add extern-inline.
2192         (configure.ac): Do not require AC_C_INLINE.
2193         (lib_SOURCES): Add pipe-filter-aux.c.
2194
2195         fdutimensat: omit unnecessary AC_C_INLINE
2196         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
2197
2198         fchmodat, fchownat, fstatat: use extern-inline
2199         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
2200         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
2201         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
2202         New macros.
2203         * lib/openat.h:
2204         Replace all uses of 'static inline' with them.
2205         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2206         * modules/fchmodat, modules/fchownat, modules/fstatat:
2207         * modules/openat-h:
2208         (Depends-on):
2209         Add extern-inline.
2210         (configure.ac): Remove AC_C_INLINE.
2211
2212         acl, mbchar, priv-set: use extern-inline
2213         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
2214         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
2215         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
2216         New macros.
2217         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
2218         Replace all uses of 'static inline' with it.
2219         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2220         * m4/acl.m4 (gl_FUNC_ACL):
2221         * m4/mbchar.m4 (gl_MBCHAR):
2222         * m4/priv-set.m4 (gl_PRIV_SET):
2223         Remove AC_C_INLINE, since 'inline' is no longer used directly.
2224         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
2225         Add extern-inline.
2226
2227         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
2228         * m4/sockets.m4 (gl_SOCKETS):
2229         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2230         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
2231         environments where it's already guaranteed to work, so we needn't
2232         check for it at 'configure'-time.
2233
2234         tls-tests: omit unnecessary 'inline'
2235         * tests/test-tls.c (perhaps_yield): No longer inline.
2236         Simplicity and portability trump efficiency in test cases.
2237
2238         utimens-tests: avoid unnecessary 'inline'
2239         * modules/fdutimensat-tests (configure.ac):
2240         * modules/futimens-tests (configure.ac):
2241         * modules/utimens-tests (configure.ac):
2242         * modules/utimensat-tests (configure.ac):
2243         Remove AC_C_INLINE.
2244         * tests/test-utimens-common.h (ctime_compare):
2245         No longer inline.  Simplicity and portability trump efficiency here.
2246
2247         misc: don't limit commentary to inline functions
2248         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
2249         * lib/xalloc-oversized.h, lib/xsize.h:
2250         Contrast macros to functions in general, not just to inline functions,
2251         when the commentary does not apply only to inline functions.
2252
2253 2012-09-20  Jim Meyering  <meyering@redhat.com>
2254
2255         non-recursive-gnulib-prefix-hack: new module
2256         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
2257         the file that originated in Bison.
2258         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
2259         largely copied from a snippet that resided in bison's configure.ac.
2260         * modules/non-recursive-gnulib-prefix-hack: New file.
2261         * MODULES.html.sh (Support for maintaining and releasing projects):
2262         Add it.
2263
2264 2012-09-18  Jim Meyering  <meyering@redhat.com>
2265
2266         maint.mk: generalize _gl_tight_scope for non-recursive make
2267         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
2268         that *.h would describe additional .h files in the directory
2269         specified by $(_gl_TS_dir).  I.e., add this...
2270         (_gl_TS_other_headers): New variable.
2271
2272         maint.mk: exempt trailing blanks found in "binary" files
2273         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
2274         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
2275         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2276
2277 2012-09-17  Jim Meyering  <meyering@redhat.com>
2278
2279         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
2280         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
2281         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
2282         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2283
2284 2012-09-17  Jim Meyering  <meyering@redhat.com>
2285
2286         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
2287         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
2288         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
2289         It is not in the same category as "exit (0)" or "exit (1)", and
2290         besides, I know of no symbolic name for that 77.  Reported by
2291         Richard W.M. Jones in
2292         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2293
2294 2012-09-17  Jim Meyering  <meyering@redhat.com>
2295
2296         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
2297         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
2298         all uses of #define, not just those that start in column 1.
2299         Richard W.M. Jones reported a false positive in
2300         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2301
2302 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
2303
2304         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
2305         * lib/localcharset.c (locale_charset) [DARWIN7]:
2306         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
2307         as these two values are incompatible.  Problem reported by Max Horn.
2308         For more discussion, please see
2309         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
2310
2311         doc: document sticky-EOF issue
2312         * doc/posix-functions/fgetc.texi (fgetc):
2313         * doc/posix-functions/fgets.texi (fgets):
2314         * doc/posix-functions/fread.texi (fread):
2315         * doc/posix-functions/fscanf.texi (fscanf):
2316         * doc/posix-functions/getc.texi (getc):
2317         * doc/posix-functions/getchar.texi (getchar):
2318         * doc/posix-functions/scanf.texi (scanf):
2319         Mention that glibc and default Solaris do not conform to
2320         C99 and POSIX-2001 or later, with respect to how getchar
2321         etc. behave when feof reports nonzero.
2322
2323 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2324
2325         poll: fix poll(0, NULL, msec)
2326         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
2327         but nfd is 0.  In that case poll should behave like select.
2328
2329 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2330             Paolo Bonzini <bonzini@gnu.org>
2331
2332         poll: fix for systems that can't recv() on a non-socket
2333         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
2334         is readable.  In this case POLLHUP will not be supported.
2335         * doc/posix-functions/poll.texi: Document this.
2336
2337 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
2338
2339         poll/select: document portability problems not fixed by Gnulib.
2340         * doc/posix-functions/poll.texi: poll does not work well on
2341         pipes under Windows.  It has the same limitations as select on
2342         BeOS.
2343         * doc/posix-functions/select.texi: select does not work well
2344         on pipes under Windows.
2345
2346 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2347
2348         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
2349         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
2350         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
2351         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
2352
2353 2012-09-06  Eric Blake  <eblake@redhat.com>
2354
2355         net_if: give more details about the bug being fixed
2356         * doc/posix-headers/net_if.texi: Add clarification.
2357
2358 2012-09-05  Eric Blake  <eblake@redhat.com>
2359
2360         net_if: new module
2361         * modules/net_if: New module, borrowing ideas from netinet_in.
2362         * m4/net_if_h.m4: New file.
2363         * lib/net_if.in.h: Likewise.
2364         * doc/posix-headers/net_if.texi (net/if.h): Document it.
2365         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2366         * tests/test-net_if.c: Make function checks conditional.
2367         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
2368
2369 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
2370
2371         readutmp: fix non-portable UT_PID use
2372         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
2373         Use `UT_PID (u) > 0' as absolute condition.
2374
2375 2012-09-04  Jim Meyering  <meyering@redhat.com>
2376
2377         fts: reduce two or more trailing spaces to just one, usually
2378         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
2379         or more slashes, trim all but the final one.  But if a name consists
2380         solely of two slashes, don't modify it.  If it consists solely of
2381         three or more slashes, strip all but one.
2382
2383         This is part of the solution to a minor problem with rm:
2384         it would print a bogus ELOOP diagnostic when failing to remove
2385         the slash-decorated name of a symlink-to-directory:
2386
2387             $ mkdir d && ln -s d s && env rm -r s/
2388             rm: cannot remove 's': Too many levels of symbolic links
2389
2390         With the change below and a trivial don't-trim-trailing-slashes
2391         adjustment to remove.c, it does this:
2392
2393             $ env rm -r s/
2394             rm: cannot remove 's/': Not a directory
2395
2396         Improved by: Eric Blake
2397
2398         fts: when there is no risk of overlap, use memcpy, not memmove
2399         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
2400
2401 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2402
2403         stdbool: be more compatible with mixed C/C++ compiles
2404         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
2405         Define to bool, true, false, respectively, as GCC's builtin
2406         stdbool.h does.  Problem reported by Michael Goffioul in
2407         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
2408
2409 2012-08-28  Jim Meyering  <meyering@redhat.com>
2410
2411         revert last change: it was not needed
2412         * tests/test-vc-list-files-git.sh: There's already a test for
2413         a working git, just below.
2414
2415 2012-08-28  Jim Meyering  <meyering@redhat.com>
2416
2417         tests: test-vc-list-files-git.sh: skip if git is not available
2418         * tests/test-vc-list-files-git.sh: Skip this test when git is
2419         not available.
2420
2421 2012-08-26  Bruno Haible  <bruno@clisp.org>
2422
2423         gnulib-tool: Remove no-op option --no-changelog.
2424         * gnulib-tool (func_usage): Don't mention --no-changelog.
2425         (do_changelog): Remove variable.
2426         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2427
2428 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2429
2430         doc: remove fdl-1.2.texi
2431         It is no longer used or maintained, and its use of @acronym
2432         is problematic.  See the thread containing
2433         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
2434         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
2435         * doc/old-licenses/fdl-1.2.texi: Remove.
2436
2437         execinfo: port to FreeBSD
2438         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
2439         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
2440         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
2441         * modules/execinfo (Link): Add $(LIB_EXECINFO).
2442
2443 2012-08-23  Jim Meyering  <meyering@redhat.com>
2444
2445         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
2446         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
2447         to placate gcc's -Wold-style-declaration.
2448
2449 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2450
2451         doc: do not use @acronym
2452         * doc/inet_ntoa.texi (inet_ntoa):
2453         * doc/parse-datetime.texi (Seconds since the Epoch)
2454         (Specifying time zone rules):
2455         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
2456         Don't use @acronym.  Problem reported by John Darlington in
2457         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
2458
2459 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2460
2461         stdnoreturn: port to newer GCCs
2462         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
2463         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
2464         Problem reported by Jim Meyering in
2465         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
2466         Also, rename the 'test' function to a void a clash with the
2467         already-supplied 'main' function; this fixes a bug that incorrectly
2468         rejected GCC 4.7.1's <stdnoreturn.h>.
2469         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
2470         Document GCC problem.
2471
2472 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
2473
2474         pipe-filter: fix comment typo
2475         * lib/pipe-filter.h: Mention correct function.
2476
2477 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
2478
2479         execinfo: new module
2480         This is for Emacs.  Currently, it provides a no-effect stub
2481         on all platforms where it does not already work.
2482         It already works on glibc-based systems, and on Solaris 11.
2483         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
2484         New files.
2485         * doc/glibc-headers/execinfo.texi (execinfo.h):
2486         * MODULES.html.sh (Misc): Document it.
2487
2488 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2489
2490         extern-inline: support old GCC 'inline'
2491         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
2492         if available.  This applies to GCC versions 2.7 through 4.2, or
2493         when newer GCC is using -fgnu89-inline.  The goal is to address
2494         some of the performance issues mentioned by Bruno Haible in
2495         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
2496
2497 2012-08-20  Eric Blake  <eblake@redhat.com>
2498
2499         maint.mk: avoid redundant file name in message
2500         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2501         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
2502         (sc_makefile_path_separator_check): Remove bogus $(ME).
2503
2504 2012-08-20  Mike Frysinger <vapier@gentoo.org>
2505
2506         timer-time: fix link order when static linking on glibc
2507         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2508         _after_ -lrt so that it's significant.
2509
2510 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2511
2512         timespec: omit unnecessary AC_C_INLINE
2513         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
2514
2515         stat-time: omit unnecessary AC_C_INLINE
2516         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
2517         Do not require AC_C_INLINE.
2518
2519         ignore-value: omit unnecessary AC_C_INLINE
2520         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
2521
2522         sys_select: avoid 'static inline'
2523         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
2524
2525         mktime: avoid 'static inline'
2526         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
2527         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
2528
2529 2012-08-19  Bruno Haible  <bruno@clisp.org>
2530
2531         gnulib-tool: Improve coding style.
2532         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
2533         func_emit_lib_Makefile_am.
2534         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2535
2536 2012-08-19  Bruno Haible  <bruno@clisp.org>
2537
2538         gnulib-tool: Fix indentation.
2539         * gnulib-tool (func_import): Fix indentation.
2540
2541 2012-08-19  Bruno Haible  <bruno@clisp.org>
2542
2543         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
2544         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
2545         on the list of removed files.
2546
2547 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2548
2549         test-parse-datetime: avoid glibc leap-second glitch
2550         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
2551         with the 2012 rules.  Problem reported by Bruce Dubbs in
2552         <http://bugs.gnu.org/12206>.
2553
2554 2012-08-14  Bruno Haible  <bruno@clisp.org>
2555
2556         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
2557         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
2558         from argument.
2559         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2560
2561 2012-08-14  Eric Blake  <eblake@redhat.com>
2562
2563         ldexp: relax license
2564         * modules/ldexp (License): Trivial relax, since the module only
2565         provides a permissively licensed m4 file.
2566
2567 2012-08-13  Bruno Haible  <bruno@clisp.org>
2568
2569         gnulib-tool: Fix persistence of --witness-c-macro option.
2570         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
2571         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2572
2573 2012-08-11  Eric Blake  <eblake@redhat.com>
2574
2575         count-leading-zeros: use a lookup table on non-gcc compilers
2576         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
2577         alternate implementation, suggested by Jim Meyering.
2578
2579 2012-08-10  Eric Blake  <eblake@redhat.com>
2580
2581         count-leading-zeros: new module
2582         * modules/count-leading-zeros: New module.
2583         * m4/count-leading-zeros.m4: New file.
2584         * lib/count-leading-zeros.h: Likewise.
2585         * modules/count-leading-zeros-tests: New test.
2586         * tests/test-count-leading-zeros.c: New file.
2587         * MODULES.html.sh (Integer arithmetic functions): Document it.
2588
2589 2012-08-07  Simon Josefsson  <simon@josefsson.org>
2590             Jim Meyering  <meyering@redhat.com>
2591
2592         maintainer-makefile: Fix syntax error with dash.
2593         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
2594         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
2595
2596 2012-08-05  Jim Meyering  <meyering@redhat.com>
2597
2598         extern-inline: also ignore -Wmissing-declarations
2599         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
2600         required with gcc-4.8.0-to-be.
2601
2602         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
2603         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
2604         for /error ?([^,]*)/.  This avoids false-positives for strings like
2605         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
2606
2607 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2608
2609         gnumakefile: better interaction with Automake-NG
2610         * modules/gnumakefile [Makefile.am]: The makefiles generated by
2611         Automake-NG always contain a definition of VPATH, even in non-VPATH
2612         builds (its value being simply '.' in that case).  So, in the
2613         'clean-GNUmakefile' rule, to determine whether running under a
2614         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
2615         '$(VPATH)' expands to the empty string.
2616
2617 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
2618
2619         base64: Use extern C scope in header file, for C++.
2620         * lib/base64.h: Add C++ namespace protection.
2621
2622 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
2623
2624         stat-time, timespec, u64: support naive out-of-dir builds
2625         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
2626         Use '#include "foo.h"', not '#include <foo.h>', when including
2627         one's own interface.  This works better when configuring with
2628         out-of-directory builds, since packages need not add an
2629         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
2630
2631 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
2632
2633         utimens: use extern-inline
2634         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
2635         * lib/utimens.h: Add copyright notice, since this is now large enough
2636         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2637         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
2638         * modules/utimens (Depends-on): Add extern-inline.
2639
2640         u64: use extern-inline
2641         * lib/u64.c: New file.
2642         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2643         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
2644         * modules/u64 (Files): Add lib/u64.c.
2645         (Depends-on): Add extern-inline.
2646         (configure.ac): No need to require AC_C_INLINE, since extern-inline
2647         does that now.
2648         (lib_SOURCES): Add u64.c.
2649
2650         timespec: use extern-inline
2651         * lib/timespec.c: New file.
2652         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2653         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
2654         * modules/timespec (Files): Add lib/timespec.c.
2655         (Depends-on): Add extern-inline.
2656         (lib_SOURCES): Add timespec.c.
2657
2658         stat-time: use extern-inline
2659         * lib/stat-time.c: New file.
2660         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2661         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
2662         * modules/stat-time (Files): Add lib/stat-time.c.
2663         (Depends-on): Add extern-inline.
2664         (lib_SOURCES): Add stat-time.c.
2665
2666         extern-inline: new module
2667         * modules/extern-inline, m4/extern-inline.m4: New files.
2668         This is for better support of 'extern inline' a la ISO C99,
2669         with a portable alternative on compilers that do not support
2670         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
2671         of the Emacs executable, when compiled with debugging disabled,
2672         which is a typical way that Emacs is built while developing.
2673
2674 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
2675
2676         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
2677         * build-aux/do-release-commit-and-tag: Move variable definitions
2678         together.
2679         ($branch): Instead of defaulting to "master", default to the current
2680         branch (as gnu-web-doc-update does).
2681         (help): Display the current values of the option arguments.
2682         * top/maint.mk (release-commit): New.
2683         * top/README-release: Simplify the corresponding step.
2684
2685 2012-07-30  Eric Blake  <eblake@redhat.com>
2686
2687         passfd: fix comment on recvfd
2688         * lib/passfd.c (recvfd): Fix comment.
2689         Reported by Jann Horn <jannhorn@googlemail.com>.
2690
2691 2012-07-30  Jim Meyering  <meyering@redhat.com>
2692
2693         maint.mk: avoid a sub-shell
2694         * top/maint.mk (release-prep): Remove unneeded sub-shell.
2695
2696 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2697
2698         maint.mk: use silent-rules support from Automake
2699         * top/maint.mk (news-check, vc-diff-check, announcement)
2700         (no-submodule-changes, alpha beta stable, release-prep)
2701         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
2702
2703 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2704
2705         maint.mk: provide a web-manual-update target
2706         * top/maint.mk: here.
2707         * top/README-release: Use it to simplify the web manual update step.
2708
2709 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2710
2711         README-release: shorten the circuit to post a news
2712         * top/README-release: Point directly to the news submission form.
2713
2714 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2715
2716         gnu-web-doc-update: fix --help
2717         * build-aux/gnu-web-doc-update: The information "top level" was written
2718         twice.
2719
2720 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2721
2722         maint.mk: absolute VPATH issue
2723         * top/maint.mk (release-prep): Help Git find .git/.
2724         From Jim Meyering.
2725
2726 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2727
2728         gitlog-to-changelog: fix previous change
2729         * build-aux/gitlog-to-changelog: Fix condition.
2730         Add missing ";".
2731
2732 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2733
2734         gitlog-to-changelog: don't expect .git to be in $srcdir
2735         Reported by Bruno Haible.
2736         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
2737         * build-aux/gitlog-to-changelog (&git_dir_option): New.
2738         Use it.
2739
2740 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2741
2742         maint.mk: absolute VPATH build fix
2743         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
2744         $(srcdir) is not a parent of $(builddir).
2745
2746 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
2747
2748         clean-temp: Fix memory leak.
2749         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
2750         'files' members of tmpdir.
2751
2752 2012-07-27  Jim Meyering  <meyering@redhat.com>
2753
2754         maint.mk: new rule: refresh-gnulib-patches
2755         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
2756         Use this rule to refresh them.
2757         * top/maint.mk (refresh-gnulib-patches): New rule.
2758
2759 2012-07-24  Bruno Haible  <bruno@clisp.org>
2760
2761         gnulib-tool: Fix handling of inctests variable.
2762         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
2763         Reported by Nick Bowler <nbowler@elliptictech.com>.
2764
2765 2012-07-22  Bruno Haible  <bruno@clisp.org>
2766
2767         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
2768         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
2769         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2770         Remove exemption for getpass.h.
2771         Suggested by Eric Blake.
2772
2773 2012-07-20  Eric Blake  <eblake@redhat.com>
2774
2775         verify: document conflict with -Wnested-externs
2776         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
2777
2778         maint.mk: forbid exit(-1)
2779         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
2780
2781 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
2782
2783         fsusage: port back to Solaris
2784         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
2785         error (fsd not declared) on Solaris 10.  Reported privately by
2786         Andrew Borodin.
2787
2788 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
2789
2790         gnu-web-doc-update: fix error messages
2791         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
2792
2793         gnu-web-doc-update: check the requirements.
2794         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
2795         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
2796         * build-aux/bootstrap (find_tool): Comment change.
2797
2798 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
2799
2800         maint.mk: minor simplication.
2801         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
2802         for default values.
2803
2804 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
2805
2806         gitlog-to-changelog: VPATH build issues
2807         If builddir is not a subdirectory of srcdir, running git from it will
2808         fail.
2809         * build-aux/gitlog-to-changelog (--srcdir): New option.
2810
2811 2012-07-15  Bruno Haible  <bruno@clisp.org>
2812
2813         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
2814         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
2815         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
2816         Remove exemption for fpending.h.
2817         Suggested by Eric Blake.
2818
2819 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
2820
2821         pthread_sigmask: fix bug on FreeBSD 9
2822         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
2823         Include string.h.
2824         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
2825         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
2826         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
2827         but pthread_sigmask (1729, NULL, NULL) returns zero.
2828         See <http://bugs.gnu.org/11884>.
2829         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
2830         by inspecting whether the main call changed the old mask.
2831
2832 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
2833
2834         README-release: make it more legible
2835         * top/README-release: Improve typography slightly.
2836
2837 2012-07-15  Jim Meyering  <meyering@redhat.com>
2838
2839         maint: require that each sc_... command start with "@"
2840         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
2841         "make sc_maint" helps us avoid this nit.
2842
2843 2012-07-15  Jim Meyering  <meyering@redhat.com>
2844
2845         maint.mk: add leading "@" to quiet new "make syntax-check" rule
2846         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
2847
2848 2012-07-13  Eric Blake  <eblake@redhat.com>
2849
2850         maint.mk: new syntax check for HAVE_DECL checks
2851         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
2852         * cfg.mk
2853         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2854         Exempt some false positives.
2855         Based on a report by Karel Zak.
2856
2857         argp: make HAVE_DECL usage consistent
2858         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
2859         macros, not whether they are defined.
2860         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
2861         convention with other declaration checks.
2862         Reported by Karel Zak, with suggestions from Paul Eggert.
2863
2864         stat-time: relax license to LGPLv2+
2865         * modules/stat-time (License): Relax, with consent of all authors.
2866
2867         strndup: fix m4 usage error
2868         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
2869         defined, to either 0 or 1.
2870         Reported by Karel Zak.
2871
2872 2012-07-11  Jim Meyering  <meyering@redhat.com>
2873
2874         maint: enable the sc_avoid_if_before_free syntax-check rule
2875         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
2876         (if_before_free_offenders_): Define.
2877         (if_before_free_basename_re_): Define.
2878         Exempt current files with useless if-before-free.
2879
2880 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
2881
2882         gettext: do not assume '#define ... defined ...' behavior
2883         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
2884         Do not use '#define FOO ... defined BAR ...', as the C standard says
2885         it's not portable to expect that this works after macro expansion.
2886         Problem reported for gzip by Steven M. Schweda in
2887         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
2888
2889 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
2890
2891         getloadavg: clean out old Emacs and Autoconf cruft
2892         See Glenn Morris in <http://bugs.gnu.org/11905>.
2893         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
2894         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
2895         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
2896         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
2897
2898 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
2899
2900         bootstrap: let warn be like tests/init.sh's warn_
2901         Reported by Jim Meyering.
2902         * build-aux/bootstrap (warn): Remove, replaced by...
2903         (warnf_, warn_): these.
2904         Adjust callers.
2905         Shorten messages that no longer fit in 80 columns.
2906
2907 2012-07-09  Bruno Haible  <bruno@clisp.org>
2908
2909         getopt: Simplify after Emacs changed.
2910         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
2911         (gl_GETOPT_IFELSE): Remove macro.
2912
2913 2012-07-09  Jim Meyering  <meyering@redhat.com>
2914
2915         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
2916         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
2917
2918         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
2919         Bugs in both of those conspired to make the
2920         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
2921         _sc_search_regexp's handling of non-empty $in_files would filter
2922         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
2923         choice of in_files value meant there would be no match in most
2924         projects, due to the presence of two or more Makefile.in files.
2925         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
2926         Fix a bug in how a non-empty $$in_files was processed:
2927         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
2928         in spite of the name, it's a regexp, not a list of file names.
2929
2930 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
2931
2932         getloadavg, getopt: fix commentary re configure.in
2933         Autoconf is deprecating the name 'configure.in', so change it to
2934         to the new name 'configure.ac' in a couple of places.
2935         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
2936         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
2937         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
2938         Emacs has renamed it to configure.ac, and it no longer refers
2939         to these macros anyway.
2940
2941         timespec: mark functions with const attributes
2942         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
2943         Mark with _GL_ATTRIBUTE_CONST.
2944
2945 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
2946
2947         canonicalize[-lgpl]: handle "guessing" values when cross-building
2948         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2949         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
2950         matches "*yes" instead of just "yes".  Regression introduced in commit
2951         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
2952
2953 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
2954             Bruno Haible  <bruno@clisp.org>
2955
2956         canonicalize: make the right guess when cross-compiling to GNU
2957         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
2958         determine whether cross-compiling to glibc systems, so as to
2959         include GNU/Hurd.
2960
2961 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2962
2963         timespec-sub: avoid duplicate include
2964         * lib/timespec-sub.c: Do not include <config.h> twice.
2965         Reported by Juanma Barranquero.
2966
2967 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
2968
2969         bootstrap: use a more consistent error reporting scheme
2970         * build-aux/bootstrap (warn, die): New.
2971         Use them.
2972
2973 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
2974
2975         sys_time: allow too-wide tv_sec
2976         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
2977         timeval even if tv_sec is wider than time_t.  This allows
2978         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
2979         as without this patch gnulib replaces struct timeval
2980         and OpenBSD futimes therefore has a type mismatch.
2981         * doc/posix-headers/sys_time.texi: Mention this.
2982
2983         pthread: check for both pthread_create and pthread_join
2984         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
2985         alter the check so that it tests for both pthread_create and
2986         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
2987         Suggested by Bruno Haible and Richard Yao in
2988         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
2989
2990         parse-datetime: doc tuneup
2991         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
2992         spacing issues.
2993
2994 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
2995
2996         do-release-commit-and-tag: fix the previous commit
2997         * build-aux/do-release-commit-and-tag: Actually the test was right,
2998         but the comment and the error message were misleading.
2999         Fix comment, and improve error message.
3000         Perform check first, so that NEWS is not modified uselessly.
3001
3002         do-release-commit-and-tag: fix typo
3003         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
3004         _not_ start with a stub.
3005
3006 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
3007
3008         pthread: check for pthread_create, not pthread_join
3009         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
3010         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
3011         pthread_join in libc.  I hope this removes the need for all the
3012         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
3013         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
3014
3015 2012-07-04  Jim Meyering  <meyering@redhat.com>
3016
3017         parse-datetime: fix failure to diagnose invalid input
3018         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
3019         rather than diagnosing the invalid input.  Now it reports this:
3020         date: invalid date '\260'
3021         * lib/parse-datetime.y (to_uchar): Define.
3022         (yylex): Don't sign-extend "other" bytes.
3023         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
3024         Thanks to Bruno Haible for the patch to this file.
3025         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
3026         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
3027
3028 2012-07-03  Jim Meyering  <meyering@redhat.com>
3029
3030         bootstrap: do not require now-removed build-aux/missing
3031         Now that build-aux/missing is, er, missing, bootstrap would
3032         silently fail.
3033         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
3034         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
3035         no longer part of gnulib.
3036         Diagnose the failure.
3037
3038 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3039
3040         alloca: add support for HP NonStop TNS/E native
3041         * lib/alloca.in.h (alloca): Support the new host.
3042         From a suggestion by Joachim Schmitz in
3043         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
3044
3045 2012-07-02  Pádraig Brady  <P@draigBrady.com>
3046
3047         fsusage: remove code not needed on non GNU/Linux systems.
3048
3049         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3050         Don't include headers no longer needed in this case.
3051         * lib/fsusage.c [STAT_STATVFS &&
3052         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
3053         STAT_STATFS2_FRSIZE to exclude code not used in this case.
3054
3055 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3056
3057         fsusage: include files needed for glibc 2.6 fallback
3058         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3059         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
3060         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
3061         Problem reported by Ludovic Courtès in
3062         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
3063
3064         fsusage: avoid needless check on GNU/Linux
3065         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
3066         on GNU/Linux systems, since it can't possibly work.
3067
3068 2012-07-01  Bruno Haible  <bruno@clisp.org>
3069
3070         log: Fix an autoconf >= 2.64 warning.
3071         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
3072         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3073
3074 2012-06-28  Bruno Haible  <bruno@clisp.org>
3075
3076         log10f: Fix possible configuration problem.
3077         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
3078         $LOGF_LIBM.
3079         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3080
3081 2012-06-28  Bruno Haible  <bruno@clisp.org>
3082
3083         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
3084         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
3085         not gl_cv_func_unlink_works.
3086         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3087
3088 2012-06-27  Eric Blake  <eblake@redhat.com>
3089
3090         config: drop scripts that automake says are not independent
3091         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
3092         * build-aux/elisp-comp: Delete.
3093         * build-aux/missing: Likewise.
3094         * build-aux/ylwrap: Likewise.
3095         * modules/elisp-comp: Likewise.
3096         * MODULES.html.sh: Drop mention of elisp-comp.
3097         * NEWS: Mention this.
3098
3099 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
3100
3101         root-uid: new module
3102         This is for portability to Tandem's NonStop Kernel.
3103         * lib/root-uid.h, modules/root-uid: New files.
3104         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
3105         * lib/write-any-file.c, tests/test-sethostname2.c:
3106         Include "root-uid.h".
3107         * lib/euidaccess.c (euidaccess):
3108         * lib/pt_chown.c (main):
3109         * lib/unlinkdir.c (cannot_unlink_dir):
3110         * lib/write-any-file.c (can_write_any_file):
3111         * m4/mknod.m4 (gl_FUNC_MKNOD):
3112         * tests/test-sethostname2.c (geteuid, main):
3113         Don't assume ROOT_UID == 0.
3114         * modules/euidaccess (Depends-on):
3115         * modules/pt_chown (Depends-on):
3116         * modules/sethostname-tests (Depends-on):
3117         * modules/unlinkdir (Depends-on):
3118         * modules/write-any-file (Depends-on):
3119         Add root-uid.
3120
3121         regex: use locale-independent comparison for codeset name
3122         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
3123         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
3124         for codeset name.
3125         * lib/regex_internal.h: Do not include <strings.h>, since we
3126         no longer use strcasecmp.
3127         * modules/regex (Depends-on): Remove strcase.
3128
3129 2012-06-23  Bruno Haible  <bruno@clisp.org>
3130
3131         getopt-posix: No longer guarantee that option processing is resettable.
3132         * doc/posix-functions/getopt.texi: Drop description of problem with
3133         internal state. Fix info about mingw and msvc9.
3134         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
3135         option processing by getopt(). Run three test programs instead of one.
3136         Simplify cross-compilation guess.
3137         * NEWS: Mention the change.
3138         Reported by Rich Felker <dalias@aerifal.cx>.
3139
3140 2012-06-26  Bruno Haible  <bruno@clisp.org>
3141
3142         argp, regex: Ensure strcasecmp gets declared.
3143         * lib/argp-help.c: Include <strings.h>.
3144         * lib/regex_internal.h: Likewise.
3145         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
3146
3147 2012-06-24  Bruno Haible  <bruno@clisp.org>
3148
3149         ptsname_r: Make it consistent with ptsname on AIX.
3150         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
3151         implementation as for OSF/1.
3152         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
3153         a pty master.
3154
3155         ptsname_r: Make it consistent with ptsname on OSF/1.
3156         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3157         OSF/1.
3158
3159 2012-06-24  Bruno Haible  <bruno@clisp.org>
3160
3161         ttyname_r: Fix result on OSF/1, Solaris.
3162         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
3163
3164 2012-06-24  Bruno Haible  <bruno@clisp.org>
3165
3166         ptsname_r: Add support for Solaris.
3167         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3168         Solaris.
3169
3170         ptsname_r: Fix test failure on native Windows.
3171         * modules/ptsname_r (Depends-on): Add isatty.
3172
3173         ptsname_r: Fix test failures on IRIX, Solaris.
3174         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
3175         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
3176         accordingly.
3177         * lib/ptsname_r.c: Include <fcntl.h>.
3178         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
3179         set errno if fd is invalid.
3180         * tests/test-isatty.c (main): Update comments.
3181
3182 2012-06-24  Bruno Haible  <bruno@clisp.org>
3183
3184         ptsname test: Extend test.
3185         * tests/test-ptsname.c: Include <errno.h>.
3186         (main): Test behaviour with invalid file descriptor.
3187
3188 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3189
3190         time: fix obsolete comment
3191         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
3192         reference to HAVE_STRUCT_TIMESPEC in comment.
3193
3194 2012-06-23  Bruno Haible  <bruno@clisp.org>
3195
3196         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
3197         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
3198         does not handle abbreviated long options with equivalent
3199         disambiguations, set gl_replace_getopt to yes.
3200         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
3201
3202 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
3203
3204         time_r: fix typo that always overrode localtime_r decl
3205         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
3206         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
3207         not in a standard include.
3208
3209 2012-06-22  Bruno Haible  <bruno@clisp.org>
3210
3211         Write "Mac OS X" instead of "MacOS X".
3212         * README: Write "Mac OS X" instead of "MacOS X".
3213         * build-aux/bootstrap: Likewise.
3214         * build-aux/install-reloc: Likewise.
3215         * lib/acl-internal.h: Likewise.
3216         * lib/acl_entries.c: Likewise.
3217         * lib/argp-ba.c: Likewise.
3218         * lib/argp-pv.c: Likewise.
3219         * lib/config.charset: Likewise.
3220         * lib/copy-acl.c: Likewise.
3221         * lib/csharpexec.c: Likewise.
3222         * lib/euidaccess.c: Likewise.
3223         * lib/fbufmode.c: Likewise.
3224         * lib/fflush.c: Likewise.
3225         * lib/file-has-acl.c: Likewise.
3226         * lib/filemode.h: Likewise.
3227         * lib/fpurge.c: Likewise.
3228         * lib/freadable.c: Likewise.
3229         * lib/freadahead.c: Likewise.
3230         * lib/freading.c: Likewise.
3231         * lib/freadptr.c: Likewise.
3232         * lib/freadseek.c: Likewise.
3233         * lib/fseeko.c: Likewise.
3234         * lib/fseterr.c: Likewise.
3235         * lib/fsusage.c: Likewise.
3236         * lib/fwritable.c: Likewise.
3237         * lib/fwriting.c: Likewise.
3238         * lib/get-rusage-as.c: Likewise.
3239         * lib/get-rusage-data.c: Likewise.
3240         * lib/getdomainname.c: Likewise.
3241         * lib/idpriv-drop.c: Likewise.
3242         * lib/idpriv-droptemp.c: Likewise.
3243         * lib/localcharset.c: Likewise.
3244         * lib/locale.in.h: Likewise.
3245         * lib/localename.c: Likewise.
3246         * lib/mbsrtowcs-state.c: Likewise.
3247         * lib/nproc.c: Likewise.
3248         * lib/passfd.c: Likewise.
3249         * lib/posix_openpt.c: Likewise.
3250         * lib/printf-parse.c: Likewise.
3251         * lib/progreloc.c: Likewise.
3252         * lib/safe-read.h: Likewise.
3253         * lib/safe-write.h: Likewise.
3254         * lib/sched.in.h: Likewise.
3255         * lib/set-mode-acl.c: Likewise.
3256         * lib/signal.in.h: Likewise.
3257         * lib/stdint.in.h: Likewise.
3258         * lib/stdio-impl.h: Likewise.
3259         * lib/stdlib.in.h: Likewise.
3260         * lib/strtod.c: Likewise.
3261         * lib/sys_select.in.h: Likewise.
3262         * lib/tcgetsid.c: Likewise.
3263         * lib/unistd.in.h: Likewise.
3264         * lib/unlockpt.c: Likewise.
3265         * lib/vasnprintf.c: Likewise.
3266         * lib/vma-iter.c: Likewise.
3267         * lib/wcsrtombs-state.c: Likewise.
3268         * m4/acl.m4: Likewise.
3269         * m4/acosl.m4: Likewise.
3270         * m4/asinl.m4: Likewise.
3271         * m4/atanl.m4: Likewise.
3272         * m4/c-stack.m4: Likewise.
3273         * m4/cosl.m4: Likewise.
3274         * m4/expl.m4: Likewise.
3275         * m4/extensions.m4: Likewise.
3276         * m4/fdatasync.m4: Likewise.
3277         * m4/fmal.m4: Likewise.
3278         * m4/frexp.m4: Likewise.
3279         * m4/frexpf.m4: Likewise.
3280         * m4/frexpl.m4: Likewise.
3281         * m4/fsusage.m4: Likewise.
3282         * m4/getdomainname.m4: Likewise.
3283         * m4/getloadavg.m4: Likewise.
3284         * m4/getopt.m4: Likewise.
3285         * m4/gettext.m4: Likewise.
3286         * m4/gnulib-common.m4: Likewise.
3287         * m4/intdiv0.m4: Likewise.
3288         * m4/intlmacosx.m4: Likewise.
3289         * m4/largefile.m4: Likewise.
3290         * m4/ldexpl.m4: Likewise.
3291         * m4/link-follow.m4: Likewise.
3292         * m4/locale-ar.m4: Likewise.
3293         * m4/locale-fr.m4: Likewise.
3294         * m4/locale-ja.m4: Likewise.
3295         * m4/locale-tr.m4: Likewise.
3296         * m4/locale-zh.m4: Likewise.
3297         * m4/locale_h.m4: Likewise.
3298         * m4/lock.m4: Likewise.
3299         * m4/logl.m4: Likewise.
3300         * m4/mathfunc.m4: Likewise.
3301         * m4/minus-zero.m4: Likewise.
3302         * m4/mktime.m4: Likewise.
3303         * m4/mmap-anon.m4: Likewise.
3304         * m4/multiarch.m4: Likewise.
3305         * m4/nanosleep.m4: Likewise.
3306         * m4/nocrash.m4: Likewise.
3307         * m4/poll.m4: Likewise.
3308         * m4/printf-frexpl.m4: Likewise.
3309         * m4/printf.m4: Likewise.
3310         * m4/signbit.m4: Likewise.
3311         * m4/sinl.m4: Likewise.
3312         * m4/sqrtl.m4: Likewise.
3313         * m4/strerror_r.m4: Likewise.
3314         * m4/tanl.m4: Likewise.
3315         * m4/threadlib.m4: Likewise.
3316         * m4/ttyname_r.m4: Likewise.
3317         * m4/unlink.m4: Likewise.
3318         * m4/visibility.m4: Likewise.
3319         * m4/wcwidth.m4: Likewise.
3320         * tests/minus-zero.h: Likewise.
3321         * tests/test-alloca-opt.c: Likewise.
3322         * tests/test-copy-acl.sh: Likewise.
3323         * tests/test-copy-file.sh: Likewise.
3324         * tests/test-fdatasync.c: Likewise.
3325         * tests/test-file-has-acl.sh: Likewise.
3326         * tests/test-flock.c: Likewise.
3327         * tests/test-fsync.c: Likewise.
3328         * tests/test-localename.c: Likewise.
3329         * tests/test-malloca.c: Likewise.
3330         * tests/test-nonblocking-pipe.h: Likewise.
3331         * tests/test-nonblocking-socket.h: Likewise.
3332         * tests/test-openpty.c: Likewise.
3333         * tests/test-posix_openpt.c: Likewise.
3334         * tests/test-ptsname.c: Likewise.
3335         * tests/test-ptsname_r.c: Likewise.
3336         * tests/test-sameacls.c: Likewise.
3337         * tests/test-select.h: Likewise.
3338         * tests/test-set-mode-acl.sh: Likewise.
3339         * tests/test-snprintf-posix.h: Likewise.
3340         * tests/test-sprintf-posix.h: Likewise.
3341         * tests/test-strtod.c: Likewise.
3342         * tests/test-time.c: Likewise.
3343         * tests/test-vasnprintf-posix.c: Likewise.
3344         * tests/test-vasprintf-posix.c: Likewise.
3345         * doc/acl-resources.txt: Likewise.
3346         * doc/**/*.texi: Likewise.
3347         Reported by Max Horn <max@quendi.de>.
3348
3349 2012-06-22  Bruno Haible  <bruno@clisp.org>
3350
3351         grantpt: Relax requirement regarding invalid file descriptors.
3352         * lib/grantpt.c: Don't include <fcntl.h>.
3353         (grantpt): Don't verify the validity of the file descriptor.
3354         * modules/grantpt (Depends-on): Remove fcntl-h.
3355         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
3356         file descriptors.
3357         * doc/posix-functions/grantpt.texi: Document more platforms on which
3358         grantpt succeeds for invalid file descriptors.
3359         Reported by Rich Felker <dalias@aerifal.cx>.
3360
3361 2012-06-22  Bruno Haible  <bruno@clisp.org>
3362
3363         fbufmode test: Don't test unportable behaviour.
3364         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
3365         (main): Invoke it three times.
3366         Reported by Szabolcs Nagy <nsz@port70.net>
3367         and Rich Felker <dalias@aerifal.cx>.
3368
3369 2012-06-21  Bruno Haible  <bruno@clisp.org>
3370
3371         gnulib-tool: Refactor inctests variable.
3372         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
3373         (func_modules_transitive_closure,
3374         func_modules_transitive_closure_separately,
3375         func_import, func_create_testdir): Update.
3376
3377         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
3378         * gnulib-tool: Accept option --without-tests.
3379         (func_usage): Document --without-tests option. Rearrange.
3380         (inctests): Normalize according to the mode.
3381         * NEWS: Mention the change.
3382         Suggested by Simon Josefsson.
3383
3384 2012-06-21  Bruce Korb  <bkorb@gnu.org>
3385
3386         parse-duration test: Avoid spurious output.
3387         * tests/test-parse-duration.sh: Reindent with leading tabs.
3388
3389 2012-06-21  Jim Meyering  <meyering@redhat.com>
3390
3391         maint: disable the strncpy prohibition
3392         * cfg.mk: Do not prohibit strncpy here.
3393
3394 2012-06-21  Bruno Haible  <bruno@clisp.org>
3395
3396         nonblocking: Avoid compilation error on mingw64.
3397         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
3398         fscanf.
3399         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
3400         * modules/vfscanf (configure.ac): Likewise.
3401         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
3402         definition only if stdio.h has prepared it.
3403         Reported by Daniel P. Berrange <berrange@redhat.com>.
3404
3405 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
3406
3407         gnulib-tool: Use readlink if it is available.
3408         * gnulib-tool (func_readlink): Choose function more appropriately.
3409
3410 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
3411
3412         posixtm-tests: port to buggy compiler
3413         Problem reported by Simon Josefsson in
3414         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
3415         * modules/posixtm-tests (Depends-on): Add stdint.
3416         * tests/test-posixtm.c (struct posixtm_test.t_expected):
3417         Now of type int_least64_t, not int64_t, both because that's
3418         what INT64_C returns and because int_least64_t works even
3419         on 72-bit hosts.
3420         (T): Use INT64_C on constants outside the traditional int range,
3421         to work around compiler bug noted by Simon.
3422
3423         mktime: fix integer overflow in 'configure'-time test
3424         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
3425         after integer overflow.  Problem reported by Rich Felker in
3426         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
3427         Also, don't look for further instances of a bug if we've already
3428         found one instance; this helps 'configure' run faster.
3429
3430 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
3431
3432         tmpfile, clean-temp: Fix invocation of GetVersionEx.
3433         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
3434         GetVersionEx correctly.
3435         * lib/clean-temp.c (supports_delete_on_close): Likewise.
3436
3437 2012-06-20  Bruno Haible  <bruno@clisp.org>
3438
3439         fdopen: Allow implementations that don't reject invalid fd arguments.
3440         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
3441         succeeds.
3442         Reported by Rich Felker <dalias@aerifal.cx>.
3443
3444 2012-06-20  Simon Josefsson  <simon@josefsson.org>
3445
3446         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
3447         bring in LIBINTL.
3448
3449 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3450
3451         init.sh: do not rely on autoupated PWD
3452         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
3453         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
3454         Although Nelson's bug was not necessarily fixed by this patch,
3455         it seems wise to make the change for safety.
3456         * tests/init.sh (path_prepend_): Do not rely on PWD updating
3457         automagically after 'cd'; this is not reliable on older shells.
3458         (setup_): Fail if we cannot cd to temporary directory.
3459
3460 2012-06-19  Bruno Haible  <bruno@clisp.org>
3461
3462         stat, fstat: Avoid warnings on mingw64.
3463         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
3464         redefining.
3465         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
3466         Reported by Daniel P. Berrange <berrange@redhat.com>.
3467
3468 2012-06-19  Bruno Haible  <bruno@clisp.org>
3469
3470         stdioext: Add support for musl libc.
3471
3472         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
3473         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
3474
3475         * m4/fseterr.m4: New file.
3476         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
3477         function exists.
3478         * modules/fseterr (Files): Add m4/fseterr.m4.
3479         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
3480         __fseterr does not exist.
3481         (Makefile.am): Remove fseterr.c from lib_SOURCES.
3482
3483         * lib/freadable.h: Update comment.
3484
3485         * lib/fwritable.h: Update comment.
3486
3487         * lib/freading.h: Update comment.
3488
3489         * lib/fwriting.h: Update comment.
3490
3491         * m4/freadahead.m4: New file.
3492         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
3493         that function exists.
3494         * modules/freadahead (Files): Add m4/freadahead.m4.
3495         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
3496         __freadahead does not exist.
3497         (Makefile.am): Remove freadahead.c from lib_SOURCES.
3498
3499         * m4/freadptr.m4: New file.
3500         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
3501         function exists.
3502         * modules/freadptr (Files): Add m4/freadptr.m4.
3503         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
3504         __freadptr does not exist.
3505         (Makefile.am): Remove freadptr.c from lib_SOURCES.
3506
3507         * m4/freadseek.m4: New file.
3508         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
3509         exists.
3510         * modules/freadseek (Files): Add m4/freadseek.m4.
3511         (configure.ac): Invoke gl_FUNC_FREADSEEK.
3512
3513         * lib/fpurge.c (fpurge): Update comment.
3514
3515         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
3516
3517 2012-06-19  Bruno Haible  <bruno@clisp.org>
3518
3519         *printf-posix: Put more info into config.log.
3520         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
3521         exit code into config.log.
3522
3523 2012-06-19  Bruno Haible  <bruno@clisp.org>
3524
3525         getopt-gnu: Fix exit code overflow in autoconf test.
3526         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
3527         to keep them below < 128.
3528
3529 2012-06-17  Jim Meyering  <meyering@redhat.com>
3530
3531         maint.mk: fix typo in code to derive GPG key at release time
3532         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
3533
3534 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
3535
3536         regex: avoid warning when pointers are not long
3537         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
3538         and uintptr_t, not long, for portability to hosts where pointers and
3539         long have different sizes.  Issue noted by Daniel P. Berrange in
3540         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
3541         and fix suggested by Bruno Haible in
3542         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
3543
3544 2012-06-17  Bruno Haible  <bruno@clisp.org>
3545
3546         dummy: Relicense into the public domain.
3547         * modules/dummy (License): Set to "public domain".
3548         Suggested by Reuben Thomas.
3549
3550 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3551
3552         announce-gen: VPATH issues
3553         * build-aux/announce-gen (--srcdir): New option, used to trim the
3554         $srcdir part of the path from $builddir to NEWS.
3555         * top/maint.mk (announcement): Adjust.
3556
3557 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3558
3559         gnu-web-doc-update: VPATH builds
3560         * build-aux/gnu-web-doc-update (--builddir): New option.
3561         Revamp the handling of options.
3562         Prefer $(...) to `...`.
3563         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
3564         the template, and it is GNU mktemp specific.
3565         Prefer set -e to long series of &&.
3566         Restore the initial git branch, not "master".
3567         Properly initialize submodules (don't rely only on bootstrap).
3568         Do not reconfigure blindly, use config.status.
3569         * top/README-release: Update instructions for gnu-web-doc-update.
3570
3571 2012-06-11  Jim Meyering  <meyering@redhat.com>
3572
3573         maint.mk: revert most of the previous change re "all these"
3574         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
3575         For rationale, see the discussion at
3576         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
3577
3578 2012-06-10  Karl Berry  <karl@gnu.org>
3579
3580         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
3581
3582         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
3583
3584 2012-06-10  Bruce Korb  <bkorb@gnu.org>
3585
3586         parse-duration: Relicense under LGPLv2+.
3587         * modules/parse-duration (License): Change to LGPLv2+.
3588
3589 2012-06-10  Jim Meyering  <meyering@redhat.com>
3590
3591         maint.mk: prohibit common grammar error: "all these"
3592         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
3593         the list of prohibited word sequences.  It should be "all of these".
3594         * lib/tempname.c (__gen_tempname): Fix one of them.
3595
3596 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3597
3598         do-release-commit-and-tag: support VPATH builds
3599         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
3600         (noteworthy): Defined earlier to factor its value.
3601         (noteworthy_stub): New.
3602         Use it to factor.
3603         (help_version): Split into...
3604         (help, version): these.
3605         Adjust the option processing part.
3606         Support "--option=value" in addition to "--option value".
3607         (builddir): New.
3608         (--builddir): New option.
3609         * top/README-release: Document this.
3610         Reword slightly so that the reader cannot understand that he
3611         has to do these steps before calling do-release-commit-and-tag.
3612
3613 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3614
3615         readme-release: also require announce-gen and maintainer-makefile
3616         * modules/readme-release (Depends-on): here.
3617         * modules/announce-gen, modules/do-release-commit-and-tag,
3618         modules/gnu-web-doc-update, modules/maintainer-makefile
3619         (Description): Point to readme-release.
3620
3621 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3622
3623         maint.mk: fix VPATH issues.
3624         * top/maint.mk (news-check): GNU Make understand $< very well.
3625         (release-prep): NEWS is in $(srcdir).
3626
3627 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
3628
3629         readme-release: require the promoted modules.
3630         * modules/readme-release (Depends-on): Add
3631         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
3632         in this text.
3633
3634 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3635             Bruno Haible  <bruno@clisp.org>
3636
3637         error, strerror-override: Support mingw64 from Fedora 17.
3638         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
3639         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
3640         EINPROGRESS.
3641         * lib/strerror-override.h (strerror_override): Test it.
3642         * lib/strerror-override.c (strerror_override): Likewise.
3643         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
3644
3645 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3646             Bruno Haible  <bruno@clisp.org>
3647
3648         error, strerror-override: Support mingw64 from Fedora 17.
3649         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
3650         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
3651         * lib/strerror-override.h (strerror_override): Test it.
3652         * lib/strerror-override.c (strerror_override): Likewise.
3653
3654 2012-06-03  Bruno Haible  <bruno@clisp.org>
3655
3656         error, strerror-override: Support new errno values from POSIX:2008.
3657         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
3658         ENOTRECOVERABLE.
3659         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
3660         platforms.
3661         * lib/strerror-override.c (strerror_override): Conditionalize the
3662         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
3663         * lib/strerror-override.h (strerror_override): Declare also if
3664         GNULIB_defined_EOWNERDEAD is defined.
3665         * tests/test-errno.c (e130, e131): New variables.
3666         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
3667         ENOTRECOVERABLE.
3668         Reported by Paolo Bonzini.
3669
3670 2012-05-31  Jim Meyering  <meyering@redhat.com>
3671
3672         savewd: add missing dependency on sys_wait module
3673         * modules/savewd (Depends-on): Add sys_wait, needed at least
3674         for MSVC.  Report and suggested change by Michael Goffioul.
3675
3676 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3677
3678         system-quote-tests: port to CentOS 5
3679         Problem reported by Tom G. Christensen in
3680         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
3681         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
3682
3683 2012-05-29  Jim Meyering  <meyering@redhat.com>
3684
3685         maint: fix typos in comments and ChangeLog
3686         Culprits identified and fixed mostly automatically using these commands:
3687         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
3688         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
3689         using http://github.com/lyda/misspell-check
3690         * ChangeLog: Fix typos.
3691         * doc/solaris-versions: Likewise.
3692         * lib/regexec.c (re_search_stub): Likewise.
3693         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
3694
3695 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
3696
3697         manywarnings: remove duplicate -Wmultichar entry
3698         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
3699         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
3700         so keep the entry marked as documented.
3701
3702 2012-05-27  Karl Berry  <karl@gnu.org>
3703
3704         * config/srclist.txt (mktime.c): remove last libc sync,
3705         perhaps just temporarily.
3706
3707 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
3708
3709         regex: don't assume uint64_t or uint32_t
3710         * lib/regcomp.c (init_word_char): Don't assume that the types
3711         uint64_t and uint32_t exist.  The C standard doesn't guarantee
3712         them, and on some 32-bit compilers there is no uint64_t.
3713         Problem reported by Gianluigi Tiesi in
3714         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
3715
3716 2012-05-25  Jim Meyering  <meyering@redhat.com>
3717
3718         maint.mk: add strncpy-prohibiting syntax-check rule
3719         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
3720
3721 2012-05-24  Jim Meyering  <meyering@redhat.com>
3722
3723         maint.mk: compute $(gpg_key_ID) more portably
3724         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
3725         That use of sed is not portable to some fringe systems.
3726         Reported by Paul Eggert in
3727         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
3728
3729 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3730
3731         mktime: sync from glibc
3732         * config/srclist.txt: Uncomment mktime.c.
3733         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
3734         First, indent with tabs, since glibc uses tabs and doesn't want to
3735         change and we'd rather be identical to glibc.  Also, two small
3736         coding changes:
3737         (isdst_differ): Use &&, not &, as && is the usual style.
3738         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
3739         for clarity.
3740
3741 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3742
3743         announce-gen: du -h is more portable than du --human
3744         * build-aux/announce-gen (sizes): Invoke du with -h instead
3745         of --human.  Accept leading white space in its output.
3746
3747 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3748
3749         announce-gen: Improve diagnostics.
3750         * build-aux/announce-gen: When parsing command line options,
3751         prefer "announce-gen: option --release-type requires an argument"
3752         to "Option release-type requires an argument".
3753
3754 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3755
3756         maint.mk: gpg_key_ID: use sed more portably
3757         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
3758         the closing brace.
3759         (refresh-po): Fuse two sed invocations into one.
3760
3761 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
3762
3763         gitlog-to-changelog: support the log message format used in Bison.
3764         * build-aux/gitlog-to-changelog: Support --strip-tab and
3765         --strip-cherry-picked.
3766
3767 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3768
3769         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
3770         the rest of the current time slice to another thread in the current
3771         process. So if the thread that feeds the file decscriptor we're
3772         polling is not in the current process, we get busy-waiting.
3773         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
3774         Patch from Theodore Leblond.
3775         * lib/select.c: Split polling out of the loop that sets the output
3776         fd_sets.  Check for zero result and loop if the wait timeout is
3777         infinite.
3778
3779 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3780
3781         select: Fix build error on IRIX 6.5.
3782         * lib/select.c: Include stddef.h for NULL.
3783
3784 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3785
3786         gc: fix libgcrypt detection on older machines.
3787         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
3788         copyright years because the file has been distributed every year
3789         since it was created.
3790
3791 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
3792
3793         crypto: fix bug in large buffer handling
3794         Problem reported by Serge Belyshev for glibc in
3795         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
3796         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
3797         * lib/md4.c (md4_process_block):
3798         * lib/md5.c (md5_process_block):
3799         * lib/sha1.c (sha1_process_block):
3800         * lib/sha256.c (sha256_process_block):
3801         Don't assume the buffer length is less than 2**32.
3802         * lib/sha512.c (sha512_process_block): Likewise.
3803         Here, the bug is present only in the rare case where the host does
3804         not support uint64_t or where size_t is wider than 64 bits.
3805         Use u64size to work around the problems.
3806         * lib/u64.h (u64size): New macro.
3807
3808 2012-05-15  Pádraig Brady  <P@draigBrady.com>
3809
3810         fsusage: fix block size returned on older Linux 2.6
3811
3812         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
3813         which is available since Linux 2.6.
3814         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
3815         when the member is available so it can be used as a fallback.
3816         * doc/posix-functions/statvfs.texi: Mention the hang issue
3817         on Linux < 2.6.36.
3818
3819 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
3820
3821         bootstrap: suppress stderr chatter
3822         * build-aux/bootstrap (insert_sorted_if_absent, main program):
3823         Omit unnecessary chatter to stderr.  The main program chatter
3824         was there only inadvertantly.
3825
3826         bootstrap: .gitignore files created by autopoint, libtool
3827         I ran into this problem when bootstrapping the latest diffutils.
3828         After './bootstrap', 'git status' reported lots of untracked files
3829         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
3830         autopoint and do not need to be version-controlled.
3831         * build-aux/bootstrap: Put into .gitignore the files that
3832         autopoint and libtool create, by keeping track of files that exist
3833         after but not before these programs are run.
3834         (version_controlled_file): Move up.  2nd arg is now full file
3835         name, not base name; this is more convenient.  Put CVS at the end,
3836         as it's now somewhat deprecated.
3837
3838 2012-05-14  Jim Meyering  <meyering@redhat.com>
3839
3840         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
3841         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
3842         definition.  Reported by Bruno Haible.
3843
3844 2012-05-13  Bruno Haible  <bruno@clisp.org>
3845             Paul Eggert  <eggert@cs.ucla.edu>
3846
3847         binary-io: Define set_binary_mode function.
3848         * lib/binary-io.h (set_binary_mode): New function.
3849         (SET_BINARY): Define in terms of set_binary_mode.
3850         * modules/binary-io (configure.ac): Require AC_C_INLINE.
3851         * tests/test-binary-io.c (main): Accept an argument, and test either
3852         set_binary_mode or SET_BINARY depending on the argument.
3853         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
3854         argument. Clean up also t-bin-out0.tmp.
3855
3856 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3857
3858         bootstrap: take advantage of POSIX shell features
3859
3860         The 'bootstrap' script offered by Gnulib script already uses POSIX
3861         shell features (like $((...)) arithmetic expansions) that are not
3862         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
3863         means that bootstrap must already be run using a proper POSIX shell,
3864         which will thus provide more features, like ${var#pattern} parameter
3865         expansion or inversion of a command exit status with '!'.  We can
3866         thus use these features to improve the clarity and the performances
3867         of the bootstrap script.
3868
3869         Suggested by Eric Blake.
3870
3871         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
3872         of sed/expr plus command substitutions, to save some forks.  While
3873         we are at it, prefer the POSIX $(...) form of command substitution,
3874         rather than the legacy form `...` (since the former is visually
3875         clearer and interacts better with quoting), and prefer the idiom:
3876           "if ! CMD; then ACTION ..."
3877         over the idiom:
3878           "if CMD; then :; else ACTION ..."
3879         which was required by legacy Bourne shells not supporting '!'.
3880
3881 2012-05-12  Bruno Haible  <bruno@clisp.org>
3882
3883         system-quote: Add more comments.
3884         * lib/system-quote.h: Add more comments about wilcards and limitations.
3885         Suggested by Eli Zaretskii <eliz@gnu.org>.
3886
3887         sh-quote, system-quote: Add comments about wildcards.
3888         * lib/sh-quote.h: Clarify what happens with wildcard characters.
3889         * lib/system-quote.h: Likewise.
3890         Reported by Eli Zaretskii <eliz@gnu.org>.
3891
3892 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
3893
3894         fsusage: check for GNU/Linux statvfs problem dynamically
3895         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
3896         Define STAT_STATFS2_BSIZE too, since in this case the code now
3897         checks dynamically whether statvfs is reliable, falling back on
3898         Linux-style statfs otherwise.
3899         (statvfs_works): New function, for dynamically testing statvfs.
3900         (get_fs_usage) [STAT_STATVFS]: Use it.
3901         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
3902         statvfs on GNU/Linux hosts, since it's now done dynamically.
3903
3904 2012-05-10  Bruno Haible  <bruno@clisp.org>
3905
3906         system-quote, execute, spawn-pipe: Escape '?' on Windows.
3907         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
3908         '?' character.
3909         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
3910         * tests/test-system-quote-main.c (check_all): Check also strings like
3911         "??????????".
3912         Reported by Eli Zaretskii <eliz@gnu.org>.
3913
3914 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
3915
3916         _Noreturn: port config.h to gcc -Wundef
3917         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
3918         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
3919         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
3920
3921 2012-05-10  Bruno Haible  <bruno@clisp.org>
3922
3923         system-quote: Refactor.
3924         * lib/system-quote.h (system_quote_copy): Fix comment.
3925         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
3926         New functions, extracted from system_quote_copy.
3927         (system_quote_length, system_quote_copy): Use these functions.
3928         Reported by Paul Eggert.
3929
3930 2012-05-08  Bruno Haible  <bruno@clisp.org>
3931
3932         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
3933         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
3934
3935 2012-05-08  Bruno Haible  <bruno@clisp.org>
3936
3937         Tests for module 'system-quote'.
3938         * modules/system-quote-tests: New file.
3939         * tests/test-system-quote.sh: New file.
3940         * tests/test-system-quote-main.c: New file.
3941         * tests/test-system-quote-child.c: New file.
3942
3943         New module 'system-quote'.
3944         * lib/system-quote.h: New file.
3945         * lib/system-quote.c: New file.
3946         * modules/system-quote: New file.
3947
3948 2012-05-08  Bruno Haible  <bruno@clisp.org>
3949
3950         sh-quote: Make C++ safe and allow multiple inclusion.
3951         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
3952         declarations in extern "C".
3953
3954 2012-05-08  Bruno Haible  <bruno@clisp.org>
3955
3956         sh-quote tests: Make tests stricter.
3957         * tests/test-sh-quote.c (check_one): Check the return value of
3958         shell_quote_copy.
3959         (main): Check a string with a CR character. Check a string that
3960         contains UCHAR_MAX.
3961
3962 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
3963
3964         warnings.m4: provide a means to specify the program to compile.
3965         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
3966         (gl_WARN_ADD): here.
3967         Use gl_AS_VAR_APPEND.
3968         Support an argument to specify the program to compile.
3969         (gl_WARN_ADD): Accept an argument to specify the program to compile.
3970         AC_SUBST the WARN_CFLAGS when they are used.
3971         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
3972         leave this to gl_WARN_ADD.
3973
3974 2012-05-08  Eric Blake  <eblake@redhat.com>
3975
3976         doc: recommendations on gettext version
3977         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
3978         choice between versions.
3979         * DEPENDENCIES (gettext): Cover both approaches.
3980
3981 2012-05-08  Jim Meyering  <meyering@redhat.com>
3982
3983         init.sh: explain why EXEEXT support uses aliases rather than functions
3984         * tests/init.sh: Add a comment.
3985
3986         init.sh: don't let bash aliases interfere with tests
3987         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
3988         is bash.  This avoids problems for those who alias standard commands to
3989         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
3990         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
3991
3992 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
3993
3994         stdint: be more consistent with glibc, SunOS libc
3995         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
3996         (gl_int_fast16_t, gl_uint_fast16_t)
3997         (gl_int_fast32_t, gl_uint_fast32_t)
3998         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
3999         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
4000         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
4001         Be consistent with glibc by default, and with SunOS 5.10 and later
4002         if __sun is defined.  This lessens the likelihood of clashes if
4003         code compiled for older hosts is combined with code compiled for
4004         newer ones.  Problem reported by Niels Möller in
4005         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
4006
4007 2012-05-07  Eric Blake  <eblake@redhat.com>
4008
4009         isatty: relax license to LGPLv2+
4010         * modules/isatty (License): Relax license.
4011
4012 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4013
4014         stat-size: comment fix
4015         * lib/stat-size.h: Remove obsolete comment about indenting.
4016
4017 2012-05-06  Bruno Haible  <bruno@clisp.org>
4018
4019         Tests for module 'sh-quote'.
4020         * modules/sh-quote-tests: New file.
4021         * tests/test-sh-quote.c: New file.
4022
4023 2012-05-06  Bruno Haible  <bruno@clisp.org>
4024
4025         sh-quote: Improve shell_quote_argv's signature.
4026         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
4027         * lib/sh-quote.c (shell_quote_argv): Likewise.
4028
4029 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4030
4031         stdint: document issues with int_fast8_t etc.
4032         * doc/posix-headers/stdint.texi (stdint.h): Say that other
4033         stdint.h substitutes may define these types differently.  See
4034         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
4035
4036 2012-05-05  Bruno Haible  <bruno@clisp.org>
4037
4038         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
4039         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
4040         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
4041         or 'guessing no (mishandles large arguments)'.
4042
4043 2012-05-05  Bruno Haible  <bruno@clisp.org>
4044
4045         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
4046         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
4047         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4048         set gl_cv_func_link_follows_symlink to "guessing no".
4049
4050 2012-05-05  Bruno Haible  <bruno@clisp.org>
4051
4052         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
4053         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
4054         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
4055         "guessing no".
4056         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
4057
4058 2012-05-05  Bruno Haible  <bruno@clisp.org>
4059
4060         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
4061         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
4062         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4063         set gl_cv_struct_dirent_d_ino to "guessing yes".
4064
4065 2012-05-05  Bruno Haible  <bruno@clisp.org>
4066
4067         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
4068         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
4069         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
4070         "guessing yes".
4071
4072 2012-05-05  Bruno Haible  <bruno@clisp.org>
4073
4074         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
4075         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
4076         compiling to a glibc system, set gl_cv_func_signbit and
4077         gl_cv_func_signbit_gcc to "guessing yes".
4078
4079 2012-05-05  Bruno Haible  <bruno@clisp.org>
4080
4081         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
4082         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
4083         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
4084         to "guessing yes".
4085         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
4086         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
4087
4088 2012-05-05  Bruno Haible  <bruno@clisp.org>
4089
4090         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
4091         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
4092         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
4093         gl_cv_func_realpath_works to "guessing yes".
4094
4095 2012-05-05  Bruno Haible  <bruno@clisp.org>
4096
4097         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
4098         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
4099         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
4100
4101 2012-05-04  Bruno Haible  <bruno@clisp.org>
4102
4103         Tweak last commit.
4104         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
4105         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4106
4107 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
4108
4109         unistd_h: make it easier to avoid sys_types_h
4110         This is useful for Emacs, which has its own method of porting to
4111         Windows, and which therefore does not need the sys_types_h module.
4112         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
4113         code moved here from gl_SYS_TYPES_H.
4114         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
4115         using the code directly.
4116         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
4117         gl_SYS_TYPES_H.
4118         * modules/sys_types (Files):
4119         * modules/unistd (Files): Add m4/off_t.m4.
4120
4121 2012-05-03  Bruno Haible  <bruno@clisp.org>
4122
4123         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
4124         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
4125         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
4126         "guessing yes" or "guessing no".
4127         (gl_FUNC_LSTAT): Update.
4128         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
4129         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
4130         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
4131
4132 2012-05-03  Bruno Haible  <bruno@clisp.org>
4133
4134         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
4135         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
4136         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
4137         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
4138         cross-compiling, choose the first alternative on glibc systems.
4139         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
4140
4141 2012-05-03  Bruno Haible  <bruno@clisp.org>
4142
4143         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
4144         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
4145         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
4146
4147 2012-05-03  Bruno Haible  <bruno@clisp.org>
4148
4149         chown: Avoid "guessing no" when cross-compiling to glibc systems.
4150         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
4151
4152 2012-05-03  Bruno Haible  <bruno@clisp.org>
4153
4154         Avoid "guessing no" guesses when cross-compiling to glibc systems.
4155         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
4156         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
4157         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
4158         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
4159         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
4160         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
4161         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
4162         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
4163         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
4164         compiling to glibc systems, set gl_cv_func_chown_slash_works,
4165         gl_cv_func_chown_ctime_works to "guessing yes".
4166         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
4167         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
4168         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
4169         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
4170         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
4171         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
4172         compiling to glibc systems, set gl_cv_func_open_directory_works to
4173         "guessing yes".
4174         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
4175         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
4176         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
4177         "guessing yes".
4178         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
4179         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
4180         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
4181         compiling to glibc systems, set gl_cv_func_floorf_ieee to
4182         "guessing yes".
4183         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
4184         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
4185         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
4186         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
4187         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
4188         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
4189         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
4190         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
4191         "guessing yes".
4192         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
4193         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
4194         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
4195         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
4196         "guessing yes".
4197         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
4198         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
4199         "guessing yes".
4200         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
4201         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
4202         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
4203         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
4204         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
4205         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
4206         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
4207         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
4208         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
4209         compiling to glibc systems, set gl_cv_func_log10f_ieee to
4210         "guessing yes".
4211         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
4212         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
4213         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
4214         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
4215         "guessing yes".
4216         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
4217         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
4218         "guessing yes".
4219         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
4220         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
4221         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
4222         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
4223         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
4224         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
4225         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
4226         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
4227         compiling to glibc systems, set gl_cv_func_mkfifo_works to
4228         "guessing yes".
4229         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
4230         compiling to glibc systems, set gl_cv_func_mknod_works to
4231         "guessing yes".
4232         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
4233         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
4234         "guessing yes".
4235         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
4236         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
4237         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
4238         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
4239         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
4240         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
4241         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
4242         compiling to glibc systems, set gl_cv_func_svid_putenv to
4243         "guessing yes".
4244         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
4245         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
4246         "guessing yes".
4247         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
4248         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
4249         "guessing yes".
4250         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
4251         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
4252         to "guessing yes".
4253         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
4254         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
4255         to "guessing yes".
4256         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
4257         compiling to glibc systems, set gl_cv_func_rmdir_works to
4258         "guessing yes".
4259         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
4260         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
4261         gl_cv_func_unlink_parent_fails to "guessing yes".
4262         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
4263         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
4264         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
4265         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
4266         gl_cv_func_rename_dest_works to "guessing yes".
4267         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
4268         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
4269         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
4270         compiling to glibc systems, set gl_cv_func_roundf_ieee to
4271         "guessing yes".
4272         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
4273         compiling to glibc systems, set gl_cv_func_roundl_ieee to
4274         "guessing yes".
4275         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
4276         compiling to glibc systems, set gl_cv_func_setenv_works to
4277         "guessing yes".
4278         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
4279         compiling to glibc systems, set gl_cv_func_unsetenv_works to
4280         "guessing yes".
4281         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
4282         compiling to glibc systems, set gl_cv_func_sleep_works to
4283         "guessing yes".
4284         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
4285         compiling to glibc systems, set gl_cv_func_stat_file_slash to
4286         "guessing yes".
4287         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
4288         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
4289         "guessing yes".
4290         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
4291         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
4292         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
4293         compiling to glibc systems, set gl_cv_func_truncf_ieee to
4294         "guessing yes".
4295         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
4296         compiling to glibc systems, set gl_cv_func_truncl_ieee to
4297         "guessing yes".
4298         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
4299         compiling to glibc systems, set gl_cv_func_usleep_works to
4300         "guessing yes".
4301         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
4302         compiling to glibc systems, set gl_cv_func_futimesat_works to
4303         "guessing yes".
4304
4305 2012-05-03  Bruno Haible  <bruno@clisp.org>
4306
4307         Say "guessing yes" or "guessing no" when cross-compiling.
4308         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
4309         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
4310         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
4311         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
4312         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
4313         am_cv_func_working_getline to "guessing yes" or "guessing no".
4314         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
4315         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
4316         (gl_FUNC_MEMMEM): When cross-compiling, set
4317         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
4318         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
4319         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
4320         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
4321         set gl_cv_func_strcasestr_works_always to "guessing yes" or
4322         "guessing no".
4323         (gl_FUNC_STRCASESTR): When cross-compiling, set
4324         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
4325         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
4326         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
4327         (gl_FUNC_STRSTR): When cross-compiling, set
4328         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
4329         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
4330         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
4331         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
4332         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
4333
4334 2012-05-01  Bruno Haible  <bruno@clisp.org>
4335
4336         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
4337         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
4338         * build-aux/reloc-ldflags: Likewise.
4339         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
4340
4341 2012-05-01  Bruno Haible  <bruno@clisp.org>
4342
4343         gnulib-tool: Remove transitional code.
4344         * gnulib-tool: Don't warn about --import with 0 arguments any more.
4345         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
4346
4347 2012-05-01  Bruno Haible  <bruno@clisp.org>
4348
4349         getcwd: Fix misindentation.
4350         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
4351
4352 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
4353
4354         exclude: process exclude and include directives in order
4355         This restores the pre-2009 behavior, and is part of a fix of a
4356         grep bug reported by Quentin Arce in
4357         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
4358         * lib/exclude.c (struct exclude): Remove 'tail' member.
4359         (new_exclude_segment): Prepend the new segment instead of appending.
4360         Return void, since that's now more convenient.
4361         (file_pattern_matches): Renamed from excluded_file_pattern_p.
4362         (file_name_matches): Renamed from excluded_file_name_p.
4363         (file_pattern_matches, file_name_matches):
4364         Return true if the pattern matches, not if it excludes.
4365         All callers changed.
4366         (excluded_file_name): Process the list in reverse order;
4367         since the list is now reversed this restores the pre-2009 behavior.
4368         (add_exclude): Adjust to new reversed-order list.  Use local var
4369         rather than macro, for clarity.
4370         * tests/test-exclude7.sh: Adjust to corrected behavior.
4371
4372         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
4373         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
4374         it's not possible here.  Handle the case of \ at end of pattern
4375         without dumping core.
4376         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
4377
4378         _Noreturn: future-proof non-GNU and non-MSVC compilers
4379         * build-aux/snippet/_Noreturn.h (_Noreturn):
4380         * m4/gnulib-common.m4 (gl_COMMON_BODY):
4381         Do not define _Noreturn if __STDC_VERSION__ indicates this is
4382         C11 or later.  This is more likely to work with random future C
4383         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
4384         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
4385
4386         exclude: handle wildcards with FNM_EXTMATCH
4387         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
4388         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
4389         comment that "has wildcards" really means "has or may have
4390         wildcards".  Simplify by avoiding the need to call strcspn.
4391
4392 2012-04-29  Bruno Haible  <bruno@clisp.org>
4393
4394         gnulib-tool: Fix list of authors.
4395         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
4396
4397 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
4398
4399         bootstrap: support Automake-NG in $buildreq
4400         * bootstrap (check_versions): Handle automake and aclocal from
4401         Automake-NG specially.  They can be specified as respectively
4402         the "automake-ng" and "aclocal-ng" requirements.
4403
4404 2012-04-25  Eric Blake  <eblake@redhat.com>
4405
4406         bootstrap: only force latest Makefile.in.in for gettext module
4407         * build-aux/bootstrap (with_gettext): Only install latest
4408         Makefile.in.in for projects requesting bleeding edge gettext.
4409
4410 2012-04-22  Bruno Haible  <bruno@clisp.org>
4411
4412         doc: Mention reason for replacement on glibc/Linux systems.
4413         * doc/posix-functions/dprintf.texi: Mention the problem with special
4414         'long double' values.
4415         * doc/posix-functions/fprintf.texi: Likewise.
4416         * doc/posix-functions/printf.texi: Likewise.
4417         * doc/posix-functions/snprintf.texi: Likewise.
4418         * doc/posix-functions/sprintf.texi: Likewise.
4419         * doc/posix-functions/vdprintf.texi: Likewise.
4420         * doc/posix-functions/vfprintf.texi: Likewise.
4421         * doc/posix-functions/vprintf.texi: Likewise.
4422         * doc/posix-functions/vsnprintf.texi: Likewise.
4423         * doc/posix-functions/vsprintf.texi: Likewise.
4424         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
4425         platforms with F_DUPFD_CLOEXEC problems.
4426         * doc/posix-functions/glob.texi: Mention which platforms are affected
4427         by the problem with symbolic links.
4428         * doc/posix-functions/linkat.texi: Mention the problem with
4429         AT_SYMLINK_FOLLOW on Linux.
4430
4431 2012-04-22  Bruno Haible  <bruno@clisp.org>
4432
4433         pwrite: Don't replace on all platforms.
4434         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
4435
4436 2012-04-22  Bruno Haible  <bruno@clisp.org>
4437
4438         rint* tests: Avoid gcc warnings.
4439         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
4440         * tests/test-rintf.c (INFINITY, NAN): Likewise.
4441         * tests/test-rintl.c (INFINITY, NAN): Likewise.
4442
4443 2012-04-21  Bruno Haible  <bruno@clisp.org>
4444
4445         users.txt: Update.
4446         * users.txt: Add freedink, wdiff. Update URLs for projects that have
4447         switched from CVS to git, bzr, or svn.
4448
4449 2012-04-21  Bruno Haible  <bruno@clisp.org>
4450
4451         Large File Support for native Windows platforms.
4452
4453         * m4/largefile.m4 (gl_LARGEFILE): New macro.
4454         * modules/largefile (configure.ac): Require gl_LARGEFILE.
4455
4456         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
4457         type.
4458         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
4459         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
4460         * doc/posix-headers/sys_types.texi: Mention the effect of the
4461         'largefile' module.
4462
4463         * lib/fcntl.in.h: Add comments about off_t.
4464         * modules/fcntl-h (Depends-on): Add sys_types.
4465
4466         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
4467         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
4468         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
4469         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
4470         * modules/unistd (Depends-on): Add sys_types.
4471         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
4472
4473         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
4474         instead of lseek.
4475         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
4476         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
4477         * modules/lseek (Depends-on): Add sys_types.
4478
4479         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
4480         msvc-nothrow.h.
4481         (SetFileSize): New function.
4482         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
4483         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
4484         if Large File Support is requested.
4485         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
4486         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
4487
4488         * lib/stdio.in.h: Add comments about off_t.
4489         * modules/stdio (Depends-on): Add sys_types.
4490
4491         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
4492         instead of ftello.
4493         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
4494         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
4495         (gl_PREREQ_FTELLO): New macro.
4496         * modules/ftello (Depends-on): Add sys_types.
4497         (configure.ac): Incoke gl_PREREQ_FTELLO.
4498
4499         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
4500         instead of fseeko.
4501         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
4502         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
4503         (gl_PREREQ_FSEEKO): New macro.
4504         * modules/fseeko (Depends-on): Add sys_types.
4505         (configure.ac): Invoke gl_PREREQ_FSEEKO.
4506
4507         * lib/sys_stat.in.h: Add comments about off_t.
4508         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
4509         64-bit integer for st_size in 'struct stat'.
4510         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
4511         Define _GL_WINDOWS_64_BIT_ST_SIZE.
4512         * modules/sys_stat (Depends-on): Add sys_types.
4513         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
4514
4515         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
4516         instead of stat or _stat.
4517
4518         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
4519         'struct _stati64' instead of fstat and 'struct stat'.
4520         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
4521         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
4522
4523         Reported by Ray Satiro <raysatiro@yahoo.com>.
4524
4525 2012-04-19  Eric Blake  <eblake@redhat.com>
4526
4527         bootstrap: accommodate older libtool
4528         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
4529         Reported by Daniel P. Berrange.
4530
4531 2012-04-19  Jim Meyering  <meyering@redhat.com>
4532
4533         announce-gen: avoid failure due to lack of Digest::SHA1
4534         Even with the preferred Digest::SHA available, this script
4535         would fail when the backup module, Digest::SHA1, was not installed.
4536         * build-aux/announce-gen: Quote the conditional use of "use".
4537         Reported by Reuben Thomas in:
4538         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
4539
4540         bootstrap: don't let a user's CDPATH setting affect this script
4541         When CDPATH is set, cd will sometimes generate output.
4542         When "cd" is run in a subshell whose output matters, that
4543         surprising-to-some output can cause malfunction.
4544         Unsetting CDPATH turns off this shell "feature."
4545         * build-aux/bootstrap (CDPATH): Unset.
4546         Reported by Reuben Thomas in:
4547         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
4548         and inspired by his patch here:
4549         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
4550
4551 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
4552         and Jim Meyering  <meyering@redhat.com>
4553
4554         maint.mk: catch "see @xref{}" and similar
4555         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
4556         prohibit "See also @xref{", "Also see @pxref{", and similar.
4557
4558 2012-04-16  Jim Meyering  <meyering@redhat.com>
4559
4560         bootstrap: really use gnulib's po/Makefile.in.in
4561         * build-aux/bootstrap: Correct the source file name in previous change.
4562         Reported by Akim Demaille.
4563
4564         configmake: correct minor inconsistency in Makefile rule
4565         * modules/configmake (Makefile.am): All other rules like this one
4566         run the final "mv -f ..." in the same backslash-continued command
4567         as the one that does everything else.  This one put the mv -f ...
4568         command on a separate, non-backslash-continued line.
4569         Make it like the others.
4570
4571         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
4572         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
4573         the one from gettext.  Reported by Akim Demaille.
4574
4575 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
4576
4577         Fix recursion of install-* into po directories.
4578         Bison's install-pdf bug reported by Hans Aberg at
4579         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
4580         * build-aux/po/Makefile.in.in (install-dvi, install-html)
4581         (install-info, install-pdf, install-ps): New targets.
4582
4583 2012-04-16  Jim Meyering  <meyering@redhat.com>
4584
4585         maint: avoid spurious "make sc_maint" failure
4586         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
4587         exempt all *.class file names, for lib/javaversion.class.
4588
4589 2012-04-15  Bruno Haible  <bruno@clisp.org>
4590
4591         lseek: Make configure test independent of environment.
4592         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
4593         Windows, we know that lseek() on pipes is broken; skip the runtime
4594         test.
4595
4596 2012-04-14  Bruno Haible  <bruno@clisp.org>
4597
4598         stat: Bypass buggy override in mingw64.
4599         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
4600         * lib/stat.c (stat) [mingw64]: Define to _stat.
4601         * doc/posix-functions/stat.texi: Mention mingw64 bug.
4602
4603 2012-04-14  Bruno Haible  <bruno@clisp.org>
4604
4605         pathmax: Fix compilation error on MSVC 9.
4606         * modules/pathmax (Depends-on): Add unistd.
4607
4608 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
4609
4610         README: document pointer comparison assumption
4611         * README (Portability guidelines): Document assumption about
4612         pointer comparisons, in response to a recent bug-gnulib comment by
4613         Jeffrey Kegler.
4614
4615 2012-04-12  Bruno Haible  <bruno@clisp.org>
4616
4617         Tests for module 'getrusage'.
4618         * modules/getrusage-tests: New file.
4619         * tests/test-getrusage.c: New file.
4620
4621         New module 'getrusage'.
4622         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
4623         warn-on-use.h.
4624         (getrusage): New declaration.
4625         * lib/getrusage.c: New file.
4626         * m4/getrusage.m4: New file.
4627         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
4628         is declared.
4629         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
4630         HAVE_GETRUSAGE.
4631         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
4632         snippet/c++defs, snippet/warn-on-use.
4633         (Makefile.am): Update generation of sys/resource.h. Substitute
4634         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
4635         * modules/getrusage: New file.
4636         * doc/posix-functions/getrusage.texi: Mention the new module.
4637
4638 2012-04-12  Bruno Haible  <bruno@clisp.org>
4639
4640         Tests for module 'sys_resource'.
4641         * modules/sys_resource-tests: New file.
4642         * tests/test-sys_resource.c: New file.
4643
4644         New module 'sys_resource'.
4645         * lib/sys_resource.in.h: New file.
4646         * m4/sys_resource_h.m4: New file.
4647         * modules/sys_resource: New file.
4648         * doc/posix-headers/sys_resource.texi: Mention the new module.
4649
4650 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
4651
4652         ioctl: Fix compilation error on mingw.
4653         * lib/ioctl.c: Include <windows.h>.
4654         Also reported by Ray Satiro <raysatiro@yahoo.com>.
4655
4656 2012-04-04  Jim Meyering  <meyering@redhat.com>
4657
4658         regex: correct #pragma guard expression
4659         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
4660         not 4.3.  Correct its cpp guard expression.
4661
4662 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
4663
4664         regex: remove unnecessary type punning
4665         Problem reported by Vladimir Serbinenko in
4666         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
4667         * lib/regex.h (struct re_pattern_buffer): Change the type of
4668         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
4669         Fix comment to match code.
4670         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
4671         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
4672         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
4673         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
4674         (set_regs):
4675         Omit no-longer-necessary casts.
4676
4677 2012-04-03  Bruno Haible  <bruno@clisp.org>
4678
4679         Tests for module 'ilogbl'.
4680         * modules/ilogbl-tests: New file.
4681         * tests/test-ilogbl.c: New file.
4682
4683         New module 'ilogbl'.
4684         * lib/math.in.h (ilogbl): New declaration.
4685         * lib/ilogbl.c: New file.
4686         * m4/ilogbl.m4: New file.
4687         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
4688         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
4689         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
4690         Split sed invocation, to avoid the limit of 100 substitutions of
4691         HP-UX 'sed'.
4692         * modules/ilogbl: New file.
4693         * tests/test-math-c++.cc: Check the declaration of ilogbl.
4694         * doc/posix-functions/ilogbl.texi: Mention the new module.
4695
4696 2012-04-03  Bruno Haible  <bruno@clisp.org>
4697
4698         Tests for module 'ilogbf'.
4699         * modules/ilogbf-tests: New file.
4700         * tests/test-ilogbf.c: New file.
4701
4702         New module 'ilogbf'.
4703         * lib/math.in.h (ilogbf): New declaration.
4704         * lib/ilogbf.c: New file.
4705         * m4/ilogbf.m4: New file.
4706         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
4707         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
4708         REPLACE_ILOGBF.
4709         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
4710         REPLACE_ILOGBF.
4711         * modules/ilogbf: New file.
4712         * tests/test-math-c++.cc: Check the declaration of ilogbf.
4713         * doc/posix-functions/ilogbf.texi: Mention the new module.
4714
4715 2012-04-03  Bruno Haible  <bruno@clisp.org>
4716
4717         Tests for module 'ilogb'.
4718         * modules/ilogb-tests: New file.
4719         * tests/test-ilogb.c: New file.
4720         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
4721         tests/test-logb-ieee.h.
4722
4723         New module 'ilogb'.
4724         * lib/math.in.h (ilogb): New declaration.
4725         * lib/ilogb.c: New file.
4726         * m4/ilogb.m4: New file.
4727         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
4728         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
4729         REPLACE_ILOGB.
4730         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
4731         REPLACE_ILOGB.
4732         * modules/ilogb: New file.
4733         * tests/test-math-c++.cc: Check the declaration of ilogb.
4734         * doc/posix-functions/ilogb.texi: Mention the new module.
4735
4736 2012-04-03  Bruno Haible  <bruno@clisp.org>
4737
4738         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
4739         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
4740         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
4741         (main): Check their values.
4742         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
4743         problem.
4744
4745 2012-04-03  Bruno Haible  <bruno@clisp.org>
4746
4747         Tests for module 'logbl-ieee'.
4748         * modules/logbl-ieee-tests: New file.
4749         * tests/test-logbl-ieee.c: New file.
4750
4751         New module 'logbl-ieee'.
4752         * modules/logbl-ieee: New file.
4753
4754         Tests for module 'logb-ieee'.
4755         * modules/logb-ieee-tests: New file.
4756         * tests/test-logb-ieee.c: New file.
4757
4758         New module 'logb-ieee'.
4759         * modules/logb-ieee: New file.
4760
4761         Tests for module 'logbf-ieee'.
4762         * modules/logbf-ieee-tests: New file.
4763         * tests/test-logbf-ieee.c: New file.
4764         * tests/test-logb-ieee.h: New file.
4765
4766         New module 'logbf-ieee'.
4767         * modules/logbf-ieee: New file.
4768
4769 2012-04-03  Bruno Haible  <bruno@clisp.org>
4770
4771         Tests for module 'logbl'.
4772         * modules/logbl-tests: New file.
4773         * tests/test-logbl.c: New file.
4774
4775         New module 'logbl'.
4776         * lib/math.in.h (logbl): New declaration.
4777         * lib/logbl.c: New file.
4778         * m4/logbl.m4: New file.
4779         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
4780         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
4781         REPLACE_LOGBL.
4782         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
4783         REPLACE_LOGBL.
4784         * modules/logbl: New file.
4785         * tests/test-math-c++.cc: Check the declaration of logbl.
4786         * doc/posix-functions/logbl.texi: Mention the new module.
4787
4788 2012-04-02  Bruno Haible  <bruno@clisp.org>
4789
4790         Tests for module 'logbf'.
4791         * modules/logbf-tests: New file.
4792         * tests/test-logbf.c: New file.
4793
4794         New module 'logbf'.
4795         * lib/math.in.h (logbf): New declaration.
4796         * lib/logbf.c: New file.
4797         * m4/logbf.m4: New file.
4798         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
4799         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
4800         REPLACE_LOGBF.
4801         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
4802         REPLACE_LOGBF.
4803         * modules/logbf: New file.
4804         * tests/test-math-c++.cc: Check the declaration of logbf.
4805         * doc/posix-functions/logbf.texi: Mention the new module.
4806
4807 2012-04-02  Bruno Haible  <bruno@clisp.org>
4808
4809         logb tests: More tests.
4810         * tests/test-logb.h: New file, based on tests/test-logb.c and
4811         tests/test-frexp.h.
4812         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
4813         (main): Just invoke test_function.
4814         * modules/logb-tests (Files): Add tests/test-logb.h,
4815         tests/minus-zero.h, tests/randomd.c.
4816         (Makefile.am): Add randomd.c to test_logb_SOURCES.
4817
4818         logb: Provide replacement and workarounds.
4819         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
4820         is 1.
4821         * lib/logb.c: New file.
4822         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
4823         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
4824         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
4825         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
4826         * modules/logb (Files): Add lib/logb.c.
4827         (Depends-on): Add isfinite, frexp, isnand.
4828         (configure.ac): Compile the replacement code logb.c if needed.
4829         * tests/test-math-c++.cc: Check the declaration of logb.
4830         * doc/posix-functions/logb.texi: Mention the replacement and the bug
4831         with subnormal numbers.
4832
4833 2012-04-02  Bruno Haible  <bruno@clisp.org>
4834
4835         log10* tests: Speed up.
4836         * tests/test-log10.h (test_function): Reduce amount of random numbers
4837         to test.
4838
4839 2012-04-01  Bruno Haible  <bruno@clisp.org>
4840
4841         logf-ieee: Fix test whether logf works.
4842         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
4843
4844 2012-04-01  Bruno Haible  <bruno@clisp.org>
4845
4846         log10l: Work around log10l-ieee test failure on IRIX 6.5.
4847         * lib/log10l.c: Include <float.h>
4848         (log10l): On IRIX, normalize the +Infinity value.
4849         * modules/log10l (Depends-on): Add 'float'.
4850         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
4851         +Infinity.
4852
4853         log10f-ieee: Work around test failure on NetBSD 5.1.
4854         * m4/log10f-ieee.m4: New file.
4855         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
4856         test whether log10f works with a negative argument. Replace it if not.
4857         * lib/log10f.c (log10f): For negative arguments, return NaN.
4858         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
4859         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
4860         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
4861
4862         log10f-ieee: Work around test failure on Solaris 9.
4863         * modules/log10f-ieee (Depends-on): Add log10-ieee.
4864         (configure.ac): Require gl_FUNC_LOG10F.
4865
4866         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
4867         * m4/log10-ieee.m4: New file.
4868         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
4869         whether log10 works with a negative argument. Replace it if not.
4870         * lib/log10.c (log10): For negative arguments, return NaN.
4871         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
4872         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
4873         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
4874
4875         Tests for module 'log10l-ieee'.
4876         * modules/log10l-ieee-tests: New file.
4877         * tests/test-log10l-ieee.c: New file.
4878
4879         New module 'log10l-ieee'.
4880         * modules/log10l-ieee: New file.
4881
4882         Tests for module 'log10-ieee'.
4883         * modules/log10-ieee-tests: New file.
4884         * tests/test-log10-ieee.c: New file.
4885
4886         New module 'log10-ieee'.
4887         * modules/log10-ieee: New file.
4888
4889         Tests for module 'log10f-ieee'.
4890         * modules/log10f-ieee-tests: New file.
4891         * tests/test-log10f-ieee.c: New file.
4892         * tests/test-log10-ieee.h: New file.
4893
4894         New module 'log10f-ieee'.
4895         * modules/log10f-ieee: New file.
4896
4897 2012-04-01  Bruno Haible  <bruno@clisp.org>
4898
4899         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
4900         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
4901         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
4902         workaround.
4903         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
4904         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
4905         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
4906         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
4907         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
4908         (Depends-on): Update conditions.
4909         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
4910         IRIX 6.5, OSF/1 5.1 problems.
4911
4912 2012-04-01  Bruno Haible  <bruno@clisp.org>
4913
4914         log10f: Work around OSF/1 5.1 bug.
4915         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
4916         * lib/log10f.c (log10f): If logf exists, use it and provide just the
4917         workaround.
4918         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
4919         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
4920         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
4921         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
4922         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
4923         (Depends-on): Update conditions.
4924         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
4925
4926 2012-04-01  Bruno Haible  <bruno@clisp.org>
4927
4928         log10: Work around OSF/1 5.1 bug.
4929         * lib/math.in.h (log10): New declaration.
4930         * lib/log10.c: New file.
4931         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
4932         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
4933         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
4934         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
4935         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
4936         * modules/log10 (Files): Add lib/log10.c.
4937         (Depends-on): Add math.
4938         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
4939         * tests/test-math-c++.cc: Check the declaration of log10.
4940         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
4941
4942 2012-03-31  Bruno Haible  <bruno@clisp.org>
4943
4944         log10l tests: More tests.
4945         * modules/log10l-tests (Files): Add tests/test-log10l.h,
4946         tests/minus-zero.h, tests/randoml.c.
4947         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
4948         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
4949         (main): Invoke test_function.
4950
4951         log10f tests: More tests.
4952         * modules/log10f-tests (Files): Add tests/test-log10.h,
4953         tests/minus-zero.h, tests/randomf.c.
4954         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
4955         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
4956         (main): Invoke test_function.
4957
4958         log10 tests: More tests.
4959         * tests/test-log10.h: New file.
4960         * modules/log10-tests (Files): Add tests/test-log10.h,
4961         tests/minus-zero.h, tests/randomd.c.
4962         (Makefile.am): Add randomd.c to test_log10_SOURCES.
4963         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
4964         (main): Invoke test_function.
4965
4966 2012-03-31  Simon Josefsson  <simon@josefsson.org>
4967
4968         fflush: Fix syntax error.
4969         * lib/fflush.c: Include unused-parameter.h, needed for
4970         _GL_UNUSED_PARAMETER.
4971         * modules/fflush (Depends-on): Add snippet/unused-parameter.
4972
4973 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
4974
4975         regex: pacify GCC when compiling GRUB
4976         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
4977         a diagnostic.  Reported by Vladimir Serbinenko in
4978         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
4979
4980 2012-03-29  Eric Blake  <eblake@redhat.com>
4981
4982         stdio: don't assume gets any more
4983         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
4984         support.
4985         * modules/stdio (Makefile.am): Likewise.
4986         * lib/stdio-read.c (gets): Likewise.
4987         * tests/test-stdio-c++.cc: Likewise.
4988         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
4989         * lib/stdio.in.h (gets): Make warning occur in more places.
4990         * doc/posix-functions/gets.texi (gets): Update documentation.
4991         Reported by Christer Solskogen.
4992
4993         maint.mk: fix syntax checks without exclusions
4994         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
4995         Reported by Daniel P. Berrange.
4996
4997         strerror_r: avoid compiler warning
4998         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
4999         level.
5000
5001         fflush: avoid compiler warning
5002         * lib/fflush.c (update_fpos_cache): Mark variables that are
5003         potentially unused.
5004
5005 2012-03-25  Bruno Haible  <bruno@clisp.org>
5006
5007         Tests for module 'localeconv'.
5008         * modules/localeconv-tests: New file.
5009         * tests/test-localeconv.c: New file.
5010
5011         New module 'localeconv'.
5012         * lib/locale.in.h (localeconv): New declaration.
5013         * lib/localeconv.c: New file.
5014         * m4/localeconv.m4: New file.
5015         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
5016         REPLACE_LOCALECONV.
5017         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
5018         REPLACE_LOCALECONV.
5019         * modules/localeconv: New file.
5020         * modules/nl_langinfo (Depends-on): Add localeconv.
5021         * modules/human (Depends-on): Likewise.
5022         * doc/posix-functions/localeconv.texi: Mention the new module.
5023
5024 2012-03-25  Bruno Haible  <bruno@clisp.org>
5025
5026         locale: Provide a complete 'struct lconv'.
5027         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5028         'struct lconv' does not contain int_p_cs_precedes.
5029         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5030         * doc/posix-headers/locale.texi: Update.
5031
5032         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
5033         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
5034         * doc/posix-headers/locale.texi: Update.
5035
5036         locale: Provide a working 'struct lconv'.
5037         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
5038         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5039         'struct lconv' does not even contain decimal_point.
5040         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
5041         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
5042         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5043         * doc/posix-headers/locale.texi: Mention the problems with
5044         'struct lconv'.
5045         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
5046
5047 2012-03-24  Bruno Haible  <bruno@clisp.org>
5048
5049         Enable common subexpression optimization in GCC.
5050         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
5051         macros.
5052         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
5053         GCC attribute 'const'.
5054         (uc_locale_language): Declare with GCC attribute 'pure'.
5055         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
5056         with GCC attribute 'const'.
5057         * lib/unictype.in.h (uc_is_general_category_withtable,
5058         uc_combining_class, uc_combining_class_name,
5059         uc_combining_class_long_name, uc_bidi_class_name,
5060         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
5061         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
5062         uc_decimal_value, uc_digit_value, uc_numeric_value,
5063         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
5064         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
5065         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
5066         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
5067         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
5068         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
5069         Declare with GCC attribute 'const'.
5070         (uc_general_category_name, uc_general_category_long_name,
5071         uc_general_category_byname, uc_general_category,
5072         uc_is_general_category, uc_combining_class_byname,
5073         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
5074         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
5075         Declare with GCC attribute 'pure'.
5076         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
5077         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
5078         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
5079         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
5080         with GCC attribute 'pure'.
5081         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
5082         'const'.
5083         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
5084         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
5085         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
5086         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
5087         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
5088         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
5089         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
5090         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
5091         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
5092         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
5093         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
5094         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
5095         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
5096         GCC attribute 'pure'.
5097         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
5098         'const'.
5099         * lib/uniwidth.in.h (uc_width): Simplify declaration.
5100         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
5101         u32_strwidth): Declare with GCC attribute 'pure'.
5102
5103         Enable common subexpression optimization in GCC.
5104         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5105         (alphasort): Declare with GCC attribute 'pure'.
5106         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5107         (atoll): Declare with GCC attribute 'pure'.
5108         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
5109         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
5110         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
5111         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5112         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
5113         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
5114         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
5115
5116 2012-03-24  Bruno Haible  <bruno@clisp.org>
5117
5118         gnulib-tool: Avoid unintended error output from 'cmp'.
5119         * gnulib-tool (func_add_file, func_update_file, func_import): Use
5120         "cmp -s", not "cmp > /dev/null".
5121
5122 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5123
5124         gnulib-tool: fix imprecise comments w.r.t. an automake bug
5125
5126         It's not just Automake versions < 1.9b that creates an empty
5127         pkgdatadir at installation time if pkgdata_DATA is specified
5128         to empty; modern automake versions do this as well, at least
5129         until automake 1.11.4 (not yet released at the moment of writing,
5130         but soon to appear).  That behaviour was generally considered a
5131         feature rather than a bug, at least until this discussion:
5132         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
5133
5134         See also automake bugs #10997 and #11030.
5135
5136         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
5137         reference to relevant automake bug numbers.
5138         (func_emit_tests_Makefile_am): Likewise.
5139
5140 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5141
5142         announce-gen: use Digest::SHA when possible
5143         * build-aux/announce-gen: Use Digest::SHA when possible, falling
5144         back to Digest::SHA1 if necessary.
5145
5146 2012-03-20  Jim Meyering  <meyering@redhat.com>
5147
5148         tests: avoid gcc warnings about argv vs. const initializers
5149         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
5150         warnings about discarding 'const' qualifier from pointer target type.
5151         * tests/test-posix_spawn2.c (main): Likewise.
5152
5153 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5154
5155         README-release: simplify slightly
5156         * top/README-release: Run "git checkout master" only once.
5157
5158 2012-03-15  Mark Wielaard  <mark@klomp.org>
5159
5160         git-merge-changelog: add specific example on how to use with hg.
5161         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
5162
5163 2012-03-18  Mark Wielaard  <mark@klomp.org>
5164
5165         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
5166
5167 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
5168
5169         git-version-gen: don't let "prefix" envvar cause trouble
5170         * build-aux/git-version-gen (prefix): Initialize properly,
5171         so as not to use a value specified via the environment.
5172         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
5173
5174 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5175
5176         regex: diagnose too-large repeat counts in EREs
5177         Previously, the code did not diagnose the too-large repeat count
5178         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
5179         as if it were 'b\{1000000000}', which is unexpected.
5180         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
5181         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
5182         is a reasonable one for this problem.  Another option would be to
5183         create a new REG_OVERFLOW error for repeat counts that are too large.
5184         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
5185         count is too large, so that the caller can distinguish the two cases.
5186         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
5187         "Too large" return code, and that repeat counts are one example of this.
5188
5189 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5190
5191         doc: some glibc x32 integer width issues
5192         * doc/posix-headers/sys_types.texi (sys/types.h):
5193         * doc/posix-headers/time.texi (time.h):
5194         Mention that glibc x32 does not conform to POSIX in a couple of
5195         areas related to integer widths.
5196
5197 2012-03-15  Bruno Haible  <bruno@clisp.org>
5198
5199         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
5200         * lib/fma.c (VOLATILE): New macro.
5201         (FUNC): Use it to work around a GCC compiler bug.
5202
5203 2012-03-13  Bruno Haible  <bruno@clisp.org>
5204
5205         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5206         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
5207         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
5208         REPLACE_HYPOTL to 1.
5209         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
5210
5211 2012-03-13  Bruno Haible  <bruno@clisp.org>
5212
5213         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5214         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
5215         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
5216         REPLACE_REMAINDERL to 1.
5217         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
5218         bug.
5219
5220 2012-03-13  Bruno Haible  <bruno@clisp.org>
5221
5222         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5223         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
5224         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
5225         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
5226         too big rounding errors.
5227         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
5228         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
5229         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
5230         (Depends-on): Update conditions.
5231         * tests/test-sqrtl.c (my_ldexpl): New function.
5232         (main): Add test of a particular value.
5233         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5234
5235 2012-03-13  Pádraig Brady  <P@draigBrady.com>
5236
5237         doc: Update timer_* platform portability notes.
5238         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
5239         that always return ENOSYS.
5240         * doc/posix-functions/timer_delete.texi: Likewise.
5241         * doc/posix-functions/timer_gettime.texi: Likewise.
5242         * doc/posix-functions/timer_settime.texi: Likewise.
5243
5244 2012-03-13  Bruno Haible  <bruno@clisp.org>
5245
5246         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5247         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
5248         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
5249         REPLACE_CBRTL to 1.
5250         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5251
5252 2012-03-13  Bruno Haible  <bruno@clisp.org>
5253
5254         remainderl: Avoid compilation error on AIX >= 5.2.
5255         * lib/math.in.h (remainderl): Undefine macro from the system header.
5256
5257 2012-03-13  Bruno Haible  <bruno@clisp.org>
5258
5259         Avoid compilation errors with MSVC option -fp:strict.
5260         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
5261         * lib/cbrtf.c: Likewise.
5262         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5263
5264 2012-03-12  Bruno Haible  <bruno@clisp.org>
5265
5266         uninorm: Don't crash in out-of-memory conditions.
5267         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
5268         gracefully.
5269         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
5270         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
5271
5272 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
5273
5274         quote: fix syntax-check
5275         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
5276         also exports quote_quoting_options.
5277
5278 2012-03-12  Simon Josefsson  <simon@josefsson.org>
5279
5280         Collapse list of copyright years to ranges.  See
5281         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
5282         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
5283         build-aux/csharpexec.sh.in, build-aux/gnupload,
5284         build-aux/install-reloc, build-aux/javacomp.sh.in,
5285         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
5286         build-aux/move-if-change, build-aux/reloc-ldflags,
5287         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
5288
5289 2012-03-11  Bruno Haible  <bruno@clisp.org>
5290
5291         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5292         * m4/log2f-ieee.m4: New file.
5293         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
5294         whether log2f works with a minus zero argument. Replace it if not.
5295         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
5296         (Depends-on): Add log2-ieee.
5297         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
5298         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
5299
5300         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5301         * m4/log2-ieee.m4: New file.
5302         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
5303         whether log2 works with a minus zero argument. Replace it if not.
5304         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
5305         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
5306         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
5307
5308         Tests for module 'log2l-ieee'.
5309         * modules/log2l-ieee-tests: New file.
5310         * tests/test-log2l-ieee.c: New file.
5311
5312         New module 'log2l-ieee'.
5313         * modules/log2l-ieee: New file.
5314
5315         Tests for module 'log2-ieee'.
5316         * modules/log2-ieee-tests: New file.
5317         * tests/test-log2-ieee.c: New file.
5318
5319         New module 'log2-ieee'.
5320         * modules/log2-ieee: New file.
5321
5322         Tests for module 'log2f-ieee'.
5323         * modules/log2f-ieee-tests: New file.
5324         * tests/test-log2f-ieee.c: New file.
5325         * tests/test-log2-ieee.h: New file.
5326
5327         New module 'log2f-ieee'.
5328         * modules/log2f-ieee: New file.
5329
5330 2012-03-11  Bruno Haible  <bruno@clisp.org>
5331
5332         Tests for module 'log2l'.
5333         * modules/log2l-tests: New file.
5334         * tests/test-log2l.c: New file.
5335
5336         New module 'log2l'.
5337         * lib/math.in.h (log2l): New declaration.
5338         * lib/log2l.c: New file.
5339         * m4/log2l.m4: New file.
5340         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
5341         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
5342         REPLACE_LOG2L.
5343         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
5344         REPLACE_LOG2L.
5345         * modules/log2l: New file.
5346         * tests/test-math-c++.cc: Check the declaration of log2l.
5347         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
5348         and OSF/1 problems.
5349
5350 2012-03-11  Bruno Haible  <bruno@clisp.org>
5351
5352         Tests for module 'log2f'.
5353         * modules/log2f-tests: New file.
5354         * tests/test-log2f.c: New file.
5355
5356         New module 'log2f'.
5357         * lib/math.in.h (log2f): New declaration.
5358         * lib/log2f.c: New file.
5359         * m4/log2f.m4: New file.
5360         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
5361         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
5362         REPLACE_LOG2F.
5363         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
5364         REPLACE_LOG2F.
5365         * modules/log2f: New file.
5366         * tests/test-math-c++.cc: Check the declaration of log2f.
5367         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
5368         and OSF/1 and Cygwin problems.
5369
5370 2012-03-11  Bruno Haible  <bruno@clisp.org>
5371
5372         Tests for module 'log2'.
5373         * modules/log2-tests: New file.
5374         * tests/test-log2.c: New file.
5375         * tests/test-log2.h: New file.
5376
5377         New module 'log2'.
5378         * lib/math.in.h (log2): New declaration.
5379         * lib/log2.c: New file.
5380         * m4/log2.m4: New file.
5381         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
5382         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
5383         REPLACE_LOG2.
5384         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
5385         REPLACE_LOG2.
5386         * modules/log2: New file.
5387         * tests/test-math-c++.cc: Check the declaration of log2.
5388         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
5389         and OSF/1 and Cygwin problems.
5390
5391 2012-03-11  Bruno Haible  <bruno@clisp.org>
5392
5393         exp2* tests: More tests.
5394         * tests/test-exp2.h (test_function): Test all integral arguments that
5395         don't need to overflow or denormalized numbers.
5396         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
5397         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
5398         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
5399
5400 2012-03-10  Bruno Haible  <bruno@clisp.org>
5401
5402         log1pl-ieee: Work around test failure on AIX 7.1.
5403         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
5404
5405         log1pl-ieee: Work around test failure on IRIX 6.5.
5406         * m4/log1pl-ieee.m4: New file.
5407         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
5408         test whether log1pl works with a minus zero argument. Replace it if
5409         not.
5410         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
5411         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
5412         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
5413         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
5414         (Depends-on): Update conditions.
5415         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5416         m4/signbit.m4.
5417         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
5418         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
5419
5420         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
5421         * m4/log1pf-ieee.m4: New file.
5422         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
5423         test whether log1pf works with a minus zero argument. Replace it if
5424         not.
5425         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
5426         m4/signbit.m4.
5427         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
5428         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
5429
5430         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
5431         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
5432         (configure.ac): Require gl_FUNC_LOG1PF.
5433
5434         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
5435         * m4/log1p-ieee.m4: New file.
5436         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
5437         whether log1p works with a minus zero argument. Replace it if not.
5438         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
5439         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
5440         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
5441         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
5442         (Depends-on): Update conditions.
5443         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5444         m4/signbit.m4.
5445         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
5446         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
5447
5448         Tests for module 'log1pl-ieee'.
5449         * modules/log1pl-ieee-tests: New file.
5450         * tests/test-log1pl-ieee.c: New file.
5451
5452         New module 'log1pl-ieee'.
5453         * modules/log1pl-ieee: New file.
5454
5455         Tests for module 'log1p-ieee'.
5456         * modules/log1p-ieee-tests: New file.
5457         * tests/test-log1p-ieee.c: New file.
5458
5459         New module 'log1p-ieee'.
5460         * modules/log1p-ieee: New file.
5461
5462         Tests for module 'log1pf-ieee'.
5463         * modules/log1pf-ieee-tests: New file.
5464         * tests/test-log1pf-ieee.c: New file.
5465         * tests/test-log1p-ieee.h: New file.
5466
5467         New module 'log1pf-ieee'.
5468         * modules/log1pf-ieee: New file.
5469
5470 2012-03-10  Bruno Haible  <bruno@clisp.org>
5471
5472         Tests for module 'log1pl'.
5473         * modules/log1pl-tests: New file.
5474         * tests/test-log1pl.c: New file.
5475
5476         New module 'log1pl'.
5477         * lib/math.in.h (log1pl): New declaration.
5478         * lib/log1pl.c: New file.
5479         * m4/log1pl.m4: New file.
5480         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
5481         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
5482         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
5483         * modules/log1pl: New file.
5484         * tests/test-math-c++.cc: Check the declaration of log1pl.
5485         * doc/posix-functions/log1pl.texi: Mention the new module.
5486
5487 2012-03-10  Bruno Haible  <bruno@clisp.org>
5488
5489         Tests for module 'log1pf'.
5490         * modules/log1pf-tests: New file.
5491         * tests/test-log1pf.c: New file.
5492
5493         New module 'log1pf'.
5494         * lib/math.in.h (log1pf): New declaration.
5495         * lib/log1pf.c: New file.
5496         * m4/log1pf.m4: New file.
5497         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
5498         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
5499         REPLACE_LOG1PF.
5500         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
5501         REPLACE_LOG1PF.
5502         * modules/log1pf: New file.
5503         * tests/test-math-c++.cc: Check the declaration of log1pf.
5504         * doc/posix-functions/log1pf.texi: Mention the new module.
5505
5506 2012-03-10  Bruno Haible  <bruno@clisp.org>
5507
5508         log1p tests: More tests.
5509         * tests/test-log1p.h: New file.
5510         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
5511         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
5512         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
5513         (main): Invoke test_function.
5514
5515         log1p: Provide replacement for Minix and MSVC.
5516         * lib/math.in.h (log1p): New declaration.
5517         * lib/log1p.c: New file.
5518         * m4/log1p.m4: New file.
5519         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
5520         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
5521         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
5522         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
5523         (Depends-on): Add math, isnand, log, round.
5524         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
5525         HAVE_LOG1P is 0.
5526         * tests/test-math-c++.cc: Check the declaration of log1p.
5527         * doc/posix-functions/log1p.texi: Mention the replacement.
5528
5529 2012-03-10  Bruno Haible  <bruno@clisp.org>
5530
5531         math tests: Small simplification.
5532         * tests/test-exp.h (test_function): Use the same err_bound for
5533         'double' on platforms with sizeof (long double) == sizeof (double)
5534         than on platforms with sizeof (long double) > sizeof (double).
5535         * tests/test-exp2.h (test_function): Likewise.
5536         * tests/test-expm1.h (test_function): Likewise.
5537         * tests/test-log.h (test_function): Likewise.
5538
5539 2012-03-10  Bruno Haible  <bruno@clisp.org>
5540
5541         Fix some comments.
5542         * lib/expl.c: Fix an ambiguous comment.
5543         * lib/expm1.c: Likewise.
5544         * lib/expm1l.c: Likewise.
5545         * lib/exp2.c: Likewise.
5546         * lib/exp2l.c: Likewise.
5547
5548 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
5549
5550         regex: allow inclusion of <regex.h> before <limits.h>
5551         Without this patch, portable programs had to include <limits.h> before
5552         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
5553         I ran into this problem with a test version of GNU grep on Solaris 8.
5554         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
5555         This is done conditionally so that this change can be merged
5556         back to glibc.
5557         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
5558         using the included regex.
5559
5560         fts: depend on fdopendir
5561         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
5562         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
5563         problem was introduced when fdopendir was split out.
5564
5565 2012-03-10  Bruno Haible  <bruno@clisp.org>
5566
5567         Remove unused variables.
5568         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
5569         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5570
5571 2012-03-10  Bruno Haible  <bruno@clisp.org>
5572
5573         isnanf-nolibm: Fix last commit.
5574         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
5575
5576         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
5577         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
5578
5579 2012-03-10  Bruno Haible  <bruno@clisp.org>
5580
5581         logf-ieee: Work around test failure on NetBSD 5.1.
5582         * m4/logf-ieee.m4: New file.
5583         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
5584         whether logf works with a negative argument. Replace it if not.
5585         * lib/logf.c (logf): For negative arguments, return NaN.
5586         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
5587         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
5588         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
5589
5590         logf-ieee: Work around test failure on Solaris 9.
5591         * modules/logf-ieee (Depends-on): Add log-ieee.
5592         (configure.ac): Require gl_FUNC_LOGF.
5593
5594         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5595         * m4/log-ieee.m4: New file.
5596         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
5597         log works with a negative argument. Replace it if not.
5598         * lib/log.c (log): For negative arguments, return NaN.
5599         * modules/log-ieee (Files): Add m4/log-ieee.m4.
5600         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
5601         * doc/posix-functions/log.texi: Mention the log-ieee module.
5602
5603         Tests for module 'logl-ieee'.
5604         * modules/logl-ieee-tests: New file.
5605         * tests/test-logl-ieee.c: New file.
5606
5607         New module 'logl-ieee'.
5608         * modules/logl-ieee: New file.
5609
5610         Tests for module 'log-ieee'.
5611         * modules/log-ieee-tests: New file.
5612         * tests/test-log-ieee.c: New file.
5613
5614         New module 'log-ieee'.
5615         * modules/log-ieee: New file.
5616
5617         Tests for module 'logf-ieee'.
5618         * modules/logf-ieee-tests: New file.
5619         * tests/test-logf-ieee.c: New file.
5620         * tests/test-log-ieee.h: New file.
5621
5622         New module 'logf-ieee'.
5623         * modules/logf-ieee: New file.
5624
5625 2012-03-10  Bruno Haible  <bruno@clisp.org>
5626
5627         log: Fix bug introduced on 2012-03-09.
5628         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
5629
5630 2012-03-10  Pádraig Brady  <P@draigBrady.com>
5631
5632         timer-time: link explicitly with pthreads on glibc
5633         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
5634         to support static linking, when newer glibc is
5635         detected, as that contains pthread emulation of
5636         POSIX timer functions where required.
5637         * modules/timer-time: Depend on threadlib to
5638         pull in the appropriate library to link.
5639
5640 2012-03-10  Bruno Haible  <bruno@clisp.org>
5641
5642         log* tests: More tests.
5643         * tests/test-log.h: New file.
5644         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
5645         (main): Invoke test_function.
5646         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
5647         (main): Invoke test_function.
5648         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
5649         (main): Invoke test_function.
5650         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5651         tests/randomd.c.
5652         (Makefile.am): Add randomd.c to test_log_SOURCES.
5653         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5654         tests/randomf.c.
5655         (Makefile.am): Add randomf.c to test_logf_SOURCES.
5656         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5657         tests/randoml.c.
5658         (Depends-on): Add 'float'.
5659         (Makefile.am): Add randoml.c to test_logl_SOURCES.
5660
5661 2012-03-09  Bruno Haible  <bruno@clisp.org>
5662
5663         logl: Work around OSF/1 5.1 bug.
5664         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
5665         * lib/logl.c (logl): If logl exists, use it and provide just the
5666         workaround.
5667         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
5668         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
5669         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
5670         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
5671         * modules/logl (configure.ac): Consider REPLACE_LOGL.
5672         (Depends-on): Update conditions.
5673         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
5674
5675 2012-03-09  Bruno Haible  <bruno@clisp.org>
5676
5677         logf: Work around OSF/1 5.1 bug.
5678         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
5679         * lib/logf.c (logf): If logf exists, use it and provide just the
5680         workaround.
5681         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
5682         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
5683         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
5684         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
5685         * modules/logf (configure.ac): Consider REPLACE_LOGF.
5686         (Depends-on): Update conditions.
5687         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
5688
5689 2012-03-09  Bruno Haible  <bruno@clisp.org>
5690
5691         log: Work around OSF/1 5.1 bug.
5692         * lib/math.in.h (log): New declaration.
5693         * lib/log.c: New file.
5694         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
5695         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
5696         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
5697         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
5698         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
5699         * modules/log (Files): Add lib/log.c.
5700         (Depends-on): Add math.
5701         (configure.ac): If REPLACE_LOG is 1, compile an override.
5702         * tests/test-math-c++.cc: Check the declaration of log.
5703         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
5704
5705 2012-03-09  Jim Meyering  <meyering@redhat.com>
5706
5707         readtokens.c: adjust wording in a comment
5708         * lib/readtokens.c: Insert omitted "that" in a comment.
5709
5710 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5711
5712         modechange: add notations +40, 00440, etc.
5713         * lib/modechange.c (mode_compile): Support new notations
5714         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
5715
5716 2012-03-08  Bruno Haible  <bruno@clisp.org>
5717
5718         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
5719         * m4/exp2l-ieee.m4: New file.
5720         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
5721         test whether exp2l works with a NaN argument and with a negative
5722         infinity argument. Replace it if not.
5723         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
5724         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
5725         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
5726         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
5727         (Depends-on): Update conditions.
5728         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
5729         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
5730         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
5731
5732         Tests for module 'exp2l-ieee'.
5733         * modules/exp2l-ieee-tests: New file.
5734         * tests/test-exp2l-ieee.c: New file.
5735
5736         New module 'exp2l-ieee'.
5737         * modules/exp2l-ieee: New file.
5738
5739         Tests for module 'exp2-ieee'.
5740         * modules/exp2-ieee-tests: New file.
5741         * tests/test-exp2-ieee.c: New file.
5742
5743         New module 'exp2-ieee'.
5744         * modules/exp2-ieee: New file.
5745
5746         Tests for module 'exp2f-ieee'.
5747         * modules/exp2f-ieee-tests: New file.
5748         * tests/test-exp2f-ieee.c: New file.
5749         * tests/test-exp2-ieee.h: New file.
5750
5751         New module 'exp2f-ieee'.
5752         * modules/exp2f-ieee: New file.
5753
5754 2012-03-08  Bruno Haible  <bruno@clisp.org>
5755
5756         Tests for module 'exp2l'.
5757         * modules/exp2l-tests: New file.
5758         * tests/test-exp2l.c: New file.
5759
5760         New module 'exp2l'.
5761         * lib/math.in.h (exp2l): New declaration.
5762         * lib/exp2l.c: New file.
5763         * lib/expl-table.c: New file, extracted from lib/expl.c.
5764         * lib/expl.c (gl_expl_table): New declaration.
5765         (expl): Remove expl_table. Update reference.
5766         * m4/exp2l.m4: New file.
5767         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
5768         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
5769         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
5770         * modules/exp2l: New file.
5771         * modules/expl (Files): Add lib/expl-table.c.
5772         (configure.ac): Compile also expl-table.c.
5773         * tests/test-math-c++.cc: Check the declaration of exp2l.
5774         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
5775         problem.
5776
5777 2012-03-08  Bruno Haible  <bruno@clisp.org>
5778
5779         Tests for module 'exp2f'.
5780         * modules/exp2f-tests: New file.
5781         * tests/test-exp2f.c: New file.
5782
5783         New module 'exp2f'.
5784         * lib/math.in.h (exp2f): New declaration.
5785         * lib/exp2f.c: New file.
5786         * m4/exp2f.m4: New file.
5787         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
5788         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
5789         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
5790         * modules/exp2f: New file.
5791         * tests/test-math-c++.cc: Check the declaration of exp2f.
5792         * doc/posix-functions/exp2f.texi: Mention the new module and the
5793         IRIX problem.
5794
5795 2012-03-08  Bruno Haible  <bruno@clisp.org>
5796
5797         Tests for module 'exp2'.
5798         * modules/exp2-tests: New file.
5799         * tests/test-exp2.c: New file.
5800         * tests/test-exp2.h: New file.
5801
5802         New module 'exp2'.
5803         * lib/math.in.h (exp2): New declaration.
5804         * lib/exp2.c: New file.
5805         * m4/exp2.m4: New file.
5806         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
5807         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
5808         REPLACE_EXP2.
5809         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
5810         REPLACE_EXP2.
5811         * modules/exp2: New file.
5812         * tests/test-math-c++.cc: Check the declaration of exp2.
5813         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
5814         and OpenBSD problems.
5815
5816 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5817
5818         savedir: fix comment typo
5819         * lib/savedir.c (savedirstream): Fix typo in comment.
5820
5821 2012-03-08  Bruno Haible  <bruno@clisp.org>
5822
5823         test-readtokens.c: use const; remove unwarranted cast
5824         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
5825
5826 2012-03-08  Bruno Haible  <bruno@clisp.org>
5827
5828         fmal: Avoid compilation error on AIX.
5829         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
5830         AIX 5.2..7.1.
5831
5832 2012-03-08  Bruno Haible  <bruno@clisp.org>
5833
5834         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
5835         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
5836         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
5837         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
5838         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
5839         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
5840         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
5841
5842 2012-03-08  Bruno Haible  <bruno@clisp.org>
5843
5844         remainderf: Override buggy system function on IRIX 6.5.
5845         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
5846         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
5847         when it exists.
5848         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
5849
5850 2012-03-08  Jim Meyering  <meyering@redhat.com>
5851
5852         test-readtokens.c: avoid const-related compilation warnings
5853         * tests/test-readtokens.c: Avoid const-related compilation warnings.
5854
5855 2012-03-07  Jim Meyering  <meyering@redhat.com>
5856             Bruno Haible  <bruno@clisp.org>
5857
5858         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
5859         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
5860         tests/randomd.c.
5861         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
5862         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
5863         tests/randoml.c.
5864         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
5865
5866 2012-03-07  Bruno Haible  <bruno@clisp.org>
5867
5868         expm1l: Avoid compilation error on AIX.
5869         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
5870         AIX 5.2..7.1.
5871
5872 2012-03-07  Bruno Haible  <bruno@clisp.org>
5873
5874         expm1l: Don't override undeclared system function on IRIX 6.5.
5875         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
5876         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
5877         it exists. Set HAVE_DECL_EXPM1L.
5878         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
5879         HAVE_EXPM1L.
5880         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
5881         HAVE_EXPM1L.
5882         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
5883
5884 2012-03-07  Bruno Haible  <bruno@clisp.org>
5885
5886         remainderl: Don't override undeclared system function on IRIX 6.5.
5887         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
5888         HAVE_REMAINDERL.
5889         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
5890         declared when it exists. Set HAVE_DECL_REMAINDERL.
5891         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
5892         not HAVE_REMAINDERL.
5893         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
5894         HAVE_REMAINDERL.
5895         * doc/posix-functions/remainderl.texi: Mention missing declaration
5896         problem.
5897
5898 2012-03-07  Bruno Haible  <bruno@clisp.org>
5899
5900         rintf: Don't override undeclared system function on IRIX 6.5.
5901         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
5902         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
5903         exists. Set HAVE_DECL_RINTF.
5904         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
5905         HAVE_RINTF.
5906         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
5907         HAVE_RINTF.
5908         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
5909
5910 2012-03-07  Bruno Haible  <bruno@clisp.org>
5911
5912         roundl: Avoid compilation error on AIX.
5913         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
5914         AIX 5.2..7.1.
5915
5916 2012-03-07  Bruno Haible  <bruno@clisp.org>
5917
5918         roundl: Don't override undeclared system function on IRIX 6.5.
5919         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
5920         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
5921         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5922         * modules/roundl (configure.ac): For replacement code, test
5923         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5924         (Depends-on): Update conditions.
5925         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
5926
5927 2012-03-07  Bruno Haible  <bruno@clisp.org>
5928
5929         roundf: Don't override undeclared system function on IRIX 6.5.
5930         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
5931         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
5932         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5933         * modules/roundf (configure.ac): For replacement code, test
5934         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5935         (Depends-on): Update conditions.
5936         * modules/roundf-ieee (Depends-on): Update conditions.
5937         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
5938
5939 2012-03-07  Bruno Haible  <bruno@clisp.org>
5940
5941         round: Don't override undeclared system function on IRIX 6.5.
5942         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
5943         argument.
5944         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
5945         also when it is not declared. Set HAVE_ROUND. For replacement code,
5946         test HAVE_ROUND, not HAVE_DECL_ROUND.
5947         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
5948         not HAVE_DECL_ROUND.
5949         (Depends-on): Update conditions.
5950         * modules/round-ieee (Depends-on): Update conditions.
5951         * doc/posix-functions/round.texi: Mention the IRIX problem.
5952
5953 2012-03-07  Bruno Haible  <bruno@clisp.org>
5954
5955         copysignf: Don't override undeclared system function on IRIX 6.5.
5956         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
5957         HAVE_COPYSIGNF.
5958         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
5959         declared when it exists. Set HAVE_DECL_COPYSIGNF.
5960         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
5961         not HAVE_COPYSIGNF.
5962         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
5963         HAVE_COPYSIGNF.
5964         * doc/posix-functions/copysignf.texi: Mention missing declaration
5965         problem.
5966
5967 2012-03-07  Jim Meyering  <meyering@redhat.com>
5968
5969         readtokens: add tests
5970         * modules/readtokens-tests: New file.
5971         * tests/test-readtokens.c: New file.
5972
5973 2012-03-07  Jim Meyering  <meyering@redhat.com>
5974
5975         quotearg: the module must now include quote.h
5976         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
5977         So must the module.
5978         * modules/quotearg (Files): Add quote.h.
5979
5980 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
5981
5982         readtokens: avoid core dumps with unusual calling patterns
5983         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
5984         * lib/readtokens.c: Include limits.h.
5985         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
5986         (readtoken): Don't cache the delimiters; the cache code was buggy
5987         if !delim && saved_delim, or if the new n_delim differs from the old.
5988         Also, it wasn't thread-safe.
5989
5990 2012-03-07  Bruno Haible  <bruno@clisp.org>
5991
5992         quote: Adhere to common module description layout.
5993         * modules/quote (Makefile.am): Add back empty section.
5994
5995 2012-03-06  Akim Demaille  <demaille@gostai.com>
5996
5997         quote: fuse into quotearg
5998         This patch is made for the benefit of Bison.
5999         quote does not leave the choice of the quoting style to the user.
6000         quoting_style provides poor customizability, yet quoting_options,
6001         which is very rich, is hidden inside quotearg.c.  So in order to
6002         allow quote customization, move its implementation to quotearg.c.
6003         * lib/quote.c: Remove.
6004         * modules/quote: Adjust.
6005         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
6006         warning: provide all the members of literal structs.
6007         (quote_quoting_options): New.
6008         (quote, quote_n): Import implementation from quote.c.
6009         * lib/quote.h: Import the comments from quote.c.
6010         (quote_quoting_options): New.
6011
6012 2012-03-06  Bruno Haible  <bruno@clisp.org>
6013
6014         Tests for module 'expm1l-ieee'.
6015         * modules/expm1l-ieee-tests: New file.
6016         * tests/test-expm1l-ieee.c: New file.
6017
6018         New module 'expm1l-ieee'.
6019         * modules/expm1l-ieee: New file.
6020
6021         Tests for module 'expm1f-ieee'.
6022         * modules/expm1f-ieee-tests: New file.
6023         * tests/test-expm1f-ieee.c: New file.
6024
6025         New module 'expm1f-ieee'.
6026         * modules/expm1f-ieee: New file.
6027
6028         Tests for module 'expm1-ieee'.
6029         * modules/expm1-ieee-tests: New file.
6030         * tests/test-expm1-ieee.c: New file.
6031         * tests/test-expm1-ieee.h: New file.
6032
6033         New module 'expm1-ieee'.
6034         * modules/expm1-ieee: New file.
6035         * m4/expm1-ieee.m4: New file.
6036         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
6037         whether expm1 works with a minus zero argument. Replace it if not.
6038         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
6039         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
6040         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
6041         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
6042         (Depends-on): Update conditions.
6043         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
6044         AIX problem.
6045
6046 2012-03-06  Bruno Haible  <bruno@clisp.org>
6047
6048         Work around expm1f bug on IRIX 6.5.
6049         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
6050         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
6051         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
6052         not work.
6053         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
6054         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
6055         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
6056         (Depends-on): Update conditions.
6057         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
6058
6059 2012-03-06  Bruno Haible  <bruno@clisp.org>
6060
6061         Tests for module 'expm1l'.
6062         * modules/expm1l-tests: New file.
6063         * tests/test-expm1l.c: New file.
6064
6065         New module 'expm1l'.
6066         * lib/math.in.h (expm1l): New declaration.
6067         * lib/expm1l.c: New file.
6068         * m4/expm1l.m4: New file.
6069         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
6070         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
6071         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
6072         * modules/expm1l: New file.
6073         * tests/test-math-c++.cc: Check the declaration of expm1l.
6074         * doc/posix-functions/expm1l.texi: Mention the new module.
6075
6076 2012-03-06  Bruno Haible  <bruno@clisp.org>
6077
6078         Tests for module 'expm1f'.
6079         * modules/expm1f-tests: New file.
6080         * tests/test-expm1f.c: New file.
6081
6082         New module 'expm1f'.
6083         * lib/math.in.h (expm1f): New declaration.
6084         * lib/expm1f.c: New file.
6085         * m4/expm1f.m4: New file.
6086         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
6087         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
6088         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
6089         * modules/expm1f: New file.
6090         * tests/test-math-c++.cc: Check the declaration of expm1f.
6091         * doc/posix-functions/expm1f.texi: Mention the new module.
6092
6093 2012-03-06  Bruno Haible  <bruno@clisp.org>
6094
6095         Tests for module 'expm1'.
6096         * modules/expm1-tests: New file.
6097         * tests/test-expm1.c: New file.
6098         * tests/test-expm1.h: New file.
6099
6100         New module 'expm1'.
6101         * lib/math.in.h (expm1): New declaration.
6102         * lib/expm1.c: New file.
6103         * m4/expm1.m4: New file.
6104         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
6105         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
6106         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
6107         * modules/expm1: New file.
6108         * tests/test-math-c++.cc: Check the declaration of expm1.
6109         * doc/posix-functions/expm1.texi: Mention the new module.
6110
6111 2012-03-06  Bruno Haible  <bruno@clisp.org>
6112
6113         math: Ensure declarations of math functions.
6114         * modules/acosf (Depends-on): Add 'extensions'.
6115         * modules/asinf (Depends-on): Likewise.
6116         * modules/atan2f (Depends-on): Likewise.
6117         * modules/atanf (Depends-on): Likewise.
6118         * modules/cbrt (Depends-on): Likewise.
6119         * modules/cbrtf (Depends-on): Likewise.
6120         * modules/cbrtl (Depends-on): Likewise.
6121         * modules/copysignf (Depends-on): Likewise.
6122         * modules/copysignl (Depends-on): Likewise.
6123         * modules/cosf (Depends-on): Likewise.
6124         * modules/coshf (Depends-on): Likewise.
6125         * modules/expf (Depends-on): Likewise.
6126         * modules/fabsf (Depends-on): Likewise.
6127         * modules/fabsl (Depends-on): Likewise.
6128         * modules/fmaf (Depends-on): Likewise.
6129         * modules/fmal (Depends-on): Likewise.
6130         * modules/fmodf (Depends-on): Likewise.
6131         * modules/fmodl (Depends-on): Likewise.
6132         * modules/frexpf (Depends-on): Likewise.
6133         * modules/frexpl (Depends-on): Likewise.
6134         * modules/hypot (Depends-on): Likewise.
6135         * modules/hypotf (Depends-on): Likewise.
6136         * modules/hypotl (Depends-on): Likewise.
6137         * modules/ldexpf (Depends-on): Likewise.
6138         * modules/ldexpl (Depends-on): Likewise.
6139         * modules/log10f (Depends-on): Likewise.
6140         * modules/log10l (Depends-on): Likewise.
6141         * modules/log1p (Depends-on): Likewise.
6142         * modules/logb (Depends-on): Likewise.
6143         * modules/logf (Depends-on): Likewise.
6144         * modules/modff (Depends-on): Likewise.
6145         * modules/modfl (Depends-on): Likewise.
6146         * modules/powf (Depends-on): Likewise.
6147         * modules/remainderf (Depends-on): Likewise.
6148         * modules/remainderl (Depends-on): Likewise.
6149         * modules/rintf (Depends-on): Likewise.
6150         * modules/rintl (Depends-on): Likewise.
6151         * modules/sinf (Depends-on): Likewise.
6152         * modules/sinhf (Depends-on): Likewise.
6153         * modules/sqrtf (Depends-on): Likewise.
6154         * modules/tanf (Depends-on): Likewise.
6155         * modules/tanhf (Depends-on): Likewise.
6156         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
6157         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
6158         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
6159         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
6160         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
6161         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
6162         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
6163         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
6164         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
6165         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
6166         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
6167         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
6168         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
6169         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
6170         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
6171         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
6172         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
6173         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6174         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
6175         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
6176         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
6177         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
6178         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
6179         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
6180         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6181         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
6182         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
6183         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6184         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
6185         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
6186         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6187         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
6188         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6189         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6190         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6191         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6192         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
6193         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
6194         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
6195         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
6196         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
6197
6198 2012-03-06  Bruno Haible  <bruno@clisp.org>
6199
6200         math: Update module names in warnings.
6201         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
6202         tanl): Use specific module name in warn-on-use warning.
6203
6204 2012-03-06  Bruno Haible  <bruno@clisp.org>
6205
6206         expl: Simplify computation.
6207         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
6208
6209 2012-03-05  Bruno Haible  <bruno@clisp.org>
6210
6211         exp* tests: More tests.
6212         * tests/test-exp.h: New file.
6213         * tests/test-exp.c: Include <float.h> and test-exp.h.
6214         (main): Invoke test_function.
6215         * tests/test-expf.c: Include <float.h> and test-exp.h.
6216         (main): Invoke test_function.
6217         * tests/test-expl.c: Include <float.h> and test-exp.h.
6218         (main): Invoke test_function.
6219         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
6220         (Makefile.am): Add randomd.c to test_exp_SOURCES.
6221         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
6222         (Makefile.am): Add randomf.c to test_expf_SOURCES.
6223         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
6224         (Depends-on): Add 'float'.
6225         (Makefile.am): Add randoml.c to test_expl_SOURCES.
6226
6227         expl: Fix precision of computed result.
6228         * lib/expl.c: Completely rewritten.
6229         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
6230         (Maintainer): Add me.
6231         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
6232
6233 2012-03-05  Bruno Haible  <bruno@clisp.org>
6234
6235         cbrt* tests: More tests.
6236         * tests/test-cbrt.h: New file.
6237         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
6238         (main): Invoke test_function.
6239         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
6240         (main): Invoke test_function.
6241         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
6242         (main): Invoke test_function.
6243         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
6244         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
6245         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
6246         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
6247         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
6248         (Depends-on): Add 'float'.
6249         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
6250
6251 2012-03-05  Bruno Haible  <bruno@clisp.org>
6252
6253         hypot* tests: More tests.
6254         * tests/test-hypot.h: New file, partially extracted from
6255         tests/test-hypotl.c.
6256         * tests/test-hypot.c: Include test-hypot.h.
6257         (main): Invoke test_function.
6258         * tests/test-hypotf.c: Include test-hypot.h.
6259         (main): Invoke test_function.
6260         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
6261         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
6262         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
6263         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
6264         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
6265         tests/randomf.c.
6266         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
6267         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
6268         tests/randoml.c.
6269         (Depends-on): Add 'fpucw', 'float'.
6270         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
6271
6272 2012-03-05  Bruno Haible  <bruno@clisp.org>
6273
6274         fpucw: Doc about FreeBSD.
6275         * lib/fpucw.h: Mention FreeBSD in comments.
6276
6277 2012-03-04  Bruno Haible  <bruno@clisp.org>
6278
6279         sqrt* tests: More tests.
6280         * tests/test-sqrt.h: New file.
6281         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
6282         (main): Invoke test_function.
6283         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
6284         (main): Invoke test_function.
6285         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
6286         (main): Invoke test_function.
6287         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
6288         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
6289         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
6290         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
6291         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
6292         (Depends-on): Add 'float'.
6293         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
6294
6295 2012-03-04  Bruno Haible  <bruno@clisp.org>
6296
6297         remainder* tests: More tests.
6298         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
6299         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
6300         (main): Invoke test_function.
6301         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
6302         (main): Invoke test_function.
6303         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
6304         (main): Invoke test_function.
6305         * modules/remainder-tests (Files): Add tests/test-remainder.h,
6306         tests/randomd.c.
6307         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
6308         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
6309         tests/randomf.c.
6310         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
6311         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
6312         tests/randoml.c.
6313         (Depends-on): Add 'float'.
6314         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
6315
6316 2012-03-04  Bruno Haible  <bruno@clisp.org>
6317
6318         remainder, remainderf, remainderl: Fix computation for large quotients.
6319         * lib/remainder.c: Completely rewritten.
6320         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
6321         USE_FLOAT.
6322         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
6323         USE_LONG_DOUBLE.
6324         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
6325         isnand, isinf. Remove round, fma.
6326         * modules/remainderf (Files): Add lib/remainder.c.
6327         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
6328         Remove roundf, fmaf.
6329         * modules/remainderl (Files): Add lib/remainder.c.
6330         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
6331         isinf. Remove roundl, fmal.
6332         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
6333         REMAINDER_LIBM.
6334         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
6335         REMAINDERF_LIBM.
6336         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
6337         REMAINDERL_LIBM.
6338
6339 2012-03-04  Bruno Haible  <bruno@clisp.org>
6340
6341         fmod* tests: More tests.
6342         * tests/test-fmod.h (my_ldexp): New function.
6343         (test_function): Reduce amount of random numbers to test. Add tests
6344         of very large quotients x / y.
6345         * tests/test-fmod.c (MAX_EXP): New macro.
6346         * tests/test-fmodf.c (MAX_EXP): Likewise.
6347         * tests/test-fmodl.c (MAX_EXP): Likewise.
6348
6349 2012-03-04  Bruno Haible  <bruno@clisp.org>
6350
6351         fmod, fmodl: Fix computation for large quotients x / y.
6352         * lib/fmod.c: Completely rewritten.
6353         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
6354         USE_LONG_DOUBLE.
6355         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
6356         isnand. Remove fma.
6357         * modules/fmodl (Files): Add lib/fmod.c.
6358         (Depends-on): Add float, isfinite, signbit, fabsl,
6359         frexpl, ldexpl, isnanl. Remove fma.
6360         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
6361         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
6362
6363 2012-03-03  Bruno Haible  <bruno@clisp.org>
6364
6365         fmod* tests: More tests.
6366         * tests/test-fmod.h: New file.
6367         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
6368         (main): Invoke test_function.
6369         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
6370         (main): Invoke test_function.
6371         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
6372         (main): Invoke test_function.
6373         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
6374         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
6375         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
6376         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
6377         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
6378         (Depends-on): Add 'float'.
6379         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
6380
6381 2012-03-03  Bruno Haible  <bruno@clisp.org>
6382
6383         rint* tests: More tests.
6384         * tests/test-rint.h: New file, partially extracted from
6385         tests/test-rintl.c.
6386         * tests/test-rint.c: Include test-rint.h.
6387         (main): Invoke test_function.
6388         * tests/test-rintf.c: Include test-rint.h.
6389         (main): Invoke test_function.
6390         * tests/test-rintl.c: Include test-rint.h.
6391         (main): Invoke test_function.
6392         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
6393         (Makefile.am): Add randomd.c to test_rint_SOURCES.
6394         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
6395         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
6396         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
6397         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
6398
6399 2012-03-03  Bruno Haible  <bruno@clisp.org>
6400
6401         modf* tests: More tests.
6402         * tests/test-modf.h: New file.
6403         * tests/test-modf.c: Include <float.h> and test-modf.h.
6404         (main): Invoke test_function.
6405         * tests/test-modff.c: Include <float.h> and test-modf.h.
6406         (main): Invoke test_function.
6407         * tests/test-modfl.c: Include <float.h> and test-modf.h.
6408         (main): Invoke test_function.
6409         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
6410         (Makefile.am): Add randomd.c to test_modf_SOURCES.
6411         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
6412         (Makefile.am): Add randomf.c to test_modff_SOURCES.
6413         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
6414         (Depends-on): Add 'float'.
6415         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
6416
6417 2012-03-03  Bruno Haible  <bruno@clisp.org>
6418
6419         fabs* tests: More tests.
6420         * tests/test-fabs.h: New file, partially extracted from
6421         tests/test-fabsl.c.
6422         * tests/test-fabs.c (RANDOM): New macro.
6423         * tests/test-fabsf.c (RANDOM): New macro.
6424         * tests/test-fabsl.c (RANDOM): New macro.
6425         * modules/fabs-tests (Files): Add tests/randomd.c.
6426         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
6427         * modules/fabsf-tests (Files): Add tests/randomf.c.
6428         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
6429         * modules/fabsl-tests (Files): Add tests/randoml.c.
6430         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
6431
6432 2012-03-03  Bruno Haible  <bruno@clisp.org>
6433
6434         ldexp* tests: More tests.
6435         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
6436         * tests/test-ldexp.c (RANDOM): New macro.
6437         * tests/test-ldexpf.c (RANDOM): New macro.
6438         * tests/test-ldexpl.c (RANDOM): New macro.
6439         * modules/ldexp-tests (Files): Add tests/randomd.c.
6440         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
6441         * modules/ldexpf-tests (Files): Add tests/randomf.c.
6442         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
6443         * modules/ldexpl-tests (Files): Add tests/randoml.c.
6444         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
6445
6446 2012-03-03  Bruno Haible  <bruno@clisp.org>
6447
6448         frexp* tests: More tests.
6449         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
6450         * tests/test-frexp.c (RANDOM): New macro.
6451         * tests/test-frexpf.c (RANDOM): New macro.
6452         * tests/test-frexpl.c (RANDOM): New macro.
6453         * modules/frexp-tests (Files): Add tests/randomd.c.
6454         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
6455         * modules/frexpf-tests (Files): Add tests/randomf.c.
6456         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
6457         * modules/frexpl-tests (Files): Add tests/randoml.c.
6458         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
6459
6460 2012-03-03  Bruno Haible  <bruno@clisp.org>
6461
6462         Support for pseudo-random numbers in tests.
6463         * tests/randomf.c: New file.
6464         * tests/randomd.c: New file.
6465         * tests/randoml.c: New file.
6466         * tests/macros.h (randomf, randomd, randoml): New declarations.
6467
6468 2012-03-03  Bruno Haible  <bruno@clisp.org>
6469
6470         frexp* tests: Refactor.
6471         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
6472         * tests/test-frexp.c: Include and use it.
6473         * tests/test-frexpf.c: Likewise.
6474         * tests/test-frexpl.c: Likewise.
6475         * modules/frexp-tests (Files): Add tests/test-frexp.h.
6476         * modules/frexpf-tests (Files): Likewise.
6477         * modules/frexpl-tests (Files): Likewise.
6478
6479 2012-03-02  Jim Meyering  <meyering@redhat.com>
6480
6481         maint: don't specify XZ_OPT=-9ev in dist-related rule
6482         Using xz's -9 option is warranted only if you have a very large
6483         tarball (see xz's documentation for the sizes vs. presets), and
6484         requires 64MiB of memory at decompression time.
6485         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
6486         Automake's default of just "-e" is fine.  Override on a
6487         per-package basis by setting XZ_OPT e.g., in cfg.mk.
6488
6489 2012-03-01  Eric Blake  <eblake@redhat.com>
6490
6491         maint.mk: allow announcement for non-gnulib project
6492         * maint.mk (announcement): Skip gnulib version if not used.
6493
6494 2012-03-01  Jim Meyering  <meyering@redhat.com>
6495
6496         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
6497         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
6498         envvar settings cannot interfere.  Otherwise, setting envvars like
6499         prohibit=foo require=bar, etc. would cause spurious test failures.
6500
6501 2012-03-01  Eric Blake  <eblake@redhat.com>
6502
6503         maint.mk: add per-line exclusions to prohibitions
6504         * maint.mk (_sc_search_regexp): Add $exclude parameter.
6505         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
6506         (sc_const_long_option): Use it.
6507
6508 2012-03-01  Bruno Haible  <bruno@clisp.org>
6509
6510         Tests for module 'expl-ieee'.
6511         * modules/expl-ieee-tests: New file.
6512         * tests/test-expl-ieee.c: New file.
6513
6514         New module 'expl-ieee'.
6515         * modules/expl-ieee: New file.
6516
6517         Tests for module 'exp-ieee'.
6518         * modules/exp-ieee-tests: New file.
6519         * tests/test-exp-ieee.c: New file.
6520
6521         New module 'exp-ieee'.
6522         * modules/exp-ieee: New file.
6523
6524         Tests for module 'expf-ieee'.
6525         * modules/expf-ieee-tests: New file.
6526         * tests/test-expf-ieee.c: New file.
6527         * tests/test-exp-ieee.h: New file.
6528
6529         New module 'expf-ieee'.
6530         * modules/expf-ieee: New file.
6531
6532 2012-02-29  Bruno Haible  <bruno@clisp.org>
6533
6534         cbrtl-ieee: Work around test failure on IRIX 6.5.
6535         * m4/cbrtl-ieee.m4: New file.
6536         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
6537         test whether cbrtl works with a minus zero argument. Replace it if not.
6538         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
6539         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
6540         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
6541         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
6542         (Depends-on): Update conditions.
6543         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
6544         m4/signbit.m4.
6545         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
6546         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
6547         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
6548
6549         Tests for module 'cbrtl-ieee'.
6550         * modules/cbrtl-ieee-tests: New file.
6551         * tests/test-cbrtl-ieee.c: New file.
6552
6553         New module 'cbrtl-ieee'.
6554         * modules/cbrtl-ieee: New file.
6555
6556         Tests for module 'cbrt-ieee'.
6557         * modules/cbrt-ieee-tests: New file.
6558         * tests/test-cbrt-ieee.c: New file.
6559
6560         New module 'cbrt-ieee'.
6561         * modules/cbrt-ieee: New file.
6562
6563         Tests for module 'cbrtf-ieee'.
6564         * modules/cbrtf-ieee-tests: New file.
6565         * tests/test-cbrtf-ieee.c: New file.
6566         * tests/test-cbrt-ieee.h: New file.
6567
6568         New module 'cbrtf-ieee'.
6569         * modules/cbrtf-ieee: New file.
6570
6571 2012-02-29  Bruno Haible  <bruno@clisp.org>
6572
6573         cbrtf: Work around bug in IRIX 6.5 system function.
6574         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
6575         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
6576         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
6577         work.
6578         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
6579         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
6580         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
6581         (Depends-on): Update conditions.
6582         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
6583
6584 2012-02-29  Bruno Haible  <bruno@clisp.org>
6585
6586         Tests for module 'cbrtl'.
6587         * modules/cbrtl-tests: New file.
6588         * tests/test-cbrtl.c: New file.
6589
6590         New module 'cbrtl'.
6591         * lib/math.in.h (cbrtl): New declaration.
6592         * lib/cbrtl.c: New file.
6593         * m4/cbrtl.m4: New file.
6594         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
6595         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
6596         HAVE_DECL_CBRTL.
6597         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
6598         HAVE_DECL_CBRTL.
6599         * modules/cbrtl: New file.
6600         * tests/test-math-c++.cc: Check the declaration of cbrtl.
6601         * doc/posix-functions/cbrtl.texi: Mention the new module.
6602
6603 2012-02-29  Bruno Haible  <bruno@clisp.org>
6604
6605         Tests for module 'cbrtf'.
6606         * modules/cbrtf-tests: New file.
6607         * tests/test-cbrtf.c: New file.
6608
6609         New module 'cbrtf'.
6610         * lib/math.in.h (cbrtf): New declaration.
6611         * lib/cbrtf.c: New file.
6612         * m4/cbrtf.m4: New file.
6613         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
6614         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
6615         HAVE_DECL_CBRTF.
6616         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
6617         HAVE_DECL_CBRTF.
6618         * modules/cbrtf: New file.
6619         * tests/test-math-c++.cc: Check the declaration of cbrtf.
6620         * doc/posix-functions/cbrtf.texi: Mention the new module.
6621
6622 2012-02-29  Bruno Haible  <bruno@clisp.org>
6623
6624         cbrt: Provide replacement on MSVC and Minix.
6625         * lib/math.in.h (cbrt): New declaration.
6626         * lib/cbrt.c: New file.
6627         * m4/cbrt.m4: New file.
6628         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
6629         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
6630         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
6631         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
6632         (Depends-on): Add dependencies.
6633         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
6634         * tests/test-math-c++.cc: Check the declaration of cbrt.
6635         * doc/posix-functions/cbrt.texi: Mention that the module provides a
6636         replacement.
6637
6638 2012-02-29  Bruno Haible  <bruno@clisp.org>
6639
6640         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
6641         * m4/hypotl-ieee.m4: New file.
6642         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
6643         test whether hypotl works with mixed NaN and Infinity arguments.
6644         Replace it if not.
6645         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
6646         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
6647         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
6648         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
6649         (Depends-on): Update conditions.
6650         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
6651         (Depends-on): Add hypot-ieee.
6652         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
6653         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
6654
6655         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
6656         * m4/hypotf-ieee.m4: New file.
6657         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
6658         test whether hypotf works with mixed NaN and Infinity arguments.
6659         Replace it if not.
6660         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
6661         (Depends-on): Add hypot-ieee.
6662         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
6663         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
6664
6665         hypot-ieee: Work around test failure on OSF/1 and native Windows.
6666         * lib/math.in.h (hypot): New declaration.
6667         * lib/hypot.c: New file.
6668         * m4/hypot-ieee.m4: New file.
6669         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
6670         whether hypot works with mixed NaN and Infinity arguments. Replace it
6671         if not.
6672         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
6673         REPLACE_HYPOT.
6674         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
6675         * modules/hypot (Files): Add lib/hypot.c.
6676         (Depends-on): Add dependencies.
6677         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
6678         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
6679         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
6680         * tests/test-math-c++.cc: Check the declaration of hypot.
6681         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
6682
6683         Tests for module 'hypotl-ieee'.
6684         * modules/hypotl-ieee-tests: New file.
6685         * tests/test-hypotl-ieee.c: New file.
6686
6687         New module 'hypotl-ieee'.
6688         * modules/hypotl-ieee: New file.
6689
6690         Tests for module 'hypot-ieee'.
6691         * modules/hypot-ieee-tests: New file.
6692         * tests/test-hypot-ieee.c: New file.
6693
6694         New module 'hypot-ieee'.
6695         * modules/hypot-ieee: New file.
6696
6697         Tests for module 'hypotf-ieee'.
6698         * modules/hypotf-ieee-tests: New file.
6699         * tests/test-hypotf-ieee.c: New file.
6700         * tests/test-hypot-ieee.h: New file.
6701
6702         New module 'hypotf-ieee'.
6703         * modules/hypotf-ieee: New file.
6704
6705 2012-02-29  Bruno Haible  <bruno@clisp.org>
6706
6707         Remove unused variables.
6708         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
6709         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6710         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
6711         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6712
6713 2012-02-29  Eric Blake  <eblake@redhat.com>
6714
6715         termios: fix pid_t always, not just for tcgetsid
6716         * doc/posix-headers/termios.texi (termios.h): Mention problem.
6717         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
6718         just when building tcgetsid.
6719
6720 2012-02-29  Bruno Haible  <bruno@clisp.org>
6721
6722         Tests for module 'hypotl'.
6723         * modules/hypotl-tests: New file.
6724         * tests/test-hypotl.c: New file.
6725
6726         New module 'hypotl'.
6727         * lib/math.in.h (hypotl): New declaration.
6728         * lib/hypotl.c: New file.
6729         * m4/hypotl.m4: New file.
6730         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6731         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
6732         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
6733         * modules/hypotl: New file.
6734         * tests/test-math-c++.cc: Check the hypotl declaration.
6735         * doc/posix-functions/hypotl.texi: Mention the new module.
6736
6737 2012-02-29  Eric Blake  <eblake@redhat.com>
6738
6739         tcgetsid: fix cygwin header bug
6740         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
6741
6742         docs: update cygwin progress
6743         * doc/posix-functions/llround.texi (llround): Added in cygwin
6744         1.7.8.
6745         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
6746         * doc/glibc-functions/program_invocation_name.texi
6747         (program_invocation_name): Likewise.
6748         * doc/glibc-functions/program_invocation_short_name.texi
6749         (program_invocation_short_name): Likewise.
6750         * doc/glibc-functions/madvise.texi (madvise): Likewise.
6751         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
6752         Likewise.
6753         * doc/posix-functions/pthread_spin_destroy.texi
6754         (pthread_spin_destroy): Added in cygwin 1.7.10.
6755         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
6756         Likewise.
6757         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
6758         Likewise.
6759         * doc/posix-functions/pthread_spin_trylock.texi
6760         (pthread_spin_trylock): Likewise.
6761         * doc/posix-functions/pthread_spin_unlock.texi
6762         (pthread_spin_unlock): Likewise.
6763         * doc/posix-functions/pthread_setschedprio.texi
6764         (pthread_setschedprio): Likewise.
6765         * doc/posix-functions/pthread_attr_getstack.texi
6766         (pthread_attr_getstack): Likewise.
6767         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
6768         (pthread_attr_getstackaddr): Likewise.
6769         * doc/glibc-functions/pthread_getattr_np.texi
6770         (pthread_getattr_np): Likewise.
6771         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
6772         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
6773         * doc/posix-functions/clock_settime.texi (clock_settime):
6774         Likewise.
6775         * doc/posix-functions/pthread_attr_getguardsize.texi
6776         (pthread_attr_getguardsize): Likewise.
6777         * doc/posix-functions/pthread_attr_setguardsize.texi
6778         (pthread_attr_setguardsize): Likewise.
6779         * doc/posix-functions/pthread_attr_setstack.texi
6780         (pthread_attr_setstack): Likewise.
6781         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
6782         (pthread_attr_setstackaddr): Likewise.
6783         * doc/posix-functions/clock_getcpuclockid.texi
6784         (clock_getcpuclockid): Likewise.
6785         * doc/posix-functions/pthread_getcpuclockid.texi
6786         (pthread_getcpuclockid): Likewise.
6787         * doc/glibc-functions/error.texi (error): Likewise.
6788         * doc/glibc-functions/error_at_line.texi (error_at_line):
6789         Likewise.
6790         * doc/glibc-functions/error_message_count.texi
6791         (error_message_count): Likewise.
6792         * doc/glibc-functions/error_one_per_line.texi
6793         (error_one_per_line): Likewise.
6794         * doc/glibc-functions/error_print_progname.texi
6795         (error_print_progname): Likewise.
6796         * doc/posix-functions/pthread_condattr_getclock.texi
6797         (pthread_condattr_getclock): Likewise.
6798         * doc/posix-functions/pthread_condattr_setclock.texi
6799         (pthread_condattr_setclock): Likewise.
6800         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
6801         Likewise.
6802         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
6803         * doc/glibc-functions/getpt.texi (getpt): Likewise.
6804         * doc/glibc-functions/get_current_dir_name.texi
6805         (get_current_dir_name): Likewise.
6806         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
6807         Likewise.
6808         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
6809         wrong return type.
6810         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
6811         1.7.11.
6812
6813 2012-02-29  Bruno Haible  <bruno@clisp.org>
6814
6815         Tests for module 'hypotf'.
6816         * modules/hypotf-tests: New file.
6817         * tests/test-hypotf.c: New file.
6818
6819         New module 'hypotf'.
6820         * lib/math.in.h (hypotf): New declaration.
6821         * lib/hypotf.c: New file.
6822         * m4/hypotf.m4: New file.
6823         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6824         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
6825         REPLACE_HYPOTF.
6826         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
6827         REPLACE_HYPOTF.
6828         * modules/hypotf: New file.
6829         * tests/test-math-c++.cc: Check the hypotf declaration.
6830         * doc/posix-functions/hypotf.texi: Mention the new module.
6831
6832         hypot: Prepare for hypotf module.
6833         * m4/hypot.m4: New file.
6834         * modules/hypot (Files): Add m4/hypot.m4.
6835         (configure.ac): Invoke gl_FUNC_HYPOT.
6836
6837 2012-02-29  Bruno Haible  <bruno@clisp.org>
6838
6839         hypot tests: More tests.
6840         * tests/test-hypot.c: Include <float.h>.
6841         (main): Add tests about overflow and underflow.
6842
6843 2012-02-29  Bruno Haible  <bruno@clisp.org>
6844
6845         math code: Add comments.
6846         * lib/acosl.c: Add comment about related glibc source files.
6847         * lib/asinl.c: Likewise.
6848         * lib/atanl.c: Likewise.
6849         * lib/expl.c: Likewise.
6850         * lib/logl.c: Likewise.
6851         * lib/sincosl.c: Likewise.
6852         * lib/sinl.c: Likewise.
6853         * lib/tanl.c: Likewise.
6854         * lib/trigl.c: Likewise.
6855         * lib/cosl.c: Likewise. Fix comments.
6856
6857 2012-02-28  Bruno Haible  <bruno@clisp.org>
6858
6859         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
6860         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
6861         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
6862         HUGE_VALL are defined.
6863         (numeric_equald): Renamed from numeric_equal.
6864         (numeric_equalf, numeric_equall): New functions.
6865         (main): Check also HUGE_VALF, HUGE_VALL.
6866         * modules/math-tests (Files): Add tests/macros.h.
6867         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
6868         HUGE_VALL.
6869
6870 2012-02-28  Bruno Haible  <bruno@clisp.org>
6871
6872         doc: Move ISO C11 feature notes into POSIX chapters.
6873         * doc/posix-functions/aligned_alloc.texi: Renamed from
6874         doc/glibc-functions/aligned_alloc.texi.
6875         * doc/posix-functions/quick_exit.texi: Renamed from
6876         doc/glibc-functions/quick_exit.texi.
6877         * doc/posix-headers/uchar.texi: Renamed from
6878         doc/glibc-headers/uchar.texi.
6879         * doc/posix-functions/c16rtomb.texi: Renamed from
6880         doc/glibc-functions/c16rtomb.texi.
6881         * doc/posix-functions/c32rtomb.texi: Renamed from
6882         doc/glibc-functions/c32rtomb.texi.
6883         * doc/posix-functions/mbrtoc16.texi: Renamed from
6884         doc/glibc-functions/mbrtoc16.texi.
6885         * doc/posix-functions/mbrtoc32.texi: Renamed from
6886         doc/glibc-functions/mbrtoc32.texi.
6887         * doc/gnulib.texi: Update.
6888         (Glibc uchar.h): Remove section.
6889         Suggested by Eric Blake.
6890
6891 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
6892
6893         stdnoreturn: port to MSVC better
6894         MSVC standard headers use __declspec(noreturn), so #define noreturn
6895         to empty on that platform.  Reported by Bruno Haible in
6896         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
6897         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
6898         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
6899
6900 2012-02-28  Bruno Haible  <bruno@clisp.org>
6901
6902         doc: Mention new glibc headers and functions.
6903         * doc/glibc-headers/uchar.texi: New file.
6904         * doc/glibc-functions/aligned_alloc.texi: New file.
6905         * doc/glibc-functions/c16rtomb.texi: New file.
6906         * doc/glibc-functions/c32rtomb.texi: New file.
6907         * doc/glibc-functions/clock_adjtime.texi: New file.
6908         * doc/glibc-functions/fanotify_init.texi: New file.
6909         * doc/glibc-functions/fanotify_mark.texi: New file.
6910         * doc/glibc-functions/inet6_opt_append.texi: New file.
6911         * doc/glibc-functions/inet6_opt_find.texi: New file.
6912         * doc/glibc-functions/inet6_opt_finish.texi: New file.
6913         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
6914         * doc/glibc-functions/inet6_opt_init.texi: New file.
6915         * doc/glibc-functions/inet6_opt_next.texi: New file.
6916         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
6917         * doc/glibc-functions/inet6_rth_add.texi: New file.
6918         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
6919         * doc/glibc-functions/inet6_rth_init.texi: New file.
6920         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
6921         * doc/glibc-functions/inet6_rth_segments.texi: New file.
6922         * doc/glibc-functions/inet6_rth_space.texi: New file.
6923         * doc/glibc-functions/login.texi: New file.
6924         * doc/glibc-functions/mbrtoc16.texi: New file.
6925         * doc/glibc-functions/mbrtoc32.texi: New file.
6926         * doc/glibc-functions/name_to_handle_at.texi: New file.
6927         * doc/glibc-functions/ntp_gettimex.texi: New file.
6928         * doc/glibc-functions/open_by_handle_at.texi: New file.
6929         * doc/glibc-functions/prlimit.texi: New file.
6930         * doc/glibc-functions/process_vm_readv.texi: New file.
6931         * doc/glibc-functions/process_vm_writev.texi: New file.
6932         * doc/glibc-functions/recvmmsg.texi: New file.
6933         * doc/glibc-functions/scandirat.texi: New file.
6934         * doc/glibc-functions/sendmmsg.texi: New file.
6935         * doc/glibc-functions/setns.texi: New file.
6936         * doc/glibc-functions/timespec_get.texi: New file.
6937         * doc/gnulib.texi: Include them.
6938         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
6939         sections.
6940         Reported by Eric Blake.
6941
6942 2012-02-28  Bruno Haible  <bruno@clisp.org>
6943
6944         Avoid compilation errors with MSVC option -fp:strict.
6945         * lib/floor.c: Use MSVC specific pragma fenv_access.
6946         * lib/ceil.c: Likewise.
6947         * lib/trunc.c: Likewise.
6948         * lib/round.c: Likewise.
6949         * lib/rint.c: Likewise.
6950         * lib/fma.c: Likewise.
6951         * lib/integer_length.c: Likewise.
6952         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6953         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6954         * tests/test-floor2.c: Likewise.
6955         * tests/test-floorf2.c: Likewise.
6956         * tests/test-ceil2.c: Likewise.
6957         * tests/test-ceilf2.c: Likewise.
6958         * tests/test-trunc2.c: Likewise.
6959         * tests/test-truncf2.c: Likewise.
6960         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6961
6962 2012-02-27  Bruno Haible  <bruno@clisp.org>
6963
6964         Tests for module 'sqrtl-ieee'.
6965         * modules/sqrtl-ieee-tests: New file.
6966         * tests/test-sqrtl-ieee.c: New file.
6967
6968         New module 'sqrtl-ieee'.
6969         * modules/sqrtl-ieee: New file.
6970
6971         Tests for module 'sqrt-ieee'.
6972         * modules/sqrt-ieee-tests: New file.
6973         * tests/test-sqrt-ieee.c: New file.
6974
6975         New module 'sqrt-ieee'.
6976         * modules/sqrt-ieee: New file.
6977
6978         Tests for module 'sqrtf-ieee'.
6979         * modules/sqrtf-ieee-tests: New file.
6980         * tests/test-sqrtf-ieee.c: New file.
6981         * tests/test-sqrt-ieee.h: New file.
6982
6983         New module 'sqrtf-ieee'.
6984         * modules/sqrtf-ieee: New file.
6985
6986 2012-02-27  Bruno Haible  <bruno@clisp.org>
6987
6988         remainderl-ieee: Work around test failure on OSF/1.
6989         * m4/remainderl-ieee.m4: New file.
6990         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
6991         present, test whether remainderl works with a zero second argument.
6992         Replace it if not.
6993         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
6994         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
6995         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
6996         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
6997         (Depends-on): Update conditions.
6998         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
6999         (Depends-on): Add remainder-ieee.
7000         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
7001         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
7002         module.
7003
7004         remainderf-ieee: Work around test failure on OSF/1.
7005         * m4/remainderf-ieee.m4: New file.
7006         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
7007         present, test whether remainderf works with a zero second argument.
7008         Replace it if not.
7009         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
7010         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
7011         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
7012         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
7013         (Depends-on): Update conditions.
7014         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
7015         (Depends-on): Add remainder-ieee.
7016         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
7017         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
7018         module.
7019
7020         remainder-ieee: Work around test failure on OSF/1.
7021         * m4/remainder-ieee.m4: New file.
7022         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
7023         present, test whether remainder works with a zero second argument.
7024         Replace it if not.
7025         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
7026         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
7027         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
7028         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
7029         (Depends-on): Update dependencies.
7030         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
7031         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
7032         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
7033
7034         Tests for module 'remainderl-ieee'.
7035         * modules/remainderl-ieee-tests: New file.
7036         * tests/test-remainderl-ieee.c: New file.
7037
7038         New module 'remainderl-ieee'.
7039         * modules/remainderl-ieee: New file.
7040
7041         Tests for module 'remainder-ieee'.
7042         * modules/remainder-ieee-tests: New file.
7043         * tests/test-remainder-ieee.c: New file.
7044
7045         New module 'remainder-ieee'.
7046         * modules/remainder-ieee: New file.
7047
7048         Tests for module 'remainderf-ieee'.
7049         * modules/remainderf-ieee-tests: New file.
7050         * tests/test-remainderf-ieee.c: New file.
7051         * tests/test-remainder-ieee.h: New file.
7052
7053         New module 'remainderf-ieee'.
7054         * modules/remainderf-ieee: New file.
7055
7056 2012-02-27  Bruno Haible  <bruno@clisp.org>
7057
7058         modff, modfl: Fix configure syntax error.
7059         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
7060         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
7061
7062 2012-02-27  Bruno Haible  <bruno@clisp.org>
7063
7064         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
7065         * m4/fmodl-ieee.m4: New file.
7066         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
7067         whether fmodl works with zero arguments. Replace it if not.
7068         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
7069         (Depends-on): Add fmod-ieee.
7070         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
7071         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
7072
7073         fmodf-ieee: Work around test failure on OSF/1.
7074         * m4/fmodf-ieee.m4: New file.
7075         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
7076         whether fmodf works with zero arguments. Replace it if not.
7077         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
7078         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
7079         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
7080         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
7081         (Depends-on): Update dependencies.
7082         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
7083         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
7084         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
7085
7086         fmodf-ieee: Work around test failure on MSVC 9.
7087         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
7088         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
7089
7090         fmod-ieee: Work around test failures on OSF/1, mingw.
7091         * m4/fmod-ieee.m4: New file.
7092         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
7093         whether fmod works with zero arguments. Replace it if not.
7094         * lib/math.in.h (fmod): New declaration.
7095         * lib/fmod.c: New file.
7096         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
7097         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
7098         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
7099         * modules/fmod (Files): Add lib/fmod.c.
7100         (Depends-on): Add math, isinf, trunc, fma.
7101         (configure.ac): Arrange to compile lib/fmod.c if needed.
7102         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
7103         m4/signbit.m4.
7104         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
7105         * tests/test-math-c++.cc: Check the declaration of fmod.
7106         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
7107
7108         fmodl-ieee: Fix test failures.
7109         * lib/fmodl.c (fmodl): Treat Inf specially.
7110         * modules/fmodl (Depends-on): Add isinf.
7111
7112         Tests for module 'fmodl-ieee'.
7113         * modules/fmodl-ieee-tests: New file.
7114         * tests/test-fmodl-ieee.c: New file.
7115
7116         New module 'fmodl-ieee'.
7117         * modules/fmodl-ieee: New file.
7118
7119         Tests for module 'fmod-ieee'.
7120         * modules/fmod-ieee-tests: New file.
7121         * tests/test-fmod-ieee.c: New file.
7122
7123         New module 'fmod-ieee'.
7124         * modules/fmod-ieee: New file.
7125
7126         Tests for module 'fmodf-ieee'.
7127         * modules/fmodf-ieee-tests: New file.
7128         * tests/test-fmodf-ieee.c: New file.
7129         * tests/test-fmod-ieee.h: New file.
7130
7131         New module 'fmodf-ieee'.
7132         * modules/fmodf-ieee: New file.
7133
7134 2012-02-27  Bruno Haible  <bruno@clisp.org>
7135
7136         Tests for module 'rintl-ieee'.
7137         * modules/rintl-ieee-tests: New file.
7138         * tests/test-rintl-ieee.c: New file.
7139
7140         New module 'rintl-ieee'.
7141         * modules/rintl-ieee: New file.
7142
7143         Tests for module 'rint-ieee'.
7144         * modules/rint-ieee-tests: New file.
7145         * tests/test-rint-ieee.c: New file.
7146
7147         New module 'rint-ieee'.
7148         * modules/rint-ieee: New file.
7149
7150         Tests for module 'rintf-ieee'.
7151         * modules/rintf-ieee-tests: New file.
7152         * tests/test-rintf-ieee.c: New file.
7153         * tests/test-rint-ieee.h: New file.
7154
7155         New module 'rintf-ieee'.
7156         * modules/rintf-ieee: New file.
7157
7158 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
7159
7160         regex: re_search etc. should return -2 when memory exhausted
7161         This bug was uncovered when testing 'grep'.  Without the fix,
7162         re_search and friends return -1 when memory is exhausted, but -1
7163         means no match, and this causes grep to falsely report no-match
7164         instead of memory-exhaustion.  See
7165         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
7166         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
7167         trouble; this can occur if re_search_internal ran out of memory.
7168
7169 2012-02-26  Bruno Haible  <bruno@clisp.org>
7170
7171         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
7172         * m4/modfl-ieee.m4: New file.
7173         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
7174         whether modfl works with Inf. Replace it if not.
7175         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
7176         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
7177         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
7178         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
7179         (Depends-on): Update dependencies.
7180         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
7181         m4/signbit.m4.
7182         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
7183         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
7184
7185         modfl-ieee: Fix dependencies.
7186         * modules/modfl-ieee (Depends-on): Add modf-ieee.
7187
7188         modfl-ieee: Fix test failures.
7189         * lib/modfl.c (modfl): Treat NaN and Inf specially.
7190         * modules/modfl (Depends-on): Add isfinite, isinf.
7191
7192         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
7193         * m4/modff-ieee.m4: New file.
7194         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
7195         whether modff works with NaN and Inf. Replace it if not.
7196         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
7197         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
7198         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
7199         * modules/modff (configure.ac): Consider REPLACE_MODFF.
7200         (Depends-on): Update dependencies.
7201         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
7202         m4/signbit.m4.
7203         (Depends-on): Add modf-ieee.
7204         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
7205         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
7206
7207         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
7208         * m4/modf-ieee.m4: New file.
7209         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
7210         whether modf works with NaN and Inf. Replace it if not.
7211         * lib/math.in.h (modf): New declaration.
7212         * lib/modf.c: New file.
7213         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
7214         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
7215         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
7216         * modules/modf (Files): Add lib/modf.c.
7217         (Depends-on): Add math, isfinite, trunc, isinf.
7218         (configure.ac): Addrange to compile lib/modf.c if needed.
7219         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
7220         m4/signbit.m4.
7221         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
7222         * tests/test-math-c++.cc: Check the declaration of modf.
7223         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
7224
7225         Tests for module 'modfl-ieee'.
7226         * modules/modfl-ieee-tests: New file.
7227         * tests/test-modfl-ieee.c: New file.
7228
7229         New module 'modfl-ieee'.
7230         * modules/modfl-ieee: New file.
7231
7232         Tests for module 'modf-ieee'.
7233         * modules/modf-ieee-tests: New file.
7234         * tests/test-modf-ieee.c: New file.
7235
7236         New module 'modf-ieee'.
7237         * modules/modf-ieee: New file.
7238
7239         Tests for module 'modff-ieee'.
7240         * modules/modff-ieee-tests: New file.
7241         * tests/test-modff-ieee.c: New file.
7242         * tests/test-modf-ieee.h: New file.
7243
7244         New module 'modff-ieee'.
7245         * modules/modff-ieee: New file.
7246
7247 2012-02-26  Bruno Haible  <bruno@clisp.org>
7248
7249         Tests for module 'fabsl-ieee'.
7250         * modules/fabsl-ieee-tests: New file.
7251         * tests/test-fabsl-ieee.c: New file.
7252
7253         New module 'fabsl-ieee'.
7254         * modules/fabsl-ieee: New file.
7255
7256         Tests for module 'fabs-ieee'.
7257         * modules/fabs-ieee-tests: New file.
7258         * tests/test-fabs-ieee.c: New file.
7259
7260         New module 'fabs-ieee'.
7261         * modules/fabs-ieee: New file.
7262
7263         Tests for module 'fabsf-ieee'.
7264         * modules/fabsf-ieee-tests: New file.
7265         * tests/test-fabsf-ieee.c: New file.
7266         * tests/test-fabs-ieee.h: New file.
7267
7268         New module 'fabsf-ieee'.
7269         * modules/fabsf-ieee: New file.
7270
7271 2012-02-26  Bruno Haible  <bruno@clisp.org>
7272
7273         Tests for module 'fmal-ieee'.
7274         * modules/fmal-ieee-tests: New file.
7275         * tests/test-fmal-ieee.c: New file.
7276
7277         New module 'fmal-ieee'.
7278         * modules/fmal-ieee: New file.
7279
7280         Tests for module 'fma-ieee'.
7281         * modules/fma-ieee-tests: New file.
7282         * tests/test-fma-ieee.c: New file.
7283
7284         New module 'fma-ieee'.
7285         * modules/fma-ieee: New file.
7286
7287         Tests for module 'fmaf-ieee'.
7288         * modules/fmaf-ieee-tests: New file.
7289         * tests/test-fmaf-ieee.c: New file.
7290         * tests/test-fma-ieee.h: New file.
7291
7292         New module 'fmaf-ieee'.
7293         * modules/fmaf-ieee: New file.
7294
7295 2012-02-26  Bruno Haible  <bruno@clisp.org>
7296
7297         Tests for module 'ldexpl-ieee'.
7298         * modules/ldexpl-ieee-tests: New file.
7299         * tests/test-ldexpl-ieee.c: New file.
7300
7301         New module 'ldexpl-ieee'.
7302         * modules/ldexpl-ieee: New file.
7303
7304         Tests for module 'ldexp-ieee'.
7305         * modules/ldexp-ieee-tests: New file.
7306         * tests/test-ldexp-ieee.c: New file.
7307
7308         New module 'ldexp-ieee'.
7309         * modules/ldexp-ieee: New file.
7310
7311         Tests for module 'ldexpf-ieee'.
7312         * modules/ldexpf-ieee-tests: New file.
7313         * tests/test-ldexpf-ieee.c: New file.
7314         * tests/test-ldexp-ieee.h: New file.
7315
7316         New module 'ldexpf-ieee'.
7317         * modules/ldexpf-ieee: New file.
7318
7319 2012-02-26  Bruno Haible  <bruno@clisp.org>
7320
7321         Refactor frexp*-ieee tests.
7322         * tests/test-frexp-ieee.h: New file.
7323         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
7324         (main): Just call test_function.
7325         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
7326         (main): Just call test_function.
7327         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
7328         (main): Just call test_function.
7329         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
7330         * modules/frexp-ieee-tests (Files): Likewise.
7331         * modules/frexpl-ieee-tests (Files): Likewise.
7332
7333         Tests for module 'frexpl-ieee'.
7334         * modules/frexpl-ieee-tests: New file.
7335         * tests/test-frexpl-ieee.c: New file.
7336
7337         New module 'frexpl-ieee'.
7338         * modules/frexpl-ieee: New file.
7339
7340         Tests for module 'frexp-ieee'.
7341         * modules/frexp-ieee-tests: New file.
7342         * tests/test-frexp-ieee.c: New file.
7343
7344         New module 'frexp-ieee'.
7345         * modules/frexp-ieee: New file.
7346
7347         Tests for module 'frexpf-ieee'.
7348         * modules/frexpf-ieee-tests: New file.
7349         * tests/test-frexpf-ieee.c: New file.
7350
7351         New module 'frexpf-ieee'.
7352         * modules/frexpf-ieee: New file.
7353
7354 2012-02-26  Bruno Haible  <bruno@clisp.org>
7355
7356         roundl-ieee tests: More tests.
7357         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7358         (main): Add tests for [MX] shaded specification in POSIX.
7359         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7360         (Depends-on): Add isnanl-nolibm.
7361
7362         round-ieee tests: More tests.
7363         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7364         (main): Add tests for [MX] shaded specification in POSIX.
7365         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7366         (Depends-on): Add isnand-nolibm.
7367
7368         roundf-ieee tests: More tests.
7369         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7370         (main): Add tests for [MX] shaded specification in POSIX.
7371         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7372         (Depends-on): Add isnanf-nolibm.
7373
7374         truncl-ieee tests: More tests.
7375         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7376         (main): Add tests for [MX] shaded specification in POSIX.
7377         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7378         (Depends-on): Add isnanl-nolibm.
7379
7380         trunc-ieee tests: More tests.
7381         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7382         (main): Add tests for [MX] shaded specification in POSIX.
7383         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7384         (Depends-on): Add isnand-nolibm.
7385
7386         truncf-ieee tests: More tests.
7387         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7388         (main): Add tests for [MX] shaded specification in POSIX.
7389         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7390         (Depends-on): Add isnanf-nolibm.
7391
7392         ceill-ieee tests: More tests.
7393         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7394         (main): Add tests for [MX] shaded specification in POSIX.
7395         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7396         (Depends-on): Add isnanl-nolibm.
7397
7398         ceil-ieee tests: More tests.
7399         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7400         (main): Add tests for [MX] shaded specification in POSIX.
7401         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7402         (Depends-on): Add isnand-nolibm.
7403
7404         ceilf-ieee tests: More tests.
7405         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7406         (main): Add tests for [MX] shaded specification in POSIX.
7407         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7408         (Depends-on): Add isnanf-nolibm.
7409
7410         floorl-ieee tests: More tests.
7411         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7412         (main): Add tests for [MX] shaded specification in POSIX.
7413         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7414         (Depends-on): Add isnanl-nolibm.
7415
7416         floor-ieee tests: More tests.
7417         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7418         (main): Add tests for [MX] shaded specification in POSIX.
7419         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7420         (Depends-on): Add isnand-nolibm.
7421
7422         floorf-ieee tests: More tests.
7423         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7424         (main): Add tests for [MX] shaded specification in POSIX.
7425         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7426         (Depends-on): Add isnanf-nolibm.
7427
7428 2012-02-26  Bruno Haible  <bruno@clisp.org>
7429
7430         fpieee: More comments.
7431         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
7432
7433 2012-02-25  Bruno Haible  <bruno@clisp.org>
7434
7435         Tests for module 'log10l'.
7436         * modules/log10l-tests: New file.
7437         * tests/test-log10l.c: New file.
7438         * tests/test-math-c++.cc: Check the declaration of log10l.
7439
7440         New module 'log10l'.
7441         * lib/math.in.h (log10l): New declaration.
7442         * lib/log10l.c: New file.
7443         * m4/log10l.m4: New file.
7444         * modules/log10l: New file.
7445         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
7446         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
7447         HAVE_DECL_LOG10L.
7448         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
7449         HAVE_DECL_LOG10L.
7450         * doc/posix-functions/log10l.texi: Mention the new module.
7451
7452 2012-02-25  Bruno Haible  <bruno@clisp.org>
7453
7454         fmodl, remainder*: Avoid wrong results due to rounding errors.
7455         * lib/fmodl.c (fmodl): Correct the result if it is not within the
7456         expected bounds.
7457         * lib/remainderf.c (remainderf): Likewise.
7458         * lib/remainder.c (remainder): Likewise.
7459         * lib/remainderl.c (remainderl): Likewise.
7460
7461 2012-02-25  Bruno Haible  <bruno@clisp.org>
7462
7463         Tests for module 'remainderl'.
7464         * modules/remainderl-tests: New file.
7465         * tests/test-remainderl.c: New file.
7466         * tests/test-math-c++.cc: Check the declaration of remainderl.
7467
7468         New module 'remainderl'.
7469         * lib/math.in.h (remainderl): New declaration.
7470         * lib/remainderl.c: New file.
7471         * m4/remainderl.m4: New file.
7472         * modules/remainderl: New file.
7473         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
7474         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
7475         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
7476         HAVE_REMAINDERL.
7477         * doc/posix-functions/remainderl.texi: Mention the new module.
7478
7479 2012-02-25  Bruno Haible  <bruno@clisp.org>
7480
7481         Tests for module 'remainderf'.
7482         * modules/remainderf-tests: New file.
7483         * tests/test-remainderf.c: New file.
7484         * tests/test-math-c++.cc: Check the declaration of remainderf.
7485
7486         New module 'remainderf'.
7487         * lib/math.in.h (remainderf): New declaration.
7488         * lib/remainderf.c: New file.
7489         * m4/remainderf.m4: New file.
7490         * modules/remainderf: New file.
7491         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
7492         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
7493         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
7494         HAVE_REMAINDERF.
7495         * doc/posix-functions/remainderf.texi: Mention the new module.
7496
7497 2012-02-25  Bruno Haible  <bruno@clisp.org>
7498
7499         remainder: Support for MSVC.
7500         * lib/math.in.h (remainder): New declaration.
7501         * lib/remainder.c: New file.
7502         * m4/remainder.m4: New file.
7503         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
7504         (Depends-on): Add math, round, fma.
7505         (configure.ac): Use results of gl_FUNC_REMAINDER.
7506         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
7507         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
7508         HAVE_DECL_REMAINDER.
7509         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
7510         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
7511         * tests/test-math-c++.cc: Check the declaration of remainder.
7512         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
7513         problems are fixed.
7514
7515 2012-02-25  Bruno Haible  <bruno@clisp.org>
7516
7517         Tests for module 'fmodl'.
7518         * modules/fmodl-tests: New file.
7519         * tests/test-fmodl.c: New file.
7520         * tests/test-math-c++.cc: Check the declaration of fmodl.
7521
7522         New module 'fmodl'.
7523         * lib/math.in.h (fmodl): New declaration.
7524         * lib/fmodl.c: New file.
7525         * m4/fmodl.m4: New file.
7526         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
7527         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
7528         REPLACE_FMODL.
7529         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
7530         REPLACE_FMODL.
7531         * modules/fmodl: New file.
7532         * doc/posix-functions/fmodl.texi: Mention the new module.
7533
7534 2012-02-25  Bruno Haible  <bruno@clisp.org>
7535
7536         Tests for module 'modfl'.
7537         * modules/modfl-tests: New file.
7538         * tests/test-modfl.c: New file.
7539         * tests/test-math-c++.cc: Check the declaration of modfl.
7540
7541         New module 'modfl'.
7542         * lib/math.in.h (modfl): New declaration.
7543         * lib/modfl.c: New file.
7544         * m4/modfl.m4: New file.
7545         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
7546         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
7547         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
7548         * modules/modfl: New file.
7549         * doc/posix-functions/modfl.texi: Mention the new module.
7550
7551 2012-02-25  Bruno Haible  <bruno@clisp.org>
7552
7553         Tests for module 'fabsl'.
7554         * modules/fabsl-tests: New file.
7555         * tests/test-fabsl.c: New file.
7556         * tests/test-math-c++.cc: Check the declaration of fabsl.
7557
7558         New module 'fabsl'.
7559         * lib/math.in.h (fabsl): New declaration.
7560         * lib/fabsl.c: New file.
7561         * m4/fabsl.m4: New file.
7562         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
7563         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
7564         REPLACE_FABSL.
7565         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
7566         REPLACE_FABSL.
7567         * modules/fabsl: New file.
7568         * doc/posix-functions/fabsl.texi: Mention the new module.
7569
7570 2012-02-25  Bruno Haible  <bruno@clisp.org>
7571
7572         fabs tests: More tests.
7573         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
7574         (zero): New variable.
7575         (main): Add tests for signed zero.
7576         * modules/fabs-tests (Files): Add tests/minus-zero.h.
7577
7578         fabsf tests: More tests.
7579         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
7580         (zero): New variable.
7581         (main): Add tests for signed zero.
7582         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
7583
7584 2012-02-24  Bruno Haible  <bruno@clisp.org>
7585
7586         atanl: Provide function definition on MSVC.
7587         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
7588         function pointer.
7589         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
7590
7591 2012-02-24  Bruno Haible  <bruno@clisp.org>
7592
7593         acosl: Provide function definition on MSVC.
7594         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
7595         function pointer.
7596         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
7597
7598 2012-02-24  Bruno Haible  <bruno@clisp.org>
7599
7600         asinl: Provide function definition on MSVC.
7601         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
7602         function pointer.
7603         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
7604
7605 2012-02-24  Bruno Haible  <bruno@clisp.org>
7606
7607         tanl: Provide function definition on MSVC.
7608         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
7609         function pointer.
7610         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
7611
7612 2012-02-24  Bruno Haible  <bruno@clisp.org>
7613
7614         cosl: Provide function definition on MSVC.
7615         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
7616         function pointer.
7617         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
7618
7619 2012-02-24  Bruno Haible  <bruno@clisp.org>
7620
7621         sinl: Provide function definition on MSVC.
7622         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
7623         function pointer.
7624         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
7625
7626 2012-02-24  Bruno Haible  <bruno@clisp.org>
7627
7628         logl: Provide function definition on MSVC.
7629         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
7630         function pointer.
7631         * lib/math.in.h (logl): Undefine if it does not exist as a function.
7632
7633 2012-02-24  Bruno Haible  <bruno@clisp.org>
7634
7635         expl: Provide function definition on MSVC.
7636         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
7637         function pointer.
7638         * lib/math.in.h (expl): Undefine if it does not exist as a function.
7639
7640 2012-02-24  Bruno Haible  <bruno@clisp.org>
7641
7642         sqrtl: Provide function definition on MSVC.
7643         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
7644         a function pointer.
7645         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
7646
7647 2012-02-24  Bruno Haible  <bruno@clisp.org>
7648
7649         ceill: Provide function definition on MSVC.
7650         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
7651         used as a function pointer.
7652         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
7653
7654 2012-02-24  Bruno Haible  <bruno@clisp.org>
7655
7656         floorl: Provide function definition on MSVC.
7657         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
7658         used as a function pointer.
7659         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
7660
7661 2012-02-24  Bruno Haible  <bruno@clisp.org>
7662
7663         ceilf: Provide function definition on MSVC.
7664         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
7665         used as a function pointer.
7666         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
7667
7668 2012-02-24  Bruno Haible  <bruno@clisp.org>
7669
7670         floorf: Provide function definition on MSVC.
7671         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
7672         used as a function pointer.
7673         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
7674
7675 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7676
7677         stdnoreturn: new module
7678         This implements a replacement for C11's <stdnoreturn.h>.
7679         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
7680         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
7681         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
7682         * tests/test-stdnoreturn.c: New files.
7683
7684 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
7685
7686         regex: fix false multibyte matches in some regular expressions
7687         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
7688         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
7689         * lib/regex_internal.c (re_string_skip_chars):
7690         Fix miscomputation of remain_len that may cause incomplete
7691         multi-byte character and false match.
7692
7693 2012-02-24  Jim Meyering  <meyering@redhat.com>
7694
7695         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
7696         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
7697         uses with "==" *before* the call, e.g., 0 == strcmp (...)
7698         Remove now-unnecessary str''cmp obfuscation.
7699         Suggested by Akim Demaille.
7700
7701 2012-02-24  Bruno Haible  <bruno@clisp.org>
7702
7703         streq: Rename macro.
7704         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
7705         * NEWS: Mention the change.
7706         * lib/mbrtowc.c (mbrtowc): Update.
7707         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
7708         * lib/wcwidth.c (wcwidth): Update.
7709         Suggested by Akim Demaille and Jim Meyering.
7710
7711 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
7712
7713         regex: fix typo in definition of MIN
7714         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
7715         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
7716
7717 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7718             Bruno Haible  <bruno@clisp.org>
7719
7720         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
7721         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
7722         entries into a stack-allocated buffer directly.
7723         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
7724
7725 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7726             Bruno Haible  <bruno@clisp.org>
7727
7728         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
7729
7730          - There were several instances of this pattern:
7731
7732              for (;;) {
7733                n = acl (f, GETACLCNT, 0, NULL);
7734                [ allocate an array A of size N ]
7735                if (acl (f, GETACL, n, a) == n)
7736                  break;
7737              }
7738
7739            This loop might never terminate if some other process is constantly
7740            manipulating the file's ACL.  The loop should be rewritten to
7741            terminate.
7742
7743          - The acl (... GETACLNT ...) call is merely an optimization; its value
7744            is merely a hint as to how big to make the array.  A better
7745            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
7746            and just guess a reasonably-big size, growing the size and trying
7747            again if it's not large enough.  This guarantees termination, and
7748            saves a system call.
7749
7750         * lib/acl-internal.h: Include <limits.h>.
7751         (MIN, SIZE_MAX): New macros.
7752         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
7753         a stack-allocated buffer, and use malloc if it does not fit. Don't
7754         use GETACLCNT.
7755         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7756
7757 2012-02-19  Bruno Haible  <bruno@clisp.org>
7758
7759         acl: Fix endless loop on Solaris with vxfs.
7760         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
7761         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
7762         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7763         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
7764         * tests/test-sameacls.c (main)[Solaris]: Likewise.
7765         Reported by Bill Jones in
7766         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
7767
7768 2012-02-19  Bruno Haible  <bruno@clisp.org>
7769
7770         acl: Fix copy-acl test failure on Solaris 11 2011-11.
7771         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
7772         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
7773         that this function returns 0 in some more cases.
7774
7775 2012-02-19  Bruno Haible  <bruno@clisp.org>
7776
7777         acl: Update doc references.
7778         * doc/acl-resources.txt: Update links to Solaris documentation.
7779
7780 2012-02-19  Bruno Haible  <bruno@clisp.org>
7781
7782         Fix test failure in many locales on Solaris 11.
7783         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
7784         'tr' arguments.
7785         * tests/test-pipe-filter-ii1.c (main): Likewise.
7786         * build-aux/bootstrap (check_versions): Run 'tr' command with range
7787         expressions in the C locale.
7788         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7789         * m4/host-os.m4 (gl_HOST_OS): Likewise.
7790
7791 2012-02-19  Bruno Haible  <bruno@clisp.org>
7792
7793         gnulib-tool: Improve usage message.
7794         * gnulib-tool (func_usage): Move doc of --help and --version to the
7795         section "Operation modes".
7796
7797 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
7798
7799         README-release: make it easier to execute commands
7800         * top/README-release: break commands out on to separate lines.
7801
7802 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
7803
7804         GNUmakefile: simplify detection of unconfigured trees
7805         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
7806         whether the tree make is being run from is already configured or
7807         not.  Related simplifications.
7808
7809 2012-02-13  Simon Josefsson  <simon@josefsson.org>
7810
7811         * gnulib-tool (func_usage): Document --help and --version.
7812
7813 2012-02-11  Jim Meyering  <meyering@redhat.com>
7814
7815         bootstrap: don't exit 0 upon gnulib-tool failure
7816         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
7817         its exit status, not 0.
7818
7819 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
7820
7821         README-release: various improvements
7822         * top/README-release: Give a command to push changes for the
7823         release.  Add "distcheck" to list of other pre-release checks.
7824         Fix instance of "make stable" which should be "make TYPE".
7825
7826 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
7827
7828         maint: replace FSF snail-mail addresses with URLs
7829         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
7830         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
7831         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
7832         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
7833         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
7834         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
7835         * lib/check-version.c, lib/check-version.h, lib/config.charset:
7836         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
7837         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
7838         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
7839         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
7840         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
7841         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
7842         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
7843         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
7844         * lib/glthread/thread.c, lib/glthread/thread.h:
7845         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
7846         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
7847         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
7848         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
7849         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
7850         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
7851         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
7852         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
7853         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
7854         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
7855         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
7856         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
7857         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
7858         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
7859         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
7860         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
7861         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
7862         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
7863         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
7864         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
7865         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
7866         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
7867         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
7868         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
7869         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
7870         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
7871         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
7872         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
7873         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
7874         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
7875         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
7876         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
7877         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
7878         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
7879         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
7880         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
7881         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
7882         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
7883         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
7884         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
7885         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
7886         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
7887         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
7888         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
7889         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
7890         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
7891         * tests/test-poll.c, tests/test-quotearg-simple.c:
7892         * tests/test-quotearg.c, tests/test-quotearg.h:
7893         * tests/test-round-ieee.c, tests/test-round1.c:
7894         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
7895         * tests/test-roundl-ieee.c, tests/test-roundl.c:
7896         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
7897         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
7898         * tests/test-strerror.c, tests/test-strerror_r.c:
7899         * tests/test-strsignal.c, tests/test-strverscmp.c:
7900         * tests/test-xmemdup0.c:
7901         Replace FSF snail mail addresses with URLs, as per GNU coding
7902         standards.  See glibc bug
7903         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
7904
7905 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
7906
7907         README-release: capitalize a word and split a line
7908         * top/README-release: Fix punctuation and spacing.
7909
7910 2012-02-08  Akim Demaille  <demaille@gostai.com>
7911
7912         fatal-signal: use C prototypes (with explicit void).
7913         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
7914         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
7915
7916 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7917
7918         regex: spelling fix
7919         * lib/regexec.c: spelling fix
7920
7921         regex: rely on stdint.h for SIZE_MAX
7922         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
7923
7924 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7925
7926         regex: merge glibc changes
7927
7928         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
7929         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
7930         (init_word_char): Work even if bitset words are not exactly 32 or
7931         64 bits wide.  Don't assume there are no padding bits.
7932         * lib/regex.c [_LIBC]: Do not include <config.h>.
7933         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
7934         and -Wtype-limits.
7935         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
7936         needless disagreement with glibc.  All uses changed.  Define it to
7937         1 only if _GNU_SOURCE, to match glibc.
7938         (_REG_RM_NAME): Remove; no longer needed, since the names in
7939         question are now all protected by __USE_GNU.
7940         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
7941         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
7942         * lib/regex_internal.h (MIN): New macro.
7943
7944         2012-01-03 Ulrich Drepper <drepper@gmail.com>
7945         * lib/regcomp.c (init_word_char): Optimize regex a bit.
7946
7947         2011-12-30 Jakub Jelinek <jakub@redhat.com>
7948         * lib/regex_internal.c (re_string_fetch_byte_case):
7949         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
7950         is miscompiled, and it turns out it is because of an incorrect
7951         attribute on re_string_fetch_byte_case.  Unlike
7952         re_string_peek_byte_case, this one is really not pure, it modifies
7953         memory (increments pstr->cur_idx), and with the pure attribute GCC
7954         assumed it doesn't and it cached the presumed value of
7955         regexp->cur_idx in a variable across the
7956          for (;; ++i)
7957            {
7958              if (i >= BRACKET_NAME_BUF_SIZE)
7959                return REG_EBRACK;
7960              if (token->type == OP_OPEN_CHAR_CLASS)
7961                ch = re_string_fetch_byte_case (regexp);
7962              else
7963                ch = re_string_fetch_byte (regexp);
7964              if (re_string_eoi(regexp))
7965                return REG_EBRACK;
7966              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
7967                break;
7968              elem->opr.name[i] = ch;
7969            }
7970
7971         2011-11-29 Andreas Schwab <schwab@redhat.com>
7972         * lib/regcomp.c (build_equiv_class):
7973         Fix access after end of search string in regex matcher.
7974
7975         2011-11-12 Ulrich Drepper <drepper@redhat.com>
7976         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
7977
7978         2011-10-12 Ulrich Drepper <drepper@redhat.com>
7979         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
7980
7981         2011-10-11 Ulrich Drepper <drepper@redhat.com>
7982         * lib/regcomp.c (parse_branch, parse_sub_exp):
7983         More regex memory leak fixes and tests.
7984         (parse_sub_exp, parse_bracket_exp):
7985         Fix memory leak for some invalid regular expressions.
7986
7987         2011-05-28 Ulrich Drepper <drepper@gmail.com>
7988         * lib/regex_internal.c, lib/regexec.c:
7989         Fix unnecessary overallocation due to incomplete character.  When
7990         incomplete characters are found at the end of a string the code
7991         ran amok and allocated lots of memory.  Stricter limits are now in
7992         place.
7993
7994         2011-05-20 Reuben Thomas <rrt@sc3d.org>
7995         * lib/regex.h: Update documentation.
7996
7997         2011-05-16 Aharon Robbins <arnold@skeeve.com>
7998         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
7999
8000         2010-05-05 Andreas Schwab <schwab@redhat.com>
8001         * lib/regexec.c (find_collation_sequence_value):
8002         Fix lookup of collation sequence value during regexp matching.
8003
8004         2010-01-22 Ulrich Drepper <drepper@redhat.com>
8005         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
8006
8007         2008-01-16 Ulrich Drepper <drepper@redhat.com>
8008         * lib/regex.h: Cleanup namespace.
8009
8010         2007-11-26 Ulrich Drepper <drepper@redhat.com>
8011         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
8012
8013         2007-08-26 Ulrich Drepper <drepper@redhat.com>
8014         * lib/regex_internal.h: Prevent some declarations and definitions
8015         to be seen when used in tests.
8016
8017         2005-05-06 Ulrich Drepper <drepper@redhat.com>
8018         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
8019         __libc_lock_* macros if not _LIBC.
8020         (struct re_dfa_t): Add lock.
8021
8022 2012-02-07  Eric Blake  <eblake@redhat.com>
8023
8024         maint.mk: also prohibit lower-case @var@
8025         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
8026         lower case, like @top_srcdir@.
8027
8028 2012-02-04  Eric Blake  <eblake@redhat.com>
8029
8030         canonicalize: avoid uninitialized memory use
8031         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
8032         random '/' left in dest.
8033         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
8034
8035 2012-02-04  Bruno Haible  <bruno@clisp.org>
8036
8037         isatty: Fix test failure of ptsname_r on native Windows.
8038         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
8039         and don't set errno.
8040         (isatty): Test first whether fd is valid. Set errno when returning 0.
8041
8042 2012-02-04  Bruno Haible  <bruno@clisp.org>
8043
8044         spawn-pipe tests: Fix a NULL program name in a diagnostic.
8045         * tests/test-spawn-pipe-main.c: Include progname.h.
8046         (main): Invoke set_program_name.
8047         * modules/spawn-pipe-tests (Depends-on): Add progname.
8048
8049         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
8050         * tests/test-nonblocking-socket-main.c: Include progname.h.
8051         (main): Invoke set_program_name.
8052         * modules/nonblocking-socket-tests (Depends-on): Add progname.
8053
8054         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
8055         * tests/test-nonblocking-pipe-main.c: Include progname.h.
8056         (main): Invoke set_program_name.
8057         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
8058
8059 2012-02-04  Eric Blake  <eblake@redhat.com>
8060
8061         canonicalize-lgpl: fix // handling
8062         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
8063
8064         canonicalize: fix // handling
8065         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
8066         /// to //, since only // is special.
8067
8068 2012-02-04  Bruno Haible  <bruno@clisp.org>
8069
8070         ioctl: Fix test failure on native Windows.
8071         * lib/ioctl.c: Include msvc-nothrow.h.
8072         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
8073
8074 2012-02-04  Bruno Haible  <bruno@clisp.org>
8075
8076         fsync: Avoid test failure on native Windows.
8077         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
8078         read-only.
8079
8080 2012-02-04  Bruno Haible  <bruno@clisp.org>
8081
8082         sys_select: Avoid syntax error on OpenBSD 5.0.
8083         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
8084         currently being included, just include the system's <sys/select.h>.
8085
8086 2012-02-04  Bruno Haible  <bruno@clisp.org>
8087
8088         sys_select: Avoid syntax error on OpenBSD 5.0.
8089         * lib/sys_select.in.h: Include <signal.h> only after the include_next
8090         <sys/select.h>, not before.
8091         Reported by Jiri B <jirib@devio.us>.
8092
8093 2012-02-04  Bruno Haible  <bruno@clisp.org>
8094
8095         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
8096         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
8097         global variables.
8098         * tests/test-get-rusage-data.c (main): Likewise.
8099         Reported by Jim Meyering.
8100
8101 2012-02-04  Bruno Haible  <bruno@clisp.org>
8102
8103         stdioext: Fix last commit.
8104         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
8105
8106 2012-02-03  Bruno Haible  <bruno@clisp.org>
8107
8108         stdioext: Add tentative support for Plan9.
8109         * lib/stdio-impl.h: Include <errno.h>.
8110         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
8111         * lib/freadable.c (freadable): Likewise.
8112         * lib/fwritable.c (fwritable): Likewise.
8113         * lib/fbufmode.c (fbufmode): Likewise.
8114         * lib/freading.c (freading): Likewise.
8115         * lib/fwriting.c (fwriting): Likewise.
8116         * lib/freadptr.c (freadptr): Likewise.
8117         * lib/freadseek.c (freadptrinc): Likewise.
8118         * lib/freadahead.c (freadahead): Likewise.
8119         * lib/fpurge.c (fpurge): Likewise.
8120         * lib/fseeko.c (rpl_fseeko): Likewise.
8121         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
8122         Reported by Jens Staal <staal1978@gmail.com>.
8123
8124 2012-02-02  Jim Meyering  <meyering@redhat.com>
8125
8126         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
8127         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
8128         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
8129         not even to try to add the attribute.  Instead, add a pragma to suppress
8130         the suggestion/warning.
8131
8132 2012-01-31  Karl Berry  <karl@gnu.org>
8133
8134         setstate doc: typo.
8135         * doc/posix-functions/setstate.texi (setstate): { not (.
8136
8137 2012-01-31  Bruno Haible  <bruno@clisp.org>
8138
8139         popen: Make more robust on Windows.
8140         * lib/popen.c: On native Windows, use the _popen based code even if
8141         HAVE_POPEN is set.
8142         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
8143         environment variable on native Windows.
8144
8145 2012-01-30  Bruno Haible  <bruno@clisp.org>
8146
8147         pclose: Fix typo.
8148         * lib/stdio.in.h (pclose): Fix typo in warning message.
8149
8150 2012-01-30  Bruno Haible  <bruno@clisp.org>
8151
8152         doc about getlogin_r, setstate.
8153         * doc/posix-functions/getlogin_r.texi: List the incompatible
8154         declaration problem under "not fixed by gnulib".
8155         * doc/posix-functions/setstate.texi: Mention incompatible declaration
8156         problem on Solaris 11 and other platforms.
8157
8158 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
8159             Bruno Haible  <bruno@clisp.org>
8160
8161         poll tests: Make test more robust.
8162         * tests/test-poll.c: Include macros.h.
8163         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
8164         return value of various I/O operations.
8165         * modules/poll-tests (Files): Add tests/macros.h.
8166
8167 2012-01-30  Bruno Haible  <bruno@clisp.org>
8168
8169         sys_stat: Fix support for mingw64 and MSVC.
8170         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
8171         header files already do it.
8172         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
8173         stat itself.
8174         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8175
8176 2012-01-30  Bruno Haible  <bruno@clisp.org>
8177
8178         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
8179         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
8180         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
8181
8182 2012-01-29  Bruno Haible  <bruno@clisp.org>
8183
8184         quotearg: Fix test failure on MacOS X 10.5.
8185         * tests/test-quotearg-simple.c: Include localcharset.h.
8186         (main): If the locale encoding is not ASCII, bypass the tests of
8187         locale_quoting_style and clocale_quoting_style.
8188         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
8189
8190 2012-01-29  Jim Meyering  <meyering@redhat.com>
8191
8192         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
8193         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
8194         detect uses of canonicalize_file_name.
8195
8196 2012-01-28  Bruno Haible  <bruno@clisp.org>
8197
8198         test-framework-sh: Fix test failure with AIX 7.1 diff.
8199         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
8200         in column 1, like 'diff -c' does.
8201         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
8202         whether 'diff -u' is used. Instead, test whether the output contains
8203         some '@' character.
8204
8205 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8206
8207         strtoimax: eliminate need for stdint.h, inttypes.h checks
8208         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
8209         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
8210         the prerequisites for a recently-introduced strtoimax test.
8211         I guess this might cause strtoimax to be replaced when not
8212         strictly necessary on older hosts, but this shouldn't introduce
8213         any bugs and it should make Emacs 'configure' faster on typical
8214         modern hosts.  Problem discovered when importing the latest gnulib
8215         to an Emacs test version.
8216         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
8217
8218 2012-01-28  Bruno Haible  <bruno@clisp.org>
8219
8220         sys_time: Override 'struct timeval' on some native Windows platforms.
8221         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
8222         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
8223         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
8224         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
8225         needs to be overridden.
8226         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
8227         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
8228         * tests/test-sys_select.c: Check that the tv_sec member has the same
8229         size as a 'time_t'.
8230         * tests/test-sys_time.c: Likewise.
8231         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
8232         is set, set also REPLACE_GETTIMEOFDAY.
8233         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
8234         convert the resulting 'struct timeval' before returning.
8235         * lib/select.c: Include <sys/time.h>.
8236         (select, timeval): Undefine at the right place.
8237         * modules/select (Depends-on): Add sys_time.
8238         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
8239         some Windows platforms.
8240         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8241
8242 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8243
8244         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
8245         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
8246         an integer.
8247         * lib/fcntl.c (dupfd): Likewise.
8248         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
8249
8250 2012-01-28  Bruno Haible  <bruno@clisp.org>
8251
8252         fcntl: Avoid compilation error on native Windows.
8253         * modules/fcntl (Depends-on): Add 'close'.
8254
8255 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8256
8257         select, poll, isatty: Avoid warnings on x86_64 mingw64.
8258         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
8259         pointer to an integer.
8260         * lib/poll.c (IsConsoleHandle): Likewise.
8261         * lib/isatty.c (IsConsoleHandle): Likewise.
8262
8263 2012-01-28  Jim Meyering  <meyering@redhat.com>
8264
8265         doc: clarify README-release
8266         * top/README-release: Clarify: you should make a point to have
8267         the latest stable versions of build tools in your PATH, and the
8268         reference to buildreq is solely for its list of tool names, not
8269         for its minimal-functional version numbers.
8270         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
8271
8272         maint.mk: use more readable (yet functionally equivalent) quoting
8273         It is common to quote a single quote in a single quoted string like
8274         this:  '...'\''...'.  Unless you know the idiom, that looks like
8275         gibberish, so prefer to double-quote the string when possible.
8276         Then you can use a more readable, lone single quote: "...'..."
8277         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
8278         "don't" is more readable than the equivalent 'don'\''t'.
8279         (sc_cast_of_x_alloc_return_value): Likewise.
8280         (sc_cast_of_alloca_return_value): Likewise.
8281         (sc_makefile_path_separator_check): Similar: use ":" in '...',
8282         rather than '\'':'\''.
8283
8284 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8285
8286         stdalign: relax _Alignof and tighten _Alignas test
8287         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
8288         as it was too strict: alignof must divide offsetof, but it need
8289         not equal offsetof.  Inspired by Joseph S. Myers's comment
8290         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
8291         Conversely, tighten the _Alignas test a bit, as the resulting
8292         alignment must be exactly 8.
8293
8294 2012-01-27  Bruno Haible  <bruno@clisp.org>
8295
8296         stdalign: Document the last change.
8297         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
8298
8299 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8300
8301         stdalign: check that alignof and offsetof are consistent
8302         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
8303         Problem reported for gnulib by Richard W.M. Jones in
8304         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
8305
8306 2012-01-27  Jim Meyering  <meyering@redhat.com>
8307
8308         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
8309         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
8310         convert a sequence with gaps to the minimal containing range.
8311         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
8312         * tests/test-update-copyright.sh: Test for this.
8313         The FSF confirmed it is ok to do this, assuming there is at
8314         least one significant change per year in the affected range:
8315         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
8316
8317 2012-01-26  Bruno Haible  <bruno@clisp.org>
8318
8319         pipe2: refine doc about thread-safety
8320         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
8321         multithread-safety problem.
8322         * doc/glibc-functions/accept4.texi: Likewise.
8323
8324 2012-01-26  Bruno Haible  <bruno@clisp.org>
8325
8326         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
8327         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
8328         In the test program, include <fcntl.h>, for O_RDONLY.
8329
8330 2012-01-26  Eric Blake  <eblake@redhat.com>
8331
8332         pipe2: document lack of thread-safety in replacement
8333         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
8334         issue in replacement.
8335         * doc/glibc-functions/accept4.texi (accept4): Likewise.
8336         Based on a report by Eric Wong.
8337
8338 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8339             Bruno Haible  <bruno@clisp.org>
8340
8341         malloca: Avoid warnings on x86_64 mingw64.
8342         * lib/malloca.c: Include <stdint.h>.
8343         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
8344         * modules/malloca (Depends-on): Add stdint.
8345         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
8346
8347 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8348
8349         obstack: remove __STDC__ conditionals
8350         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
8351         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
8352         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
8353         m4/include_next.m4 as the only gnulib-maintained places that still
8354         refer to __STDC__.
8355
8356 2012-01-24  Bruno Haible  <bruno@clisp.org>
8357
8358         havelib: Modern quoting.
8359         * build-aux/config.rpath: Quote 'like this', not `like this', as per
8360         the recent change to the GNU coding standards.
8361
8362 2012-01-24  Bruno Haible  <bruno@clisp.org>
8363
8364         stdint: Improve support for Android.
8365         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
8366         Reported by Simon Josefsson <simon@josefsson.org>.
8367
8368 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8369
8370         doc: omit trailing empty lines from INSTALL etc.
8371         * doc/Makefile (INSTALL): Omit trailing empty lines.
8372         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
8373         omit trailing empty lines.  This simplifies the build procedure.
8374
8375 2012-01-23  Jim Meyering  <meyering@redhat.com>
8376
8377         tests: avoid spurious warnings about gl_sockets_startup
8378         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
8379         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
8380         reporting a "statement with no effect".
8381         * tests/test-accept.c (main): Mark as "(void)".
8382         * tests/test-accept4.c (main): Likewise.
8383         * tests/test-bind.c (main): Likewise.
8384         * tests/test-connect.c (main): Likewise.
8385         * tests/test-getpeername.c (main): Likewise.
8386         * tests/test-getsockname.c (main): Likewise.
8387         * tests/test-getsockopt.c (main): Likewise.
8388         * tests/test-listen.c (main): Likewise.
8389         * tests/test-recv.c (main): Likewise.
8390         * tests/test-recvfrom.c (main): Likewise.
8391         * tests/test-send.c (main): Likewise.
8392         * tests/test-sendto.c (main): Likewise.
8393         * tests/test-setsockopt.c (main): Likewise.
8394         * tests/test-shutdown.c (main): Likewise.
8395
8396 2012-01-21  Bruno Haible  <bruno@clisp.org>
8397
8398         locale-fr.m4: Fix for Android.
8399         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
8400         failure of the test program on Bionic libc.
8401
8402 2012-01-21  Jim Meyering  <meyering@redhat.com>
8403
8404         bootstrap: fail when bootstrap_post_import_hook fails
8405         Otherwise, it's far too easy to miss diagnostics emitted
8406         between gnulib-tool's output and that of running configure.
8407         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
8408
8409 2012-01-17  Jim Meyering  <meyering@redhat.com>
8410
8411         maint: enable sc_trailing_blank
8412         * build-aux/pmccabe.css: Remove trailing blanks.
8413         * doc/acl-cygwin.txt: Likewise.
8414         * doc/gnu-oids.texi: Likewise
8415         * cfg.mk: Enable sc_trailing_blank.
8416         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
8417
8418 2012-01-17  Jim Meyering  <meyering@redhat.com>
8419
8420         maint: enable sc_prohibit_openat_without_use
8421         * cfg.mk: Enable sc_prohibit_openat_without_use.
8422         Exempt lib/selinux-at.c.
8423
8424 2012-01-17  Jim Meyering  <meyering@redhat.com>
8425
8426         maint: enable sc_prohibit_cloexec_without_use
8427         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
8428         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
8429
8430 2012-01-17  Jim Meyering  <meyering@redhat.com>
8431
8432         maint: enable sc_prohibit_intprops_without_use
8433         * cfg.mk: Enable sc_prohibit_intprops_without_use
8434         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
8435
8436 2012-01-17  Jim Meyering  <meyering@redhat.com>
8437
8438         maint: enable sc_prohibit_hash_pjw_without_use
8439         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
8440         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
8441         to match any use of \<hash_pjw\>, i.e., not necessarily with a
8442         following " (".
8443
8444 2012-01-17  Jim Meyering  <meyering@redhat.com>
8445
8446         maint: enable double-word-prohibiting rule
8447         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
8448         Exempt three files.
8449
8450 2012-01-17  Jim Meyering  <meyering@redhat.com>
8451
8452         maint: remove empty lines at EOF, but excluding modules/*
8453         Apply syntax rules at home as well as abroad.  Most changes
8454         were induced by running this:
8455           make srcdir=. _build-aux=build-aux -f top/maint.mk \
8456             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
8457             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
8458         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
8459         Exempt modules/* and two binary files.
8460         Also exempt doc/INSTALL*, per request from Bruno Haible.
8461         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
8462         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
8463         * doc/Copyright/request-assign.future: Likewise.
8464         * doc/Copyright/request-disclaim.changes: Likewise.
8465         * doc/INSTALL: Likewise.
8466         * doc/INSTALL.ISO: Likewise.
8467         * doc/INSTALL.UTF-8: Likewise.
8468         * doc/acl-cygwin.txt: Likewise.
8469         * doc/acl-resources.txt: Likewise.
8470         * doc/fdl-1.2.texi: Likewise.
8471         * doc/fdl-1.3.texi: Likewise.
8472         * doc/fdl.texi: Likewise.
8473         * lib/argp-pin.c: Likewise.
8474         * lib/round.c: Likewise.
8475         * lib/unicase/u16-totitle.c: Likewise.
8476         * lib/unictype/block_test.c: Likewise.
8477         * lib/uninorm/canonical-decomposition.c: Likewise.
8478         * m4/README: Likewise.
8479         * m4/relocatable-lib.m4: Likewise.
8480         * tests/test-isnand-nolibm.c: Likewise.
8481         * tests/test-isnand.c: Likewise.
8482         * tests/uninorm/NormalizationTest.txt: Likewise.
8483
8484 2012-01-17  Jim Meyering  <meyering@redhat.com>
8485
8486         maint: add framework to run syntax-check rules against gnulib sources
8487         * cfg.mk: New file, to disable all currently-failing tests.
8488         We'll enable them one by one, as they are made to pass.
8489         * Makefile (sc_maint): New rule.
8490
8491 2012-01-21  Bruno Haible  <bruno@clisp.org>
8492
8493         stdint: Add support for Android.
8494         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
8495         include the system's <stdint.h>.
8496         Reported by Simon Josefsson <simon@josefsson.org>.
8497
8498 2012-01-19  Jim Meyering  <meyering@redhat.com>
8499
8500         bootstrap: add bootstrap_post_import_hook
8501         Bison does still need something like the gnulib_mk_hook whose
8502         invocation I had to remove along with slurp in commit 767ccd40.
8503         Technically, we could get along without it, but doing so would
8504         have required living with a warning and a mandatory post-bootstrap
8505         automake rerun.
8506         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
8507         (bootstrap_post_import_hook): New function.
8508         Invoke it after gnulib-tool --import and before autoreconf.
8509
8510 2012-01-18  Jim Meyering  <meyering@redhat.com>
8511
8512         gitlog-to-changelog: don't use "no_"-prefixed variable name
8513         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
8514         to enable both --cluster and --no-cluster.  Change variable name,
8515         s/\$no_cluster/$cluster/, and reverse usage to match.
8516
8517         gitlog-to-changelog: use "||", not "or" in expressions
8518         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
8519         expressions.
8520
8521 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
8522
8523         gitlog-to-changelog: new option --no-cluster
8524         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
8525         clustering of adjacent commit messages.
8526
8527 2012-01-17  Jim Meyering  <meyering@redhat.com>
8528
8529         maint: spell file systems with two words, not one
8530         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
8531         two words, not one.
8532
8533 2012-01-16  Jim Meyering  <meyering@redhat.com>
8534
8535         bootstrap: add a FIXME comment to ensure we eventually remove the hack
8536         * build-aux/bootstrap (gnulib_tool_options): Add comment.
8537
8538 2012-01-16  Eric Blake  <eblake@redhat.com>
8539
8540         bootstrap: cater to autoconf 2.59
8541         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
8542         is not available.
8543
8544         bootstrap: properly check for libtool
8545         * build-aux/bootstrap (libtoolize): Also run libtool when older
8546         usage is detected.
8547
8548 2012-01-15  Bruno Haible  <bruno@clisp.org>
8549
8550         Improve support for MSVC 9.
8551         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
8552         clashes on MSVC.
8553         * lib/fcntl.in.h: Likewise.
8554         * lib/stdlib.in.h: Likewise.
8555         * lib/sys_stat.in.h: Likewise.
8556
8557 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8558
8559         gnupload: we hold the master copy of this script now
8560         For motivation and more information, see:
8561         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
8562         * build-aux/gnupload: Make it clear in the heading comments that the
8563         master copy of this file is maintained by gnulib.  Since we are at
8564         it, bump its copyright year and ...
8565         ($scriptversion): ... the date in its version.
8566         ($usage): Patches and bug reports should be sent to the gnulib list,
8567         not the automake one.
8568         * config/srclist.txt: Don't try to sync 'gnupload' from automake
8569         anymore.
8570
8571 2012-01-15  Bruno Haible  <bruno@clisp.org>
8572
8573         Fix module 'random'.
8574         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
8575         initstate, setstate are declared.
8576
8577 2012-01-14  Bruno Haible  <bruno@clisp.org>
8578
8579         Tests for module 'random'.
8580         * modules/random-tests: New file.
8581         * tests/test-random.c: New file, based on tests/test-random_r.c.
8582
8583         New module 'random'.
8584         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
8585         declarations.
8586         * lib/random.c: New file, based on glibc/stdlib/random.c.
8587         * m4/random.m4: New file.
8588         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
8589         HAVE_RANDOM.
8590         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
8591         * modules/random: New file.
8592         * config/srclist.txt: Add an entry for random.c.
8593         * doc/posix-functions/random.texi: Mention the 'random' module.
8594         * doc/posix-functions/initstate.texi: Likewise.
8595         * doc/posix-functions/setstate.texi: Likewise.
8596         * doc/posix-functions/srandom.texi: Likewise.
8597
8598 2012-01-12  Bruno Haible  <bruno@clisp.org>
8599
8600         random_r: Use common idioms.
8601         * lib/random_r.c: Include <stdlib.h> first.
8602
8603         random_r: Override incompatible API on AIX, OSF/1.
8604         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
8605         Override the system function if REPLACE_RANDOM_R is 1.
8606         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
8607         and OSF/1, set REPLACE_RANDOM_R.
8608         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
8609         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
8610         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
8611         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
8612         * doc/glibc-functions/random_r.texi: Likewise.
8613         * doc/glibc-functions/setstate_r.texi: Likewise.
8614
8615         random_r: Support for MSVC 9.
8616         * lib/random_r.c: Include stdint.h, not inttypes.h.
8617
8618 2012-01-12  Eric Blake  <eblake@redhat.com>
8619
8620         inet_ntop: guard extra work by IF_LINT
8621         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
8622         better code generation when not checking for warnings.
8623         Suggested by Paul Eggert and Jim Meyering.
8624
8625         strptime: fix regression on mingw
8626         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
8627         Fix regression.  Reported by Bruno Haible.
8628
8629 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
8630             Bruno Haible  <bruno@clisp.org>
8631
8632         copy-file: add error-code-returning variant.
8633         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
8634         (qcopy_file_preserving): New declaration.
8635         * lib/copy-file.c (qcopy_file_preserving): Renamed from
8636         copy_file_preserving. Change return type to 'int'. Don't emit an error
8637         message here.
8638         (copy_file_preserving): New function.
8639         * tests/test-copy-file.c: Include <stdlib.h>.
8640         (main): Test qcopy_file_preserving if the environment variable
8641         NO_STDERR_OUTPUT is set.
8642         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
8643         with NO_STDERR_OUTPUT
8644         * tests/test-copy-file-2.sh: Likewise.
8645
8646 2012-01-10  Bruno Haible  <bruno@clisp.org>
8647
8648         copy-file: Use 'quote' module consistently.
8649         * lib/copy-file.c (copy_file_preserving): Use quote().
8650
8651         copy-file: Refactor.
8652         * lib/copy-file.c: Include quote.h.
8653         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
8654         message here.
8655         * modules/copy-file (Depends-on): Add quote.
8656
8657         acl: Export qcopy_acl.
8658         * lib/acl.h (qcopy_acl): New declaration.
8659         * lib/copy-acl.c (qcopy_acl): Make non-static.
8660
8661         acl: Rename a local variable.
8662         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
8663
8664         acl: Align return values of copy_acl and qcopy_acl.
8665         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
8666         maybe < -1.
8667
8668 2012-01-11  Eric Blake  <eblake@redhat.com>
8669
8670         strptime: silence gcc warnings
8671         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
8672         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
8673         Reported by Daniel P. Berrange.
8674
8675         inet_ntop: silence gcc warning
8676         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
8677         Reported by Daniel P. Berrange.
8678
8679 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
8680
8681         getloadavg test: skip the test on GNU/Linux without /proc mounted
8682         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
8683         file.  When /proc is not mounted, it always fails with ENOENT.
8684         * tests/test-getloadavg.c (main): Treat ENOENT return code from
8685         getloadavg(3) the same way as ENOSYS and ENOTSUP.
8686
8687 2012-01-10  Bruno Haible  <bruno@clisp.org>
8688
8689         regex: Avoid link error on MSVC 9.
8690         * modules/regex (Depends-on): Add wctype.
8691
8692 2012-01-10  Bruno Haible  <bruno@clisp.org>
8693
8694         doc: Mention --with-tests option.
8695         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
8696         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
8697         --with-tests.
8698         Reported by Reuben Thomas.
8699
8700 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
8701
8702         users.txt: order package names lexicographically.
8703         * users.txt: Order package names lexicographically.
8704
8705 2012-01-10  Jim Meyering  <meyering@redhat.com>
8706
8707         maint.mk: fix description in comment
8708         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
8709
8710         ignore-value: remove deprecated ignore_ptr function
8711         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
8712         * NEWS: Note this.
8713
8714 2012-01-09  Jim Meyering  <meyering@redhat.com>
8715
8716         test-init.sh: avoid a subshell
8717         * tests/test-init.sh: Remove protective subshell.
8718         Suggested by Bernhard Voelker.  While a subshell is normally
8719         required to protect against older shells (Solaris, FreeBSD) that
8720         warn about a missing program before performing redirection, the
8721         shell-selection tests performed by init.sh probably exclude any
8722         offending shell.
8723
8724 2012-01-08  Bruno Haible  <bruno@clisp.org>
8725
8726         setlocale tests: Avoid test failure on Solaris 11 2011-11.
8727         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
8728         variable.
8729
8730 2012-01-08  Bruno Haible  <bruno@clisp.org>
8731
8732         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
8733         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8734         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8735         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
8736         macro.
8737         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
8738         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8739         * lib/spawn_faction_addopen.c: Add workaround implementation if
8740         HAVE_WORKING_POSIX_SPAWN.
8741         * modules/spawn (Makefile): Substitute
8742         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8743         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
8744         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
8745         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8746         (Depends-on): Update conditions.
8747         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
8748         the Solaris 11 bug.
8749
8750 2012-01-08  Bruno Haible  <bruno@clisp.org>
8751
8752         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
8753         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8754         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8755         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
8756         macro.
8757         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
8758         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8759         * lib/spawn_faction_adddup2.c: Add workaround implementation if
8760         HAVE_WORKING_POSIX_SPAWN.
8761         * modules/spawn (Makefile): Substitute
8762         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8763         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
8764         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
8765         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8766         (Depends-on): Update conditions.
8767         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
8768         the Solaris 11 bug.
8769
8770 2012-01-08  Bruno Haible  <bruno@clisp.org>
8771
8772         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
8773         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8774         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8775         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
8776         HAVE_WORKING_POSIX_SPAWN.
8777         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
8778         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
8779         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8780         * lib/spawn_faction_addclose.c: Add workaround implementation if
8781         HAVE_WORKING_POSIX_SPAWN.
8782         * modules/spawn (Makefile): Substitute
8783         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8784         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
8785         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
8786         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8787         (Depends-on): Update conditions.
8788         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
8789         the Solaris 11 bug.
8790
8791 2012-01-08  Bruno Haible  <bruno@clisp.org>
8792
8793         doc: Update for Solaris 11 2011-11.
8794         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
8795         * m4/printf.m4: Update comments.
8796
8797 2012-01-08  Bruno Haible  <bruno@clisp.org>
8798
8799         mktime: Avoid compilation error on Solaris 11.
8800         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
8801
8802 2012-01-08  Bruno Haible  <bruno@clisp.org>
8803
8804         doc: Small fix.
8805         * doc/posix-headers/nl_types.texi: Correct platforms list.
8806
8807 2012-01-08  Simon Josefsson  <simon@josefsson.org>
8808
8809         Add lgpl-3.0 module.
8810         * MODULES.html.sh (Support for building documentation): Add
8811         lgpl-3.0.
8812         * modules/lgpl-3.0: New file.
8813
8814 2012-01-08  Jim Meyering  <meyering@redhat.com>
8815
8816         select.c: indent with spaces, not TABs
8817         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
8818
8819 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8820
8821         quotearg: do not use grave accent for left quote
8822         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
8823         locale_quoting_style.
8824         (quotearg_buffer_restyled): Fix example.
8825         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
8826
8827 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8828
8829         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
8830         Most programs do not have translation catalogs for English and much
8831         less separate catalogs for British and American English.  Drop the
8832         suggestion to translators about these two, and provide it
8833         automatically for Unicode locales.  Like most programs, even those
8834         using American English, we use single quotation marks.  This conflicts
8835         with the American typographic convention, but works better when you
8836         cite the entire error message within double quotes.  It also tries not
8837         to clash with established practice and with what non-gnulib programs
8838         will usually do.
8839         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
8840         using an UTF-8 or GB-18030 locale.  The list of other locales with
8841         quotes was provided by Bruno Haible.
8842         (quotearg_buffer_restyled): Adjust instructions to translators.
8843         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
8844         text, since this would be wrong when using Unicode.
8845         * modules/quotearg: Depend on c-strcaseeq.
8846
8847 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8848
8849         quotearg: fix Wikipedia link
8850         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
8851
8852 2012-01-07  Simon Josefsson  <simon@josefsson.org>
8853
8854         Fix for mingw with MSVC9.
8855         * m4/ld-version-script.m4: Check that compiler rejects version
8856         scripts with syntax errors.  Reported by Bruno Haible
8857         <bruno@clisp.org>.
8858
8859 2012-01-06  Bruno Haible  <bruno@clisp.org>
8860
8861         Talk about "native Windows API", not "Woe32".
8862         * lib/accept4.c: Update comments to mention native Windows.
8863         * lib/execute.c: Likewise.
8864         * lib/fatal-signal.c: Likewise.
8865         * lib/localcharset.c: Likewise.
8866         * lib/nanosleep.c: Likewise.
8867         * lib/nl_langinfo.c: Likewise.
8868         * lib/pclose.c: Likewise.
8869         * lib/pipe-filter-gi.c: Likewise.
8870         * lib/pipe-filter-ii.c: Likewise.
8871         * lib/pipe.c: Likewise.
8872         * lib/pipe2.c: Likewise.
8873         * lib/popen.c: Likewise.
8874         * lib/progreloc.c: Likewise.
8875         * lib/relocatable.c: Likewise.
8876         * lib/sigaction.c: Likewise.
8877         * lib/sigprocmask.c: Likewise.
8878         * lib/spawn-pipe.h: Likewise.
8879         * lib/spawn-pipe.c: Likewise.
8880         * lib/spawni.c: Likewise.
8881         * lib/stat-time.h: Likewise.
8882         * lib/w32spawn.h: Likewise.
8883         * tests/test-isatty.c: Likewise.
8884         * lib/config.charset: More comments.
8885         * doc/gnulib-intro.texi: Mention native Windows.
8886         * doc/posix-functions/_Exit_C99.texi: Likewise.
8887         * doc/posix-headers/fcntl.texi: Likewise.
8888
8889 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
8890
8891         argp: Avoid crash if translator uses % characters in a translation.
8892         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
8893         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
8894
8895 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8896
8897         doc: C11 and C++11 are now official
8898         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
8899         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
8900         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
8901         * modules/stdalign:
8902         Replace references to draft C1X to C11, and to draft C++0X to C++11.
8903
8904 2012-01-06  Bruno Haible  <bruno@clisp.org>
8905
8906         uc-is-grapheme-break tests: Tweak.
8907         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
8908         message.
8909
8910 2012-01-06  Bruno Haible  <bruno@clisp.org>
8911
8912         test-init.sh: correct the test for diff -u
8913         * tests/test-init.sh: Also redirect stdout to /dev/null.
8914
8915 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
8916
8917         Use ', not `, for quoting output.
8918         * build-aux/announce-gen (usage, sizes, print_news_deltas)
8919         (print_changelog_deltas, get_tool_versions, main program):
8920         * build-aux/git-version-gen:
8921         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
8922         * build-aux/move-if-change (help):
8923         * build-aux/useless-if-before-free (usage, main program):
8924         * check-module (parse_module_file, usage)
8925         (find_included_lib_files, check_module):
8926         * lib/argmatch.c (main) [TEST]:
8927         * lib/argp-help.c (_help):
8928         * lib/getopt1.c (main) [TEST]:
8929         * lib/git-merge-changelog.c (usage):
8930         * lib/xstrtol-error.c (xstrtol_error):
8931         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
8932         * m4/argz.m4 (gl_FUNC_ARGZ):
8933         * m4/bison.m4 (gl_BISON):
8934         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
8935         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
8936         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
8937         * m4/fpending.m4 (gl_PREREQ_FPENDING):
8938         * m4/gc-random.m4 (gl_GC_RANDOM):
8939         * m4/intl.m4 (gt_CHECK_DECL):
8940         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
8941         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
8942         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
8943         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
8944         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
8945         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
8946         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
8947         * tests/test-dirname.c (main):
8948         * tests/test-getpass.c (main):
8949         * tests/test-iconvme.c (main):
8950         * tests/test-parse-datetime.c (LOG):
8951         * tests/test-xstrtoimax.sh:
8952         * tests/test-xstrtol.sh:
8953         * tests/test-xstrtoll.sh:
8954         * tests/test-xstrtoumax.sh:
8955         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
8956         * top/GNUmakefile (abort-due-to-no-makefile):
8957         Quote 'like this', not `like this', as per the recent change to
8958         the GNU coding standards.
8959
8960 2012-01-05  Bruno Haible  <bruno@clisp.org>
8961
8962         strtoimax: Don't force a replacement on systems where intmax_t is int.
8963         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
8964         'intmax_t' is not larger than 'int'.
8965         Reported by Pádraig Brady <P@draigBrady.com>.
8966
8967 2012-01-05  Bruno Haible  <bruno@clisp.org>
8968
8969         doc: Mention NetBSD bugs.
8970         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
8971         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
8972
8973 2012-01-05  Bruno Haible  <bruno@clisp.org>
8974
8975         strtoumax tests: Enhance tests.
8976         * tests/test-strtoumax.c (main): Add tests for large values.
8977
8978 2012-01-05  Bruno Haible  <bruno@clisp.org>
8979
8980         strtoimax: Work around AIX 5.1 bug.
8981         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
8982         definition.
8983         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
8984         Set HAVE_STRTOIMAX.
8985         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
8986         REPLACE_STRTOIMAX.
8987         * modules/inttypes-incomplete (Makefile.am): Substitute
8988         REPLACE_STRTOIMAX.
8989         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
8990         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
8991         (Depends-on): Update conditions.
8992         * tests/test-strtoimax.c (main): Add tests for large values.
8993         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
8994
8995 2012-01-05  Bruno Haible  <bruno@clisp.org>
8996
8997         inttypes: Modernize.
8998         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
8999         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
9000         (Makefile.am): Update inttypes.h rule.
9001
9002 2012-01-05  Jim Meyering  <meyering@redhat.com>
9003
9004         init.sh: don't waste a subshell just to redirect stderr
9005         * tests/init.sh: In testing for diff -u and diff -c, use a
9006         stderr-redirecting exec inside `...` rather than a subshell.
9007
9008         test-init.sh: avoid failure on HP-UX 11.00
9009         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
9010         resolves to diff -c or cmp.  Reported by Bruno Haible.
9011
9012 2012-01-05  Bruno Haible  <bruno@clisp.org>
9013
9014         Tests for module 'strtoull'.
9015         * modules/strtoull-tests: New file.
9016         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
9017
9018 2012-01-05  Bruno Haible  <bruno@clisp.org>
9019
9020         Tests for module 'strtoll'.
9021         * modules/strtoll-tests: New file.
9022         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
9023
9024 2012-01-05  Bruno Haible  <bruno@clisp.org>
9025
9026         Tests for module 'strtoul'.
9027         * modules/strtoul-tests: New file.
9028         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
9029
9030 2012-01-05  Bruno Haible  <bruno@clisp.org>
9031
9032         Tests for module 'strtol'.
9033         * modules/strtol-tests: New file.
9034         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
9035
9036 2012-01-04  Jim Meyering  <meyering@redhat.com>
9037
9038         test-init.sh: accommodate Solaris 5.10's different diff -u output
9039         * tests/test-init.sh: Also exempt @@ lines from the comparison
9040         of diff output, since Solaris 5.10 and GNU diff formats differ.
9041         Reported by Stefano Lattarini.
9042
9043 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9044
9045         test-posixtm: don't assume signed integer wraparound
9046         * tests/test-posixtm.c (main): Don't assume wraparound semantics
9047         after signed integer overflow.  Inspired by (though it may not
9048         fix) Bruno Haible's bug report in
9049         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
9050
9051         Spell out "Windows 9x" and "Windows XP".
9052         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
9053         "Windows 9x" and "WinXP" with "Windows XP".
9054
9055 2012-01-04  Jim Meyering  <meyering@redhat.com>
9056
9057         test-vc-list-files-cvs.sh: remove obsolete comment
9058         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
9059         double exit.  Now that's all encapsulated via skip_ and Exit.
9060
9061 2012-01-04  Bruno Haible  <bruno@clisp.org>
9062
9063         Talk about "native Windows API", not "Win32".
9064         * lib/classpath.c: Update comments to mention native Windows.
9065         * lib/csharpexec.c: Likewise.
9066         * lib/dup2.c: Likewise.
9067         * lib/error.c: Likewise.
9068         * lib/fcntl.c: Likewise.
9069         * lib/filename.h: Likewise.
9070         * lib/findprog.c: Likewise.
9071         * lib/get-rusage-as.c: Likewise.
9072         * lib/get-rusage-data.c: Likewise.
9073         * lib/getpagesize.c: Likewise.
9074         * lib/javaexec.c: Likewise.
9075         * lib/msvc-inval.c: Likewise.
9076         * lib/msvc-nothrow.c: Likewise.
9077         * lib/nanosleep.c: Likewise.
9078         * lib/nonblocking.c: Likewise.
9079         * lib/printf-parse.c: Likewise.
9080         * lib/setlocale.c: Likewise.
9081         * lib/sigaction.c: Likewise.
9082         * lib/strerror_r.c: Likewise.
9083         * lib/tmpdir.c: Likewise.
9084         * lib/vasnprintf.c: Likewise.
9085         * lib/w32spawn.h: Likewise.
9086         * lib/waitpid.c: Likewise.
9087         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
9088         * m4/locale-ar.m4: Likewise.
9089         * m4/locale-fr.m4: Likewise.
9090         * m4/locale-ja.m4: Likewise.
9091         * m4/locale-tr.m4: Likewise.
9092         * m4/locale-zh.m4: Likewise.
9093         * m4/printf.m4: Likewise.
9094         * tests/test-cloexec.c: Likewise.
9095         * tests/test-copy-acl.sh: Likewise.
9096         * tests/test-copy-file.sh: Likewise.
9097         * tests/test-file-has-acl.sh: Likewise.
9098         * tests/test-set-mode-acl.sh: Likewise.
9099         * tests/test-dup-safer.c: Likewise.
9100         * tests/test-dup2.c: Likewise.
9101         * tests/test-dup3.c: Likewise.
9102         * tests/test-fcntl.c: Likewise.
9103         * tests/test-nonblocking-pipe.h: Likewise.
9104         * tests/test-nonblocking-socket.h: Likewise.
9105         * tests/test-pipe.c: Likewise.
9106         * tests/test-pipe2.c: Likewise.
9107         * tests/test-spawn-pipe-child.c: Likewise.
9108         * doc/acl-resources.txt: Likewise.
9109         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9110         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
9111         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
9112         * lib/localcharset.c: Update comments to mention native Windows.
9113         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9114         * lib/localename.c: Likewise.
9115         * lib/progreloc.c: Likewise.
9116         * lib/relocatable.c: Likewise.
9117         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9118         (windows_compute_revents): Renamed from win32_compute_revents.
9119         (windows_compute_revents_socket): Renamed from
9120         win32_compute_revents_socket.
9121         * lib/select.c: Update comments to mention native Windows.
9122         (windows_poll_handle): Renamed from win32_poll_handle.
9123         * m4/threadlib.m4: Update comments to mention native Windows.
9124         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
9125         --enable-threads=windows instead of --enable-threads=win32. Set
9126         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
9127         * lib/glthread/lock.h: Update comments to mention native Windows.
9128         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
9129         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
9130         USE_WIN32_THREADS.
9131         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
9132         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
9133         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
9134         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
9135         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
9136         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
9137         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
9138         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
9139         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
9140         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
9141         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
9142         * tests/test-tls.c: Likewise.
9143         Rationale:
9144         Microsoft renamed the "Win32 API" to "Windows API", as it is available
9145         on both 32-bit and 64-bit Windows systems.
9146         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
9147         line of distinction is between "native Windows" on one side and Unix/
9148         POSIX systems on the other side. More details in
9149         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
9150         Suggested by Paul Eggert.
9151
9152 2012-01-03  Bruno Haible  <bruno@clisp.org>
9153
9154         isatty: Support for MSVC 9.
9155         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
9156         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
9157         (_isatty_nothrow): New function.
9158         (isatty): Use it instead of _isatty.
9159         (IsConsoleHandle): Add comment, from Paolo Bonzini.
9160         * lib/poll.c (IsConsoleHandle): Likewise.
9161         * lib/select.c (IsConsoleHandle): Likewise.
9162         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
9163         (gl_PREREQ_ISATTY): New macro.
9164         * modules/isatty (Depends-on): Add msvc-inval.
9165         (configure.ac): Invoke gl_PREREQ_ISATTY.
9166
9167 2012-01-03  Jim Meyering  <meyering@redhat.com>
9168
9169         maint.mk: remove temporary transition aid from over 1.5 years ago
9170         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
9171         purpose was to aid in the transition (avoiding silent malfunction)
9172         from that old name to the new _sc_search_regexp.  This shim was
9173         added by commit 219c504b.
9174
9175         init.sh: do not try to accommodate compare arguments starting with "-"
9176         * tests/init.sh (compare_dev_null_): Do not try to accommodate
9177         compare arguments that start with "-".  Besides, we do not worry
9178         about this when invoking diff or cmp; why start now with sed?
9179         Using "--" to separate options from argument would trigger sed
9180         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
9181         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
9182
9183 2012-01-02  Bruno Haible  <bruno@clisp.org>
9184
9185         Enhance tests for module 'isatty'.
9186         * modules/isatty-tests (Depends-on): Add pipe-posix.
9187         * tests/test-isatty.c: Include <fcntl.h>.
9188         (DEV_NULL): New macro.
9189         (main): Test the resut of isatty() also on regular files, pipes, and
9190         /dev/null.
9191
9192         New module 'isatty'.
9193         * lib/unistd.in.h (isatty): New declaration.
9194         * lib/isatty.c: New file, based on an idea of
9195         Bastien Roucariès <roucaries.bastien@gmail.com>.
9196         * m4/isatty.m4: New file.
9197         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
9198         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
9199         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
9200         REPLACE_ISATTY.
9201         * modules/isatty: New file.
9202         * doc/posix-functions/isatty.texi: Mention the new module.
9203         Suggested by Paolo Bonzini.
9204
9205 2012-01-02  Bruno Haible  <bruno@clisp.org>
9206
9207         canonicalize: Tweak 2011-12-29 commit.
9208         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
9209         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
9210
9211 2012-01-02  Jim Meyering  <meyering@redhat.com>
9212
9213         gitlog-to-changelog: describe input syntax in --help output
9214         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
9215
9216         gitlog-to-changelog: fix typo in --help: show backslash before email @
9217         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
9218         in sources, but not in actual output.
9219
9220 2011-12-30  Jim Meyering  <meyering@redhat.com>
9221
9222         gitlog-to-changelog: don't malfunction when name contains %-directive
9223         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
9224         in a name string cause trouble.  E.g., with a user name of "%s",
9225         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
9226
9227 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
9228
9229         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
9230         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
9231         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
9232         the "  (tiny change)" notation that is appended to the standard
9233         ChangeLog "date  name  email" header line.
9234
9235 2012-01-01  Jim Meyering  <meyering@redhat.com>
9236
9237         test-framework-sh: init.sh: fix "make dist" failure
9238         When using gnulib-tool's --with-tests option and any module that
9239         depends on test-framework-sh, "make dist" would fail due to the
9240         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
9241         in the gltests directory, and not in the gllib/ directory.
9242         One way to work around that is to move the EXTRA_DIST += init.sh
9243         from the primary module to the -tests one:
9244         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
9245         * modules/test-framework-sh (Makefile.am): ...not here.
9246         Reported by Tom G. Christensen in
9247         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
9248
9249         version-etc: update copyright year reported by --version
9250         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
9251
9252 2011-12-31  Pádraig Brady  <P@draigBrady.com>
9253
9254         canonicalize: only stat() if required
9255         * lib/canonicalize.c (canonicalize_filename_mode):
9256         Avoid calling l?stat() when both CAN_MISSING,
9257         and CAN_NOLINKS are set, as we neither need
9258         to resolve symlinks or test component existence.
9259
9260 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9261
9262         doc: cover st_ino issues once; add OpenVMS etc.
9263         * doc/posix-functions/stat.texi (stat):
9264         * doc/posix-functions/lstat.texi (lstat):
9265         * doc/posix-functions/fstatat.texi (fstatat):
9266         * doc/posix-functions/fstat.texi (fstat):
9267         Move general 'struct stat' stuff to sys_stat.texi,
9268         leaving behind a pointer.
9269         * doc/posix-headers/sys_stat.texi (sys/stat.h):
9270         Merge duplicate info about 'struct stat' problems into here.
9271         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
9272         and suggest partial workarounds.
9273
9274         same-inode: port to OpenVMS
9275         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
9276         three st_ino values.
9277
9278 2011-12-30  Pádraig Brady  <P@draigBrady.com>
9279
9280         canonicalize: fix references to stat() and lstat()
9281         * lib/canonicalize.c (canonicalize_filename_mode):
9282         Ensure references always resolve to a replacement
9283         function if required (even via a macro).
9284
9285 2011-12-30  Jim Meyering  <meyering@redhat.com>
9286
9287         gitlog-to-changelog: remove a little duplication
9288         * build-aux/gitlog-to-changelog (main): Grep @lines once,
9289         rather than twice.
9290
9291 2011-12-29  Pádraig Brady  <P@draigBrady.com>
9292
9293         canonicalize: add support for not resolving symlinks
9294         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
9295         indicate we don't want to follow symlinks.  Also
9296         provide CAN_MODE_MASK to aid setting these existing
9297         mutually exclusive values.
9298         * lib/canonicalize.c (canonicalize_filename_mode):
9299         Extract the flags from can_mode parameter, which
9300         are currently just used to select between stat()
9301         and lstat().  Also ensure that mutually exclusive
9302         values are flagged immediately as invalid.
9303         * tests/test-canonicalize.c: Verify symlinks are
9304         not followed, and that invalid flag combinations
9305         are diagnosed.
9306
9307 2011-12-25  Jim Meyering  <meyering@redhat.com>
9308
9309         gitlog-to-changelog: do not clump multi-paragraph entries
9310         Identical header lines (date,name,email+coauthors) are suppressed,
9311         thus putting all entries with those same characteristics under
9312         a single header.  However, when a log entry consists of two or
9313         more paragraphs, it may not be clear where it starts and ends.
9314         This change makes it so that such an entry is always separated
9315         from others by a header line, even when that header would
9316         otherwise be suppressed.
9317         * build-aux/gitlog-to-changelog: Implement the above.
9318         Inspired by a related request from Stefano Lattarini in
9319         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
9320
9321 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9322
9323         announce-gen: fix `cmd' typo in diagnostic
9324         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
9325         diagnostic: a missing '$' meant that the command was not output.
9326
9327 2011-12-23  Jim Meyering  <meyering@redhat.com>
9328
9329         test-framework-sh: distribute init.sh
9330         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
9331         Otherwise, "make -C gnulib-tests check" (at least in grep) would
9332         fail due to the lack of init.sh.
9333
9334         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
9335         * modules/atexit-tests: Rather than listing tests/init.sh,
9336         now that there's a module for it, simply depend on that new module.
9337         * modules/closein-tests: Likewise.
9338         * modules/exclude-tests: Likewise.
9339         * modules/getcwd-tests: Likewise.
9340         * modules/perror-tests: Likewise.
9341         * modules/pread-tests: Likewise.
9342         * modules/pwrite-tests: Likewise.
9343         * modules/vc-list-files-tests: Likewise.
9344         * modules/verify-tests: Likewise.
9345         * modules/xalloc-die-tests: Likewise.
9346         * modules/xstrtoimax-tests: Likewise.
9347         * modules/xstrtol-tests: Likewise.
9348         * modules/xstrtoll-tests: Likewise.
9349         * modules/xstrtoumax-tests: Likewise.
9350         * modules/yesno-tests: Likewise.
9351
9352 2011-12-22  Jim Meyering  <meyering@redhat.com>
9353
9354         test-framework-sh: add minimal tests of init.sh's compare function
9355         * modules/test-framework-sh-tests: New file.
9356         * tests/test-init.sh: New file.
9357
9358         test-framework-sh: new module
9359         * modules/test-framework-sh: New file.
9360         * MODULES.html.sh (Support for maintaining and releasing projects):
9361         List it.
9362
9363         init.sh: do not emit simulated diff output to stderr
9364         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
9365
9366 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
9367
9368         .gitignore: ignore gnulib.dvi and regex.info
9369         * doc/.gitignore:add gnulib.dvi and regex.info
9370
9371 2011-12-22  Jim Meyering  <meyering@redhat.com>
9372
9373         init.sh: correct previous change
9374         * tests/init.sh (compare): My previous change was wrong.
9375         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
9376
9377         init.sh: avoid unwarranted test failure when using "set -e"
9378         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
9379         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
9380         a use like "compare exp out" would get evoke an unconditional failure.
9381
9382 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
9383
9384         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
9385         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
9386         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
9387         autoreconf that did not.
9388         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
9389         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9390
9391 2011-12-17  Jim Meyering  <meyering@redhat.com>
9392
9393         bootstrap: remove some now-unneeded code
9394         This script arose back when gnulib-tool was young.
9395         Since then, it has seen improvements that render much of this
9396         script unnecessary.  In particular, it can now make symlinks
9397         to the files it uses.  Also, I no longer see as much value in
9398         marking files as read-only via comments.
9399         If you relied on the symlink-creation feature of the preceding
9400         version of this script, you can get most of that functionality
9401         by adding the --symlink option to the definition of
9402         gnulib_tool_option_extras in your bootstrap.conf file.
9403         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
9404         Run autopoint and libtoolize *before* gnulib-tool.
9405         After it, run an abbreviated autoreconf, rather than a loop around
9406         all tools.
9407         (slirp, bt_mark_as_generated): Remove functions.
9408
9409 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9410
9411         ftoastr: fix typo
9412         * lib/ftoastr.h: Fix misspelling in comment.
9413
9414 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
9415
9416         * top/README-release: fix punctuation.
9417
9418 2011-12-17  Jim Meyering  <meyering@redhat.com>
9419
9420         bootstrap: correct the recent buildreq change
9421         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
9422         had no effect.
9423         * build-aux/bootstrap (buildreq): Bracket each search term with
9424         "*...*", so that the shell "case" statement works as intended.
9425         Add comments.
9426
9427 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
9428
9429         build: let bootstrap resort to wget when downloading .po files
9430         * build-aux/bootstrap (download_po_files): Fallback to wget when
9431         downloading the .po files via rsync fails.  This is necessary to
9432         bootstrap from behind a strict firewall.
9433
9434 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9435
9436         stdint: don't assume C++11 when compiling with g++
9437         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
9438         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
9439         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
9440         work also in C++ before C++11, as that improperly inhibits
9441         generating a substitute stdint.h for that case.
9442
9443 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9444
9445         alloca: protect comment from gnulib-tool
9446         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
9447         that gnulib-tool doesn't think it's a license, and munge it to
9448         say "GCC version 3".
9449
9450 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
9451
9452         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
9453         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
9454         $(abs_top_builddir) instead of $(top_builddir).
9455
9456 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
9457
9458         strftime-tests: also test nanoseconds
9459         * tests/test-strftime.c (T): Add a test of %N.
9460
9461 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
9462
9463         inttypes, stdint: add C++11 support
9464         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
9465         when including inttypes.h and stdint.h.  Support this change to
9466         the standard.
9467         * doc/posix-headers/inttypes.texi (inttypes.h):
9468         * doc/posix-headers/stdint.texi (stdint.h): Document this.
9469         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
9470         Define if not defined already, for the benefit of pre-C++11 hosts.
9471         Define the standard format macros (e.g., PRId8) always.
9472         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
9473         Likewise, if __cpluspus.  Define the standard constant and limit
9474         macros (e.g., INT8_C, INT8_MAX) always.
9475         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
9476         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
9477         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
9478         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
9479         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
9480         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
9481         Likewise.
9482
9483 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
9484
9485         nonblocking tests: Fix test failure on Linux/PPC.
9486         Suggested by Prerna Saxena in
9487         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
9488         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
9489         Set to 1100000.
9490
9491 2011-12-12  Jim Meyering  <meyering@redhat.com>
9492
9493         argmatch: don't hard-code `' when listing valid option arguments
9494         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
9495         use the quote function to add quotes.  Use fputs rather than
9496         fprintf for the format string with no format directive.
9497
9498 2011-12-07  Eric Blake  <eblake@redhat.com>
9499
9500         bootstrap: detect tools required by gnulib-tool
9501         * build-aux/bootstrap (buildreq): Provide minimum implicit
9502         dependencies.
9503         * DEPENDENCIES: Mention patch as a prereq.
9504
9505 2011-12-04  Bruno Haible  <bruno@clisp.org>
9506
9507         sethostname: Port to Windows platforms.
9508         * lib/sethostname.c: Provide an alternate implementation for Windows
9509         platforms.
9510         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
9511         (main): Skip the test if sethostname() fails with EPERM. On Windows
9512         platforms, don't check the result of gethostname().
9513
9514 2011-12-04  Bruno Haible  <bruno@clisp.org>
9515             Jim Meyering  <meyering@redhat.com>
9516
9517         tests: Avoid spurious error message on platforms without mktemp program.
9518         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
9519
9520 2011-12-04  Bruno Haible  <bruno@clisp.org>
9521
9522         sethostname: Fix documentation.
9523         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
9524         "not fixed" section.
9525
9526 2011-12-03  Bruno Haible  <bruno@clisp.org>
9527
9528         gnulib-tool: Verify that the License field is present and non-empty.
9529         * gnulib-tool (func_get_license_raw): New function, extracted from
9530         func_get_license.
9531         (func_get_license): Use it. Warn if the module is not a test module and
9532         has no license.
9533         Suggested by Jim Meyering.
9534
9535 2011-12-03  Bruno Haible  <bruno@clisp.org>
9536
9537         sethostname tests: Fix link error on mingw.
9538         * tests/test-sethostname1.c: New file, extracted from
9539         tests/test-sethostname.c.
9540         * tests/test-sethostname2.c: New file, extracted from
9541         tests/test-sethostname.c.
9542         * tests/test-sethostname.c: Remove file.
9543         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
9544         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
9545         (Depends-on): Add gethostname.
9546         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
9547         Link the latter with $(GETHOSTNAME_LIB).
9548
9549         sethostname tests: Fix compilation error on mingw.
9550         * tests/test-sethostname.c: Don't include <sys/types.h>.
9551         (geteuid): Use a dummy value without uid_t.
9552         * modules/sethostname-tests (Depends-on): Remove sys_types.
9553
9554         sethostname tests: Avoid a gcc warning.
9555         * tests/test-sethostname.c (main): Remove an unused variable.
9556
9557         Tweak last commit.
9558         * modules/sethostname-tests (Files): Sort by decreasing importance.
9559         (configure.ac): Check for geteuid.
9560         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
9561         the test when there's nothing to test. Drop an unnecessary cast.
9562         Improve an error message. Verify that the final sethostname() call
9563         succeeds.
9564
9565 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9566
9567         Add a test suite for the sethostname module.
9568         * modules/sethostname-tests: New file.  A test program
9569         for the sethostname module.
9570         * tests/test-sethostname.c: Likewise.
9571
9572 2011-12-03  Bruno Haible  <bruno@clisp.org>
9573
9574         Tweak last commit.
9575         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
9576         Fix preprocessor directives indentation. Fix typos.
9577         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
9578         * modules/unistd (Makefile): Likewise.
9579
9580 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9581
9582         Integrate the sethostname module into unistd.
9583         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
9584         into the unistd.h header.
9585         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
9586         preprocessor directives.
9587         * modules/unistd: Setup the Makefile substitutions of the
9588         SETHOSTNAME preprocessor directives.
9589
9590 2011-12-03  Bruno Haible  <bruno@clisp.org>
9591
9592         Tweak last commit.
9593         * lib/sethostname.c: Don't include <string.h>.
9594         (sethostname): No need to copy the argument string to the stack. Don't
9595         call clearerr. Preserve errno when fprintf failed.
9596         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
9597         Don't invoke AC_REPLACE_FUNCS.
9598         * modules/sethostname (Link): Remove empty section.
9599         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
9600         failure problem.
9601
9602 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9603
9604         New module 'sethostname'.
9605         * lib/sethostname.c (sethostname): New file.  Provide sethostname
9606         for systems that lack it.
9607         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
9608         sethostname declaration and function.
9609         * modules/sethostname: New file.  Define the sethostname module.
9610
9611 2011-12-03  Bruno Haible  <bruno@clisp.org>
9612
9613         Tweak last commit.
9614         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
9615
9616 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9617
9618         Split the HOST_NAME_MAX detection into a separate m4 macro.
9619         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
9620         macro so it can be used by the pending sethostname module.
9621
9622 2011-12-03  Bruno Haible  <bruno@clisp.org>
9623
9624         Fix module descriptions syntax.
9625         * modules/argv-iter (License): Fix syntax.
9626         * modules/di-set (License): Likewise.
9627         * modules/ino-map (License): Likewise.
9628         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
9629
9630 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
9631
9632         stdalign: port to Clang 3.0
9633         Problem reported by Simon Josefsson in
9634         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
9635         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
9636         which has <stdalign.h> but which does not define alignof.
9637         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
9638
9639 2011-12-01  Eric Blake  <eblake@redhat.com>
9640
9641         mktempd: silence dd usage
9642         * build-aux/mktempd (rand_bytes): Silence dd.
9643
9644 2011-11-30  Simon Josefsson  <simon@josefsson.org>
9645
9646         manywarnings: Don't mention gcc version in docstring.
9647         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
9648         Jim Meyering <meyering@redhat.com>.
9649
9650 2011-11-30  Jim Meyering  <meyering@redhat.com>
9651
9652         hash: mark a few floating point constants with "f" suffix
9653         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
9654         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
9655         floating point constants with "f", since they're destined to be
9656         saved/used as "float"s.
9657
9658 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
9659
9660         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
9661         * tests/test-float.c (test_long_double): Correct and re-enable the
9662         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
9663
9664 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
9665
9666         Avoid subtracting two pointers that don't point into the same block.
9667         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
9668         only pointers into the same memory block are subtracted. We cannot
9669         assume that sizeof (ptrdiff_t) == sizeof (void *).
9670
9671 2011-11-29  Eric Blake  <eblake@redhat.com>
9672
9673         maint.mk: add syntax check for use of compare from init.sh
9674         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
9675         moved here from coreutils.
9676
9677         manywarnings: drop -Wunsuffixed-float-constants
9678         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
9679         '1.0D', which is the only way to silence this warning for 'double'.
9680
9681 2011-11-29  Jim Meyering  <meyering@redhat.com>
9682
9683         hash: mark compute_bucket_size with the pure attribute
9684         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
9685
9686         quotearg, propername: correct pragma guard expression
9687         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
9688         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
9689
9690 2011-11-28  Jim Meyering  <meyering@redhat.com>
9691
9692         propername: do not mark proper_name with the const attribute
9693         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
9694         since it examines data pointed to by its parameter.
9695         * lib/propername.c (proper_name): Instead, add a pragma to suppress
9696         the suggestion from -Wsuggest-attribute=const.
9697
9698         propername: mark one more function as const
9699         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
9700
9701 2011-11-27  Jim Meyering  <meyering@redhat.com>
9702
9703         mark functions with const and pure attributes
9704
9705         Mark functions per suggestions from gcc-4.6 when using these options:
9706         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
9707         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
9708         Follow these guidelines: when possible, apply the attribute to
9709         an extern declaration, not to its definition.  Apply it to the
9710         definition only when the definition is static.
9711         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
9712         * lib/argv-iter.h (argv_iter_n_args): Likewise.
9713         * lib/base64.h (isbase64): Likewise.
9714         * lib/basename-lgpl.c (last_component, base_len): Likewise.
9715         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
9716         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
9717         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
9718         (c_tolower, c_toupper): Likewise.
9719         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
9720         * lib/chdir-long.c (find_non_slash): Likewise.
9721         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
9722         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
9723         * lib/file-type.h (file_type): Likewise.
9724         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
9725         * lib/filevercmp.c (verrevcmp): Likewise.
9726         * lib/freadahead.h (freadahead): Likewise.
9727         * lib/fts.c (fts_maxarglen): Likewise.
9728         * lib/hash-pjw.h (hash_pjw): Likewise.
9729         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
9730         * lib/hash.c (is_prime, next_prime): Likewise.
9731         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
9732         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
9733         (hash_table_ok, hash_get_first, hash_string): Likewise.
9734         (compute_bucket_size): Likewise.
9735         * lib/i-ring.h (i_ring_empty): Likewise.
9736         * lib/isnan.c (isnanl): Likewise.
9737         * lib/math.h (isnanl, rpl_isnanl): Likewise.
9738         * lib/memcasecmp.h (memcasecmp): Likewise.
9739         * lib/memchr2.h (memchr2): Likewise.
9740         * lib/memcmp2.h (memcmp2): Likewise.
9741         * lib/parse-datetime.y (lookup_zone): Likewise.
9742         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
9743         [!WINDOWS_SOCKETS]: Likewise.
9744         * lib/strnlen1.h (strnlen1): Likewise.
9745         * lib/uniwidth.in.h (uc_width): Likewise.
9746         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
9747         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
9748         (quoting_options_from_style): Add a comment.
9749         * lib/propername.h (proper_name): Add a comment.
9750
9751 2011-11-27  Bruno Haible  <bruno@clisp.org>
9752
9753         Remove unused macros from !_LIBC code in glibc-borrowed files.
9754         * lib/fnmatch.c (STRCOLL): Remove macro.
9755         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
9756         * lib/glob.c (__stat, __readdir64): Remove macros.
9757         * lib/tempname.c (__open64, __xstat64): Remove macros.
9758         Suggested by Paul Eggert.
9759
9760 2011-11-27  Bruno Haible  <bruno@clisp.org>
9761
9762         getcwd: Fix link error on MSVC 9.
9763         * modules/getcwd (Depends-on): Add readdir, rewinddir.
9764
9765 2011-11-27  Bruno Haible  <bruno@clisp.org>
9766
9767         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
9768         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
9769         HAVE_OPENDIR is 0.
9770         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
9771         HAVE_CLOSEDIR is 0.
9772         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
9773         is 0.
9774         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
9775
9776 2011-11-27  Bruno Haible  <bruno@clisp.org>
9777
9778         getcwd: Fix bug from 2011-08-17.
9779         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
9780         platforms that need it.
9781         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
9782         code of 4 to be a failure, not a success. This ensures that
9783         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
9784
9785 2011-11-27  Bruno Haible  <bruno@clisp.org>
9786
9787         binary-io tests: Avoid test failure on mingw when libtool is used.
9788         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
9789         Don't verify the size of t-bin-out1.tmp here.
9790         * tests/test-binary-io.sh: Verify it here.
9791         Reported by Simon Josefsson.
9792
9793 2011-11-26  Bruno Haible  <bruno@clisp.org>
9794
9795         Fix conflict between two instantiations of module 'unistd'.
9796         * gnulib-tool (func_emit_autoconf_snippet): Substitute
9797         ${include_guard_prefix} also in the autoconf snippet.
9798         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
9799         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
9800         GNULIB_UNISTD_H_GETOPT.
9801         * modules/getopt-posix (configure.ac): Set the
9802         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
9803         * modules/getopt-gnu (configure.ac): Likewise.
9804         * modules/unistd (Makefile.am): Change the substitution value of
9805         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
9806         Reported by Simon Josefsson.
9807
9808 2011-11-25  Bruno Haible  <bruno@clisp.org>
9809
9810         pagealign_alloc: Doc and comments.
9811         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
9812         module.
9813         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
9814
9815 2011-11-25  Jim Meyering  <meyering@redhat.com>
9816
9817         test-update-copyright.sh: avoid false-positive failure
9818         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
9819         around false positive failure on Cygwin/Windows.  The latter was
9820         matching erroneously-created files with names like
9821         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
9822
9823 2011-11-25  Simon Josefsson  <simon@josefsson.org>
9824
9825         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
9826         * m4/valgrind-tests.m4: Check that the parameters that will be
9827         used works, not just a subset of them.  Reported by Bruno Haible
9828         <bruno@clisp.org>.
9829
9830 2011-11-24  Jim Meyering  <meyering@redhat.com>
9831
9832         test-stdalign.c: comment out long double tests
9833         * tests/test-stdalign.c: Don't try to reduce alignment of long double
9834         variables.  That provokes errors like this from gcc-4.7.0 20111124:
9835         error: '_Alignas' specifiers cannot reduce alignment of \
9836         'static_longdouble_alignas'.
9837
9838 2011-11-22  Jim Meyering  <meyering@redhat.com>
9839
9840         init.sh: make "compare /dev/null FILE" output more readable
9841         * tests/init.sh (compare_): Document the preferred order of arguments.
9842         (emit_diff_u_header_): New function.
9843         (compare_dev_null_): Emit a simulated diff, rather than just the
9844         contents of the unexpected file.  Suggestion from Bruno Haible.
9845
9846 2011-11-21  Jim Meyering  <meyering@redhat.com>
9847             Eric Blake  <eblake@redhat.com>
9848
9849         init.sh: work around OSF/1 5.1's mishandling of /dev/null
9850         * tests/init.sh: Make our compare function slightly more portable.
9851         Reported by Bruno Haible in
9852         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
9853
9854 2011-11-21  Simon Josefsson  <simon@josefsson.org>
9855
9856         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
9857         before using it, in code that ends up in config.h.
9858
9859 2011-11-20  Bruno Haible  <bruno@clisp.org>
9860
9861         getcwd: Work around getcwd bug on AIX 5..7.
9862         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
9863         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
9864         Use a different value for gl_cv_func_getcwd_path_max. Move the
9865         definition of HAVE_PARTLY_WORKING_GETCWD from here...
9866         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
9867         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
9868         Define HAVE_MINIMALLY_WORKING_GETCWD.
9869         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
9870         where it is not even minimally working, that is, on AIX.
9871         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
9872         m4/getcwd-path-max.m4.
9873         (main): Update exit code computation.
9874         * doc/posix-functions/getcwd.texi: Mention list of platforms where
9875         getcwd does not handle long file names.
9876
9877 2011-11-20  Bruno Haible  <bruno@clisp.org>
9878
9879         getcwd: Fix bug from 2009-09-10.
9880         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
9881         like "no".
9882
9883 2011-11-20  Simon Josefsson  <simon@josefsson.org>
9884
9885         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
9886
9887 2011-11-20  Bruno Haible  <bruno@clisp.org>
9888
9889         fma tests: Avoid shadowing local variables.
9890         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
9891         expected.
9892
9893 2011-11-20  Bruno Haible  <bruno@clisp.org>
9894
9895         copysignf tests: Fix.
9896         * tests/test-copysignf.c: Fix signature check.
9897
9898 2011-11-20  Bruno Haible  <bruno@clisp.org>
9899
9900         fma: Remove unused code.
9901         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
9902         unused macros.
9903
9904 2011-11-20  Bruno Haible  <bruno@clisp.org>
9905
9906         sethostname: Fix doc about AIX.
9907         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
9908         sethostname; it has it.
9909
9910         sethostname: Mention more portability problems.
9911         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
9912         problem.
9913         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
9914
9915 2011-11-19  Bruno Haible  <bruno@clisp.org>
9916
9917         Depend on module fcntl-h when AT_FDCWD is used.
9918         * modules/utimens (Depends-on): Add fcntl-h.
9919         * modules/areadlinkat (Depends-on): Likewise.
9920         * modules/areadlinkat-with-size (Depends-on): Likewise.
9921         * modules/faccessat (Depends-on): Likewise.
9922         * modules/fchmodat (Depends-on): Likewise.
9923         * modules/fchownat (Depends-on): Likewise.
9924         * modules/getcwd (Depends-on): Likewise.
9925         * modules/mkdirat (Depends-on): Likewise.
9926         * modules/mkfifoat (Depends-on): Likewise.
9927         * modules/readlinkat (Depends-on): Likewise.
9928         * modules/symlinkat (Depends-on): Likewise.
9929         * modules/dup2-tests (Depends-on): Likewise.
9930         * modules/fdutimensat-tests (Depends-on): Likewise.
9931         * modules/futimens-tests (Depends-on): Likewise.
9932
9933 2011-11-19  Bruno Haible  <bruno@clisp.org>
9934
9935         euidaccess: Update a comment.
9936         * lib/euidaccess.c: Update comment about platforms with faccessat.
9937
9938 2011-11-19  Bruno Haible  <bruno@clisp.org>
9939
9940         openat: Fix file list.
9941         * modules/openat (Files): Remove lib/at-func.c.
9942
9943 2011-11-19  Bruno Haible  <bruno@clisp.org>
9944
9945         fstatat: Simplify.
9946         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
9947         gnulib should define rpl_fstatat, there is a
9948         "#define fstatat rpl_fstatat" in <sys/stat.h>.
9949
9950 2011-11-19  Bruno Haible  <bruno@clisp.org>
9951
9952         Ensure 'inline' can be used in tests/test-utimens-common.h.
9953         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
9954         * modules/futimens-tests (configure.ac): Likewise.
9955         * modules/utimens-tests (configure.ac): Likewise.
9956         * modules/utimensat-tests (configure.ac): Likewise.
9957
9958 2011-11-19  Simon Josefsson  <simon@josefsson.org>
9959
9960         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
9961         not hash_insert0.
9962         (hash_insert_if_absent): Doc fix.
9963
9964 2011-11-19  Simon Josefsson  <simon@josefsson.org>
9965
9966         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
9967
9968 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
9969
9970         test-getcwd: disambiguate exit status
9971         * tests/test-getcwd.c (test_long_name): Return 0..7.
9972         (main): Exit with an unambiguous exit status.  The old
9973         code yielded a mysterious mixture of two failure codes.
9974
9975         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
9976         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
9977         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
9978         rpl_fstatat or fstatat.  This should fix the other problem
9979         reported by Kai Habel in
9980         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
9981         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
9982         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
9983         and I reproduced it on a Solaris 8 host we still have in production.
9984
9985 2011-11-18  Jim Meyering  <meyering@redhat.com>
9986
9987         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
9988         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
9989         Add a sentence to the comment.
9990         (hash_insert0): New function that simply calls hash_insert_if_absent.
9991         * lib/hash.h (hash_insert_if_absent): Declare it.
9992         (hash_insert0): Add deprecation attribute.
9993         (_GL_ATTRIBUTE_DEPRECATED): Define.
9994         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
9995         not hash_insert0.
9996         * NEWS: Mention it, even though it's not really an incompatible change.
9997
9998 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
9999
10000         openat: avoid compilation failure due to lack of <errno.h> inclusion
10001         * lib/openat.c: Include <errno.h>.
10002
10003 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10004
10005         * modules/getcwd (Depends-on): Add fdopendir.
10006         This fixes one of the two problems reported by Kai Habel in
10007         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10008
10009         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
10010         stdalign problem reported by Ian Beckwith in
10011         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
10012         * modules/crypto/gc-arcfour (Depends-on):
10013         Depend conditionally on crypto/arcfour.
10014         * modules/crypto/gc-arctwo (Depends-on):
10015         Depend conditionally on crypto/arctwo.
10016         * modules/crypto/gc-des (Depends-on):
10017         Depend conditionally on crypto/des.
10018         * modules/crypto/gc-hmac-md5 (Depends-on):
10019         Depend conditionally on crypto/hmac-md5.
10020         * modules/crypto/gc-hmac-sha1 (Depends-on):
10021         Depend conditionally on crypto/hmac-sha1.
10022         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
10023         * modules/crypto/gc-md4 (Depends-on):
10024         Depend conditionally on crypto/md4.
10025         * modules/crypto/gc-md5 (Depends-on):
10026         Depend conditionally on crypto/md5.
10027         * modules/crypto/gc-rijndael (Depends-on):
10028         Depend conditionally on crypto/rijndael.
10029         * modules/crypto/gc-sha1 (Depends-on):
10030         Depend conditionally on crypto/sha1.
10031         * modules/crypto/gc-arcfour:
10032         * modules/crypto/gc-arctwo:
10033         * modules/crypto/gc-des:
10034         * modules/crypto/gc-hmac-md5:
10035         * modules/crypto/gc-hmac-sha1:
10036         * modules/crypto/gc-md2:
10037         * modules/crypto/gc-md4:
10038         * modules/crypto/gc-md5:
10039         * modules/crypto/gc-rijndael:
10040         * modules/crypto/gc-sha1:
10041         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
10042         now that the conditional dependencies do the work for us.
10043
10044 2011-11-17  Jim Meyering  <meyering@redhat.com>
10045
10046         tests: factor st_ctime-comparison out of two headers
10047         * tests/test-utimens-common.h (ctime_compare): Define.
10048         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
10049         * tests/test-lutimens.h (test_lutimens): Likewise.
10050         * tests/test-utimens.h (test_utimens): Likewise.
10051
10052         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
10053         Invoke the test program via an init.sh-using wrapper.
10054         * tests/test-getcwd.sh: New file.
10055         * modules/getcwd-tests (Files): Add it.
10056         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
10057
10058 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
10059
10060         gitlog-to-changelog: support multi-author commits.
10061         The FSF cares about keeping track of all authors of patches to its
10062         projects, but Git doesn't provide obvious support for multi-author
10063         changesets. Consensus seems to be forming around the use of extra
10064         Signed-off-by inspired lines in the log message formatted as
10065         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
10066         multi-author commits between version control systems.
10067         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
10068         log message and output in standard ChangeLog multi-author format.
10069         Reported by Peter Rosin <peda@lysator.liu.se>
10070
10071 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
10072             Bruno Haible  <bruno@clisp.org>
10073
10074         Fix some modules' file list.
10075         * modules/fstatat (Files): Add m4/lstat.m4.
10076         * modules/openat (Files): Likewise.
10077         * modules/unlinkat (Files): Likewise.
10078
10079 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
10080
10081         maint.mk: fix tight-scope.mk generation in VPATH builds.
10082         * top/maint.mk (tight-scope.mk): Make sure to prefix file
10083         reference with $(srcdir) so that the file is found correctly even
10084         when running `make syntax-check' in a VPATH build.
10085
10086 2011-11-13  Bruno Haible  <bruno@clisp.org>
10087             Jim Meyering  <meyering@redhat.com>
10088
10089         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
10090         * tests/init.sh (compare): Remove "No differences encountered" or
10091         synonymous output from the 'diff' program.
10092
10093 2011-11-13  Bruno Haible  <bruno@clisp.org>
10094
10095         Makefile: Tweak indentation.
10096         * Makefile: Use tab as first character in every line that contains rule
10097         commands.
10098
10099 2011-11-13  Bruno Haible  <bruno@clisp.org>
10100
10101         Syntax check for copyright statements.
10102         * check-copyright: New file.
10103         * Makefile (sc_check_copyright): New rule.
10104
10105 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10106
10107         * build-aux/git-version-gen: Add --prefix to configure the tag
10108         match string.
10109
10110 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10111
10112         * build-aux/git-version-gen: Add --help and --version.
10113
10114 2011-11-12  Jim Meyering  <meyering@redhat.com>
10115
10116         revamp the other test-exclude?.sh scripts to use init.sh, too
10117         * tests/test-exclude1.sh: Use init.sh.
10118         * tests/test-exclude2.sh: Likewise.
10119         * tests/test-exclude3.sh: Likewise.
10120         * tests/test-exclude4.sh: Likewise.
10121         * tests/test-exclude5.sh: Likewise.
10122         * tests/test-exclude6.sh: Likewise.
10123         * tests/test-exclude7.sh: Likewise.
10124         * tests/test-exclude8.sh: Likewise.
10125         * modules/exclude-tests (Files): List init.sh.
10126
10127         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
10128         These shell scripts ignored failure of the binary test-exclude,
10129         so making the latter return 77 didn't cause them to be skipped.
10130         * tests/test-exclude5.sh: Exit with test-exclude's error status
10131         when that program fails.  Revamp to use init.sh.
10132         * tests/test-exclude2.sh: Likewise.
10133
10134         test-exclude: fix a typo
10135         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
10136
10137 2011-11-11  Bruno Haible  <bruno@clisp.org>
10138
10139         obstack: Fix compilation error on MSVC 9.
10140         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
10141
10142 2011-11-11  Jim Meyering  <meyering@redhat.com>
10143
10144         test-exclude: skip tests rather than failing on deficient systems
10145         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
10146         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
10147         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
10148         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
10149
10150 2011-11-10  Bruno Haible  <bruno@clisp.org>
10151
10152         ptsname_r test: Avoid gcc warning on glibc systems.
10153         * tests/test-ptsname_r.c (null_ptr): New function.
10154         (test_errors): Use it.
10155
10156 2011-11-10  Bruno Haible  <bruno@clisp.org>
10157
10158         ptsname_r: Avoid compilation error on OSF/1 5.1.
10159         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
10160         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
10161         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
10162         function is not declared or incompatibly declared.
10163         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
10164         * modules/ptsname_r (Depends-on, configure.ac): Update.
10165         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
10166
10167 2011-11-10  Bruno Haible  <bruno@clisp.org>
10168
10169         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
10170         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
10171         When cross-compiling, guess yes on all platforms except AIX.
10172         Reported by Ludovic Courtès <ludo@gnu.org>.
10173
10174 2011-11-09  Bruno Haible  <bruno@clisp.org>
10175
10176         ptsname_r tests: Fix bugs.
10177         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
10178         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
10179
10180 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10181
10182         fstatat: work with cross-compilation
10183         Problem reported by Ludovic Courtès in
10184         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
10185         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
10186         "cross-compiling" and assume the bug is present.  Replace
10187         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
10188         an inverted sense, to be more conservative about our assumptions.
10189         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
10190
10191 2011-11-09  Bruno Haible  <bruno@clisp.org>
10192
10193         Improve MODULES.html output.
10194         * modules/mkfifoat (Description): Use the word "function".
10195         * modules/readlinkat (Description): Likewise.
10196         * modules/symlinkat (Description): Likewise.
10197
10198 2011-11-09  Eric Blake  <eblake@redhat.com>
10199
10200         ptsname_r-tests: new test module
10201         * modules/ptsname_r-tests: New module.
10202         * tests/test-ptsname_r.c: New file.
10203
10204         ptsname_r: new module
10205         * modules/ptsname_r: New module.
10206         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
10207         * lib/ptsname.c (__ptsname_r): Split...
10208         * lib/ptsname_r.c: ...into new file.
10209         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10210         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
10211         * modules/stdlib (Makefile.am): Substitute witnesses.
10212         * lib/stdlib.in.h (ptsname_r): Declare it.
10213         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
10214         * MODULES.html.sh (Misc): Likewise.
10215         * modules/ptsname (Depends-on): Alter dependency.
10216         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
10217
10218 2011-11-09  Jim Meyering  <meyering@redhat.com>
10219
10220         announce-gen: be more concise when there's only one URL+tarball
10221         * build-aux/announce-gen (get_tool_versions): When you distribute
10222         only one type of tarball, combine the first two "Here are..."
10223         sections and make the key-checking grammar independent of
10224         how many tarballs there are.
10225
10226 2011-11-09  Eric Blake  <eblake@redhat.com>
10227
10228         openpty: provide a stub on mingw
10229         * lib/pty.in.h (includes): Provide forward declarations.
10230         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
10231
10232         raise: fix mingw handling of SIGPIPE
10233         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
10234
10235 2011-11-08  Bruno Haible  <bruno@clisp.org>
10236
10237         More conditional dependencies.
10238         * modules/faccessat (Depends-on): Add conditions.
10239         * modules/fchmodat (Depends-on): Likewise.
10240         * modules/fchownat (Depends-on): Likewise.
10241         * modules/fstatat (Depends-on): Likewise.
10242         * modules/mkfifoat (Depends-on): Likewise.
10243         * modules/readlinkat (Depends-on): Likewise.
10244         * modules/symlinkat (Depends-on): Likewise.
10245         * modules/unlinkat (Depends-on): Likewise.
10246         * modules/utimensat (Depends-on): Likewise.
10247         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
10248         * modules/linkat (Depends-on): Refine the conditions.
10249         * modules/renameat (Depends-on): Likewise.
10250
10251 2011-11-08  Bruno Haible  <bruno@clisp.org>
10252
10253         faccessat: Move AC_LIBOBJ invocation to module description.
10254         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
10255         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
10256         invocation from here...
10257         * modules/faccessat (configure.ac): ... to here. Invoke
10258         gl_PREREQ_FACCESSAT.
10259
10260 2011-11-08  Bruno Haible  <bruno@clisp.org>
10261
10262         faccessat: Simplify autoconf macro.
10263         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
10264         gl_FUNC_EUIDACCESS.
10265
10266 2011-11-08  Bruno Haible  <bruno@clisp.org>
10267
10268         renameat: Fix dependencies.
10269         * modules/renameat (Depends-on): Add stdbool.
10270
10271 2011-11-08  Bruno Haible  <bruno@clisp.org>
10272
10273         mkfifoat: Fix module description.
10274         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
10275         not gl_UNISTD_MODULE_INDICATOR.
10276
10277 2011-11-08  Bruno Haible  <bruno@clisp.org>
10278
10279         fstatat: Remove unused dependency.
10280         * modules/fstatat (Depends-on): Remove fstat.
10281
10282 2011-11-08  Simon Josefsson  <simon@josefsson.org>
10283
10284         GNUmakefile: behave when Makefile is missing.
10285         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
10286
10287 2011-11-08  Bruno Haible  <bruno@clisp.org>
10288
10289         openat: Conditionalize dependencies.
10290         * lib/openat.c: Reduce the scope of some #includes.
10291         * modules/openat (Depends-on): Add conditions.
10292
10293 2011-11-07  Jim Meyering  <meyering@redhat.com>
10294
10295         maint.mk: extract GPG key ID without using a temporary file
10296         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
10297         without using a temporary file.  Based on a suggestion from Werner Koch
10298         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
10299
10300 2011-11-07  Eric Blake  <eblake@redhat.com>
10301
10302         grantpt: fix typo
10303         * lib/stdlib.in.h (grantpt): Check correct function.
10304
10305         maint.mk: silence new syntax check
10306         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
10307
10308 2011-11-06  Bruno Haible  <bruno@clisp.org>
10309
10310         Doc about floating-point and math API.
10311         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
10312         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
10313
10314 2011-11-06  Bruno Haible  <bruno@clisp.org>
10315
10316         stdalign tests: Skip the test when compiled by Sun C.
10317         * tests/test-stdalign.c (main): Skip the test on Sun C.
10318
10319 2011-11-06  Bruno Haible  <bruno@clisp.org>
10320
10321         ansi-c++-opt: Complete the 2011-06-05 change.
10322         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
10323         does not support namespaces, set the variable to "no", not to ":".
10324
10325 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
10326
10327         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
10328
10329 2011-11-06  Bruno Haible  <bruno@clisp.org>
10330
10331         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
10332         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
10333         (minus_zerol) [HP-UX]: New macro.
10334         (unary_minus) [HP-UX]: New function.
10335         (copysignl) [HP-UX]: Use unary_minus function.
10336
10337 2011-11-06  Bruno Haible  <bruno@clisp.org>
10338
10339         ldexp, ldexpf, ldexpl: Enhance tests.
10340         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
10341         and tests/test-ldexpl.c.
10342         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
10343         LDEXP, MIN_EXP, MAX_EXP): New macros.
10344         Include test-ldexp.h.
10345         (main): Just call test_function.
10346         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
10347         infinity.h, nan.h.
10348         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10349         MAX_EXP): New macros.
10350         Include test-ldexp.h.
10351         (x, y): Remove variables.
10352         (main): Just call test_function.
10353         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
10354         infinity.h, nan.h.
10355         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10356         MAX_EXP): New macros.
10357         Include test-ldexp.h.
10358         (x, y): Remove variables.
10359         (main): Just call test_function.
10360         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
10361         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
10362         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10363         (Depends-on): Add isnand-nolibm, signbit, float.
10364         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
10365         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10366         (Depends-on): Add isnanf-nolibm, signbit, float.
10367
10368 2011-11-06  Bruno Haible  <bruno@clisp.org>
10369
10370         math tests: Cosmetics.
10371         * tests/test-math-c++.cc: Reorder declarations.
10372
10373 2011-11-05  Bruno Haible  <bruno@clisp.org>
10374
10375         fma*: Simplify test.
10376         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
10377         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
10378
10379         Tests for module 'fmal'.
10380         * modules/fmal-tests: New file.
10381         * tests/test-fmal1.c: New file.
10382         * tests/test-fmal2.c: New file.
10383
10384         New module 'fmal'.
10385         * lib/math.in.h (fmal): New declaration.
10386         * lib/fmal.c: New file.
10387         * m4/fmal.m4: New file.
10388         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
10389         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
10390         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
10391         REPLACE_FMAL.
10392         * modules/fmal: New file.
10393         * doc/posix-functions/fmal.texi: Mention the new module and the various
10394         bugs.
10395
10396         Tests for module 'fmaf'.
10397         * modules/fmaf-tests: New file.
10398         * tests/test-fmaf1.c: New file.
10399         * tests/test-fmaf2.c: New file.
10400
10401         New module 'fmaf'.
10402         * lib/math.in.h (fmaf): New declaration.
10403         * lib/fmaf.c: New file.
10404         * m4/fmaf.m4: New file.
10405         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
10406         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
10407         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
10408         REPLACE_FMAF.
10409         * modules/fmaf: New file.
10410         * doc/posix-functions/fmaf.texi: Mention the new module and the various
10411         bugs.
10412
10413         Tests for module 'fma'.
10414         * modules/fma-tests: New file.
10415         * tests/test-fma1.c: New file.
10416         * tests/test-fma1.h: New file.
10417         * tests/test-fma2.c: New file.
10418         * tests/test-fma2.h: New file.
10419
10420         New module 'fma'.
10421         * lib/math.in.h (fma): New declaration.
10422         * lib/fma.c: New file.
10423         * m4/fma.m4: New file.
10424         * m4/fegetround.m4: New file.
10425         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
10426         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
10427         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
10428         REPLACE_FMA.
10429         * modules/fma: New file.
10430         * doc/posix-functions/fma.texi: Mention the new module and the various
10431         bugs.
10432
10433         Extend gl_MATHFUNC.
10434         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
10435         Support 'void' as argument type.
10436         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
10437
10438 2011-11-05  Jim Meyering  <meyering@redhat.com>
10439
10440         maint.mk: also prohibit inclusion of dirent.h without use
10441         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
10442
10443 2011-11-05  Bruno Haible  <bruno@clisp.org>
10444
10445         ldexpl tests: Avoid test failure on MSVC 9.
10446         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
10447         value. Needed in order to enforce the conversion from a value greater
10448         than LDBL_MAX to Infinity.
10449
10450 2011-11-05  Bruno Haible  <bruno@clisp.org>
10451
10452         New modules 'at-internal', 'openat-h', split off from module 'openat'.
10453         * modules/at-internal: New file, extracted from modules/openat.
10454         * modules/openat-h: New file.
10455         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
10456         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
10457         * modules/openat (Description): Add reference to POSIX function.
10458         (Files): Remove lib/openat.h, lib/openat-proc.c.
10459         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
10460         intprops, unistd.
10461         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
10462         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
10463         gl_FCNTL_MODULE_INDICATOR.
10464         (Include): Remove unistd.h, openat.h.
10465         * modules/areadlinkat (Files): Add lib/at-func.c.
10466         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10467         openat-die, openat-h, save-cwd.
10468         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
10469         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10470         openat-die, openat-h, save-cwd, unistd.
10471         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
10472         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10473         openat-h, save-cwd. Remove fcntl-h, openat.
10474         * modules/fchmodat (Files): Remove lib/openat.h.
10475         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10476         openat, stdbool, unistd.
10477         * modules/fchownat (Files): Remove lib/openat.h.
10478         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10479         openat, stdbool, sys_stat.
10480         * modules/fdopendir (Files): Remove lib/openat-priv.h,
10481         lib/openat-proc.c.
10482         (Depends-on): Add at-internal.
10483         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
10484         * modules/fstatat (Files): Remove lib/openat.h.
10485         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10486         stdbool, unistd.
10487         * modules/fts (Depends-on): Add openat-h.
10488         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
10489         openat.
10490         * modules/mkdirat (Files): Remove lib/openat.h.
10491         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10492         openat, stdbool, sys_stat.
10493         * modules/mkfifoat (Files): Add lib/at-func.c.
10494         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10495         openat-h, save-cwd. Remove fcntl-h, openat.
10496         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
10497         * modules/readlinkat (Files): Add lib/at-func.c.
10498         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10499         openat-h, save-cwd. Remove fcntl-h, openat.
10500         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
10501         openat.
10502         * modules/selinux-at (Files): Add lib/at-func.c.
10503         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10504         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
10505         * modules/symlinkat (Files): Add lib/at-func.c.
10506         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10507         openat-h, save-cwd. Remove fcntl-h, openat.
10508         * modules/unlinkat (Files): Remove lib/openat.h.
10509         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10510         stdbool.
10511         * modules/utimensat (Files): Add lib/at-func.c.
10512         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
10513         openat-die, openat-h, save-cwd.
10514         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
10515         * modules/fdutimensat-tests (Depends-on): Add openat.
10516         * modules/fstatat-tests (Depends-on): Add openat-h.
10517         * modules/readlinkat-tests (Depends-on): Add openat.
10518         * modules/symlinkat-tests (Depends-on): Add openat.
10519
10520 2011-11-05  Bruno Haible  <bruno@clisp.org>
10521
10522         openat: Include <stdbool.h>.
10523         * lib/openat.c: Include <stdbool.h>.
10524
10525 2011-11-04  Bruno Haible  <bruno@clisp.org>
10526
10527         fchownat, renameat, unlinkat: Fix dependencies.
10528         * modules/fchownat (Depends-on): Add fstatat.
10529         * modules/renameat (Depends-on): Likewise.
10530         * modules/unlinkat (Depends-on): Likewise.
10531
10532 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
10533
10534         openat: remove direct dependency on dirent
10535         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
10536         and hasn't been needed ever since fdopendir was split into its own
10537         module on 2009-08-31.
10538         * modules/openat (Depends-on): Remove dirent.
10539
10540 2011-11-04  Bruno Haible  <bruno@clisp.org>
10541
10542         renameat: Optimize code size.
10543         * modules/renameat (configure.ac): Don't compile at-func2.c if
10544         REPLACE_RENAMEAT is 1.
10545
10546 2011-11-04  Bruno Haible  <bruno@clisp.org>
10547
10548         openat tests: Fix file list.
10549         * modules/openat-tests (Files): Add tests/test-open.h.
10550
10551 2011-11-04  Bruno Haible  <bruno@clisp.org>
10552
10553         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
10554         * modules/fchmodat (Depends-on): Add openat-die.
10555         * modules/fchownat (Depends-on): Likewise.
10556         * modules/linkat (Depends-on): Likewise.
10557         * modules/renameat (Depends-on): Likewise.
10558         * modules/openat (Depends-on): Add dirent.
10559
10560 2011-11-04  Jim Meyering  <meyering@redhat.com>
10561
10562         at-func*.c: fix comments
10563         * lib/at-func2.c: Correct/improve first-line comment.
10564         * lib/at-func.c: Correct grammar in first-line comment.
10565
10566 2011-11-04  Bruno Haible  <bruno@clisp.org>
10567
10568         New module 'mkdirat', split off from module 'openat'.
10569         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
10570         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
10571         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
10572         * modules/mkdirat: New file, extracted from modules/openat.
10573         * modules/openat (Files): Remove lib/mkdirat.c.
10574         (Depends-on): Remove mkdir.
10575         (configure.ac): Remove AC_LIBOBJ of mkdirat.
10576         (Include): Remove <sys/stat.h>.
10577         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
10578         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
10579         tests/test-mkdir.h.
10580         (Depends-on): Remove ignore-value.
10581         (Makefile.am): Remove rules for test-mkdirat.
10582         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
10583         of module 'openat'.
10584         * NEWS: Mention the change.
10585
10586 2011-11-04  Bruno Haible  <bruno@clisp.org>
10587
10588         closedir: Avoid warning on mingw.
10589         * lib/closedir.c: Include <unistd.h>.
10590
10591 2011-11-04  Bruno Haible  <bruno@clisp.org>
10592
10593         New module 'fstatat', split off from module 'openat'.
10594         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
10595         defined.
10596         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
10597         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
10598         gl_FUNC_FSTATAT.
10599         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
10600         * modules/fstatat: New file, extracted from modules/openat.
10601         * modules/openat (Files): Remove lib/fstatat.c.
10602         (Depends-on): Remove lstat.
10603         (configure.ac): Remove AC_LIBOBJ of fstatat.
10604         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
10605         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
10606         tests/test-lstat.h, tests/test-stat.h.
10607         (Depends-on): Remove getcwd-lgpl.
10608         (Makefile.am): Remove rules for test-fstatat.
10609         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
10610         of module 'openat'.
10611         * NEWS: Mention the change.
10612         * modules/getcwd (Depends-on): Add fstatat.
10613         * modules/linkat (Depends-on): Likewise.
10614         * modules/mkfifoat-tests (Depends-on): Likewise.
10615         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
10616
10617 2011-11-03  Bruno Haible  <bruno@clisp.org>
10618
10619         New module 'unlinkat', split off from module 'openat'.
10620         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
10621         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
10622         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
10623         * modules/unlinkat: New file, extracted from modules/openat. Correct
10624         the dependency conditions.
10625         * modules/openat (Files): Remove lib/unlinkat.c.
10626         (Depends-on): Remove rmdir, unlink.
10627         (configure.ac): Remove AC_LIBOBJ of unlinkat.
10628         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
10629         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
10630         tests/test-rmdir.h, tests/test-unlink.h.
10631         (Depends-on): Remove unlinkdir.
10632         (Makefile.am): Remove rules for test-unlinkat.
10633         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
10634         of module 'openat'.
10635         * NEWS: Mention the change.
10636         * modules/linkat-tests (Depends-on): Add unlinkat.
10637         * modules/mkfifoat-tests (Depends-on): Likewise.
10638         * modules/readlinkat-tests (Depends-on): Likewise.
10639
10640 2011-11-02  Bruno Haible  <bruno@clisp.org>
10641
10642         New module 'fchmodat', split off from module 'openat'.
10643         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
10644         defined.
10645         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
10646         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
10647         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
10648         * modules/fchmodat: New file, extracted from modules/openat.
10649         * modules/openat (Files): Remove lib/fchmodat.c.
10650         (configure.ac): Remove AC_LIBOBJ of fchmodat.
10651         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
10652         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
10653         (Makefile.am): Remove rules for test-fchmodat.
10654         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
10655         of module 'openat'.
10656         * NEWS: Mention the change.
10657
10658 2011-11-02  Jim Meyering  <meyering@redhat.com>
10659
10660         putenv: indent #definition of "environ" to placate cppi
10661         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
10662
10663         gitlog-to-changelog: provide a ChangeLog-repair mechanism
10664         Git logs are often treated as immutable, because editing them
10665         changes the SHA1 checksums of all descendants.  Thus, errors in
10666         git logs tend to stay there forever.  However, when we generate
10667         a ChangeLog file -- typically for distribution -- from that git log,
10668         we can actually make corrections in the generated file.  The key
10669         lies in recording in machine-readable/applicable form the desired
10670         corrections.  See --help for description and an example.
10671         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
10672         (usage): Describe it; alphabetize option descriptions.
10673         (main): Honor the new option, carefully.
10674
10675 2011-11-01  Jim Meyering  <meyering@redhat.com>
10676
10677         gitlog-to-changelog: avoid an infloop
10678         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
10679         that ends up being empty.
10680
10681 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10682
10683         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
10684         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
10685         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
10686         contains (possibly-quoted) backslashes.  This should avoid
10687         all-too-common shell bugs if COMPLICATED contains backslashes in
10688         the "wrong" places.  Reported by David Evans in
10689         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
10690         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
10691         because we want ASCII ranges.  Is there some reason we don't use
10692         the C locale everywhere in this script?
10693         (func_module, top level): Avoid unwanted pathname expansion when
10694         $repo_url_prefix or $repo_url_suffix_repl contain shell
10695         metacharacters like '?' and '*'.
10696
10697 2011-11-01  Bruno Haible  <bruno@clisp.org>
10698
10699         fchownat: Improve description.
10700         * modules/fchownat (Description): Add link to function.
10701
10702 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10703
10704         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
10705         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
10706         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
10707         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
10708
10709 2011-11-01  Bruno Haible  <bruno@clisp.org>
10710
10711         alignof: Avoid collision with stdalign module.
10712         * lib/alignof.h (alignof): Remove macro.
10713         * NEWS: Mention the change.
10714         Reported by Paul Eggert.
10715
10716 2011-11-01  Bruno Haible  <bruno@clisp.org>
10717
10718         New module 'fchownat', split off from module 'openat'.
10719         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
10720         defined.
10721         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
10722         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
10723         invoke gl_FUNC_FCHOWNAT.
10724         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
10725         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
10726         * modules/fchownat: New file, extracted from modules/openat.
10727         * modules/openat (Files): Remove lib/fchownat.c.
10728         (Depends-on): Remove lchown.
10729         (configure.ac): Remove AC_LIBOBJ of fchownat.
10730         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
10731         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
10732         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
10733         (Depends-on): Remove mgetgroups, usleep, stat-time.
10734         (configure.ac): Remove test for getegid.
10735         (Makefile.am): Remove rules for test-fchownat.
10736         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
10737         of module 'openat'.
10738         * NEWS: Mention the change.
10739
10740 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
10741
10742         stdalign: port better to MSVC and to Sun C 5.11
10743         This fixes some of the problems reported by Bruno Haible in
10744         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
10745         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
10746         shortcomings of MSVC and of Sun C 5.11.
10747         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
10748         around __declspec arg.
10749         * modules/stdalign-tests (Files): Add tests/macros.h.
10750         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
10751         Include macros.h, for ASSERT.
10752         (DECLARE_ALIGNED): Remove.
10753         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
10754         to catch bug), and to 1 if not (simplifies the rest of the code).
10755         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
10756         (CHECK_AUTO): Remove.
10757         (CHECK_ALIGNED): Check only the alignment of the static vars,
10758         since auto var alignment isn't supported by Sun C 5.11.
10759         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
10760         ASSERT failures are easier to diagnose.
10761
10762 2011-10-31  Bruno Haible  <bruno@clisp.org>
10763
10764         doc about some IRIX 5.3 problems.
10765         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
10766         on IRIX 5.3.
10767         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
10768         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
10769         5.3.
10770         * doc/posix-functions/grantpt.texi: Likewise.
10771         * doc/posix-functions/unlockpt.texi: Likewise.
10772         * doc/posix-functions/lgamma.texi: Likewise.
10773         * doc/posix-functions/nextafter.texi: Likewise.
10774         * doc/posix-functions/remainder.texi: Likewise.
10775         * doc/posix-functions/select.texi: Mention misplaced declaration on
10776         IRIX 5.3.
10777         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10778
10779 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
10780
10781         gitlog-to-changelog: fix git-log invocation.
10782         git-log mishandles date strings before 1970-01-01 UTC, and there is
10783         no use to specify --since=1970-01-01 by default anyway.
10784         * build-aux/gitlog-to-changelog: By default, when no --since option
10785         was given, do not specify explicit --since option to git-log.
10786
10787 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
10788
10789         gitlog-to-changelog: new option --append-dot.
10790         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
10791         first non-blank line of each commit message terminated with a dot.
10792
10793 2011-10-30  Bruno Haible  <bruno@clisp.org>
10794
10795         ffsl, ffsll: Avoid compilation error due to 'restrict'.
10796         * lib/ffsl.h: Include <config.h>.
10797         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
10798
10799 2011-10-30  Jim Meyering  <meyering@redhat.com>
10800
10801         GNUmakefile: reenable "make syntax-check" for most projects
10802         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
10803         build-aux variable", "syntax-check" would do nothing but succeed with
10804         the "No version control files detected..." diagnostic (unless you
10805         happened to override _build-aux via cfg.mk).
10806         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
10807         to precede inclusion of maint.mk.  Otherwise, these variables would
10808         be used undefined in any project that does not override the default.
10809
10810 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
10811
10812         gitlog-to-changelog: treat a message with only blank lines as empty.
10813         * build-aux/gitlog-to-changelog: Move the code that removes leading and
10814         trailing blank lines before the code that issues a warning about an
10815         empty commit message.
10816
10817 2011-10-30  Jim Meyering  <meyering@redhat.com>
10818
10819         test-parse-datetime.c: avoid new DST-related false positive test failure
10820         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
10821         based on the time/date we'll convert, not the current time.
10822         Otherwise, the moment we cross a DST boundary like today's in
10823         Europe, (CEST to CET), that offset ends up being one hour off.
10824
10825 2011-10-27  Bruno Haible  <bruno@clisp.org>
10826
10827         fstat: Tweak documentation.
10828         * modules/fstat (Description): More precise description.
10829
10830 2011-10-27  Bruno Haible  <bruno@clisp.org>
10831
10832         Update documentation regarding 'largefile' module.
10833         * doc/posix-functions/fstat.texi: Tweak wording.
10834         * doc/posix-functions/opendir.texi: Mention that the module fixes the
10835         problems with huge directories and/or small ino_t types.
10836         * doc/posix-functions/readdir.texi: Likewise.
10837         * doc/posix-functions/rewinddir.texi: Likewise.
10838
10839 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
10840
10841         maint.mk: don't maintain a second build-aux variable.
10842         * maint.mk (build_aux): Removed.  The maintainer-makefile module
10843         depends on GNUmakefile, which already maintains a cfg.mk
10844         overridable $(_build-aux) for projects with a non-standard
10845         build-aux directory location, although without the $(srcdir)
10846         prefix.  Use that variable consistently instead of introducing a
10847         second one.  Adjust all call sites.
10848
10849 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
10850
10851         Add stdalign module and use it in other modules.
10852         This is based on a previous proposal by Bruno Haible
10853         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
10854
10855         stdalign: new module
10856         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
10857         * modules/stdalign: New files.
10858         * MODULES.html.sh (c1x_core_properties): Add stdalign.
10859         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
10860
10861         stdalign-tests: new module
10862         * modules/stdalign-tests, tests/test-stdalign.c: New files.
10863
10864         argp: use stdalign
10865         * lib/argp-parse.c: Include <stdalign.h>.
10866         (alignof): Remove.
10867         * modules/argp (Depends-on): Add stdalign.
10868
10869         crypto libraries: use stdalign
10870         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
10871         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
10872         Do not include <stdlib.h> twice, in md4.c.
10873         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
10874         because we are accessing a pointer's bit-pattern, not a size.
10875         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
10876         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
10877         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
10878         * modules/crypto/sha512: Likewise.
10879
10880         sys_socket: use stdalign, not alignof
10881         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
10882         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
10883
10884 2011-10-27  Bruno Haible  <bruno@clisp.org>
10885
10886         raise test: Avoid a test failure on Linux/MIPS.
10887         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
10888         because 99 is a valid signal on Linux/MIPS.
10889
10890 2011-10-27  Bruno Haible  <bruno@clisp.org>
10891
10892         nonblocking tests: Fix test failure on Linux/MIPS.
10893         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
10894         Set to 270000.
10895
10896 2011-10-27  Bruno Haible  <bruno@clisp.org>
10897
10898         utimensat: Work around problem on Linux/hppa.
10899         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
10900         values.
10901         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
10902
10903 2011-10-25  Jim Meyering  <meyering@redhat.com>
10904
10905         maint.mk: fix a bug in sc_prohibit_stddef_without_use
10906         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
10907         after symbols like NULL, size_t, etc.
10908         Reported by Alfred M. Szmidt.
10909
10910         maint.mk: exempt ENODATA from a syntax-check rule
10911         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
10912         from the sc_prohibit_always-defined_macros syntax-check rule.
10913         Add a comment.  See this for more details:
10914         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
10915
10916 2011-10-23  Jim Meyering  <meyering@redhat.com>
10917
10918         fts: close parent dir FD before returning from post-traversal fts_read
10919         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
10920         unlink A, even though an FD open on A remained.  This is suboptimal
10921         (holding a file descriptor open longer than needed), but otherwise not
10922         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
10923         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
10924         that represents a real problem: it causes the removal of A to fail
10925         with e.g., "rm: cannot remove `A': Device or resource busy"
10926
10927         fts visits each directory twice and keeps a cache (fts_fd_ring) of
10928         directory file descriptors.  After completing the final, FTS_DP,
10929         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
10930         cache, but then proceeded to add a new FD to it via the subsequent
10931         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
10932         final file descriptor would be closed only via fts_close's call to
10933         fd_ring_clear.  Now, it is usually closed earlier, via the final
10934         FTS_DP-returning fts_read call.
10935         * lib/fts.c (restore_initial_cwd): New function, converted from
10936         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
10937         Update callers.
10938         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
10939         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
10940
10941 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
10942             Bruno Haible  <bruno@clisp.org>
10943             Jim Meyering  <jim@meyering.net>
10944
10945         readme-release: improve safety of release prep instructions.
10946         * README-release: Don't git pull all branches when only master
10947         is needed for the release process.
10948         Run make maintainer-clean before changing trees and merging.
10949         Don't try to run ./configure right after git pull in case files
10950         that influence the bootstrap process have changed, move the
10951         ./configure step to after running ./bootstrap.
10952         Don't bootstrap "one last time"... it's the first time!
10953
10954 2011-10-22  Bruno Haible  <bruno@clisp.org>
10955
10956         errno, strerror-override: Support for MSVC 10.
10957         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
10958         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
10959         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
10960         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
10961         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
10962         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
10963         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
10964         Assign values compatible with MSVC 10.
10965         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
10966         New macros.
10967         (GNULIB_defined_EWINSOCK): New macro.
10968         * lib/strerror-override.c (strerror_override): Update accordingly.
10969         * lib/strerror-override.h: Likewise.
10970         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
10971         longer equal to the corresponding errno value.
10972         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10973
10974 2011-10-22  Bruno Haible  <bruno@clisp.org>
10975
10976         perror: Recognize when test program crashes.
10977         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
10978         strerror, set gl_cv_func_perror_works to no.
10979         Reported by Daniel Richard G. <skunk@iskunk.org>.
10980
10981         perror: Fix indentation.
10982         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
10983
10984 2011-10-22  Bruno Haible  <bruno@clisp.org>
10985
10986         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
10987         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
10988         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
10989         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
10990         functions, not as a macro.
10991         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
10992         macros.
10993         (isfinite, isinf, isnan, signbit): Check overloaded functions and
10994         absence of macro.
10995         Suggested by Eric Blake.
10996         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10997
10998 2011-10-21  Bruno Haible  <bruno@clisp.org>
10999
11000         relocatable-prog-wrapper: Don't leave object files behind.
11001         * build-aux/install-reloc: Re-synchronize list of .o files to be
11002         removed with list of compilation units.
11003
11004 2011-10-20  Bruno Haible  <bruno@clisp.org>
11005
11006         openpty, posix_openpt: Remove code duplication.
11007         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
11008         * lib/openpty.c: Include <stdlib.h>.
11009         (openpty): Use posix_openpt on all platforms except IRIX.
11010         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
11011
11012 2011-10-20  Bruno Haible  <bruno@clisp.org>
11013
11014         unlockpt: Detect invalid argument.
11015         * lib/unlockpt.c: Include <fcntl.h>.
11016         (unlockpt): Check whether fd is valid, using fcntl().
11017         * modules/unlockpt (Depends-on): Add fcntl-h.
11018
11019 2011-10-20  Bruno Haible  <bruno@clisp.org>
11020
11021         openpty: Avoid compilation error on AIX 6.1.
11022         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
11023
11024 2011-10-20  Bruno Haible  <bruno@clisp.org>
11025
11026         posix_openpt: Support for OpenBSD.
11027         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
11028         (posix_openpt) [OpenBSD]: New code.
11029         * lib/grantpt.c: Include <fcntl.h>.
11030         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
11031         * modules/grantpt (Depends-on): Add fcntl-h.
11032
11033 2011-10-20  Bruno Haible  <bruno@clisp.org>
11034
11035         posix_openpt test: Coding style.
11036         * tests/test-posix_openpt.c: Use GNU coding style.
11037
11038 2011-10-20  Bruno Haible  <bruno@clisp.org>
11039
11040         grantpt: Support --avoid=pt_chown.
11041         * modules/grantpt (Files): Add lib/pty-private.h.
11042
11043 2011-10-20  Bruno Haible  <bruno@clisp.org>
11044
11045         posix_openpt: Fix autoconf macro.
11046         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
11047         unneeded check for _getpty.
11048
11049 2011-10-20  Bruno Haible  <bruno@clisp.org>
11050
11051         openpty: Update comments.
11052         * lib/openpty.c: Add comments about Minix.
11053
11054 2011-10-19  Eric Blake  <eblake@redhat.com>
11055
11056         openpty: relax license
11057         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
11058
11059         pt_chown: use configmake to simplify build
11060         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
11061
11062         ptsname and others: relax license
11063         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
11064         * modules/unlockpt (License): Likewise.
11065         * modules/pt_chown (License): Likewise.
11066         * modules/ptsname (License): Likewise.
11067         * modules/ttyname_r (License): Likewise.
11068
11069 2011-10-19  Jim Meyering  <meyering@redhat.com>
11070
11071         posix_openpt: remove spurious #endif
11072         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
11073
11074 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
11075
11076         maint.mk: Respect $(build_aux) in web-manual rule.
11077         * top/maint.mk (web-manual): Find gen-announce script in user's
11078         $(build_aux) directory instead of hard-coding 'build-aux'.
11079
11080 2011-10-19  Bruno Haible  <bruno@clisp.org>
11081
11082         posix_openpt: Fix compilation error.
11083         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
11084         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
11085         Mention the openpty module as an alternative.
11086
11087 2011-10-19  Bruno Haible  <bruno@clisp.org>
11088
11089         Support for old NeXTstep 3.3 frexp().
11090         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
11091         execution time of the test to 5 seconds.
11092         Reported by Daniel Richard G. <skunk@iskunk.org>.
11093
11094 2011-10-19  Bruno Haible  <bruno@clisp.org>
11095
11096         Support for old NeXTstep 3.3 sed.
11097         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
11098         part, use /.../, not \|...|. Escape periods in the header file name.
11099         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
11100         Reported by Daniel Richard G. <skunk@iskunk.org>.
11101
11102 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11103
11104         Support for old NeXTstep 3.3 gcc.
11105         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
11106         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
11107         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
11108         * lib/spawn.in.h (_Restrict_arr_): Likewise.
11109         * lib/regex.h (_Restrict_arr_): Likewise.
11110         * lib/regex_internal.h (re_token_t): Likewise.
11111         * lib/regexec.c (check_node_accept_bytes): Likewise.
11112         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
11113
11114 2011-10-18  Eric Blake  <eblake@redhat.com>
11115
11116         posix_openpt: new module
11117         * modules/posix_openpt: New module.
11118         * m4/posix_openpt.m4: New file.
11119         * lib/posix_openpt.c: Likewise.
11120         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
11121         (gl_STDLIB_H_DEFAULTS): Set defaults.
11122         * modules/stdlib (Makefile.am): Substitute macros.
11123         * lib/stdlib.in.h (posix_openpt): Declare.
11124         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
11125         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
11126         * modules/posix_openpt-tests: New test module.
11127         * tests/test-posix_openpt.c: New test.
11128
11129 2011-10-15  Bruno Haible  <bruno@clisp.org>
11130
11131         xstrtoll: Fix compilation failure.
11132         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
11133         from lib/strtol.c.
11134         * doc/posix-headers/limits.texi: Mention missing numerical limits on
11135         some platforms.
11136         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11137
11138 2011-10-15  Bruno Haible  <bruno@clisp.org>
11139
11140         vasnprintf: Optimize bit search operation.
11141         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
11142         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
11143         gl_DOUBLE_EXPONENT_LOCATION.
11144         * modules/vasnprintf (Files): Add m4/exponentd.m4.
11145         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11146         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11147         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11148         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11149         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11150         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11151         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11152         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
11153
11154 2011-10-15  Bruno Haible  <bruno@clisp.org>
11155
11156         vasnprintf: Fix comments.
11157         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
11158
11159 2011-10-14  Bruno Haible  <bruno@clisp.org>
11160
11161         Tests for module 'integer_length_ll'.
11162         * modules/integer_length_ll-tests: New file.
11163         * tests/test-integer_length_ll.c: New file.
11164
11165         New module 'integer_length_ll'.
11166         * lib/integer_length_ll.c: New file.
11167         * modules/integer_length_ll: New file.
11168
11169 2011-10-14  Bruno Haible  <bruno@clisp.org>
11170
11171         Tests for module 'integer_length_l'.
11172         * modules/integer_length_l-tests: New file.
11173         * tests/test-integer_length_l.c: New file.
11174
11175         New module 'integer_length_l'.
11176         * lib/integer_length_l.c: New file.
11177         * modules/integer_length_l: New file.
11178
11179 2011-10-14  Bruno Haible  <bruno@clisp.org>
11180
11181         Tests for module 'integer_length'.
11182         * modules/integer_length-tests: New file.
11183         * tests/test-integer_length.c: New file.
11184
11185         New module 'integer_length'.
11186         * lib/integer_length.h: New file.
11187         * lib/integer_length.c: New file.
11188         * modules/integer_length: New file.
11189
11190 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11191
11192         popen: Fix dependency conditions.
11193         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
11194
11195 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11196
11197         perror: Fix autoconf test.
11198         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
11199         <stdlib.h> and <string.h>.
11200
11201 2011-10-14  Bruno Haible  <bruno@clisp.org>
11202
11203         ffsl: Optimize on 64-bit platforms.
11204         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
11205         unrolling.
11206
11207 2011-10-13  Bruno Haible  <bruno@clisp.org>
11208
11209         ffsl: Optimize on 32-bit platforms.
11210         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
11211         use ffs() without a loop.
11212
11213         ffsl, ffsll: Optimize for GCC.
11214         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
11215         * lib/ffsl.c (GCC_BUILTIN): New macro.
11216         * lib/ffsll.c (GCC_BUILTIN): Likewise.
11217
11218 2011-10-13  Bruno Haible  <bruno@clisp.org>
11219
11220         ffs, bcopy, memset: Support symbol renaming via config.h.
11221         * lib/ffs.c: Include <config.h>.
11222         * lib/bcopy.c: Likewise.
11223         * lib/memset.c: Likewise.
11224
11225 2011-10-10  Bruno Haible  <bruno@clisp.org>
11226
11227         atanl: Simplify for platforms where 'long double' == 'double'.
11228         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11229         alternative implementation.
11230         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11231         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11232         * modules/atanl (Depends-on): Add atan. Update conditions.
11233
11234 2011-10-10  Bruno Haible  <bruno@clisp.org>
11235
11236         acosl: Simplify for platforms where 'long double' == 'double'.
11237         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11238         alternative implementation.
11239         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11240         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11241         * modules/acosl (Depends-on): Add acos. Update conditions.
11242
11243 2011-10-10  Bruno Haible  <bruno@clisp.org>
11244
11245         asinl: Simplify for platforms where 'long double' == 'double'.
11246         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11247         alternative implementation.
11248         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11249         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11250         * modules/asinl (Depends-on): Add asin. Update conditions.
11251
11252 2011-10-10  Bruno Haible  <bruno@clisp.org>
11253
11254         tanl: Simplify for platforms where 'long double' == 'double'.
11255         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11256         implementation.
11257         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11258         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11259         * modules/tanl (Depends-on): Add tan. Update conditions.
11260         (configure.ac): Don't compile trigl.c if
11261         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11262
11263 2011-10-10  Bruno Haible  <bruno@clisp.org>
11264
11265         cosl: Simplify for platforms where 'long double' == 'double'.
11266         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11267         implementation.
11268         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11269         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11270         * modules/cosl (Depends-on): Add cos. Update conditions.
11271         (configure.ac): Don't compile sincosl.c and trigl.c if
11272         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11273
11274 2011-10-10  Bruno Haible  <bruno@clisp.org>
11275
11276         sinl: Simplify for platforms where 'long double' == 'double'.
11277         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11278         implementation.
11279         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11280         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11281         * modules/sinl (Depends-on): Add sin. Update conditions.
11282         (configure.ac): Don't compile sincosl.c and trigl.c if
11283         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11284
11285 2011-10-10  Bruno Haible  <bruno@clisp.org>
11286
11287         logl: Simplify for platforms where 'long double' == 'double'.
11288         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11289         implementation.
11290         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11291         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11292         * modules/logl (Depends-on): Add log. Update conditions.
11293
11294 2011-10-10  Bruno Haible  <bruno@clisp.org>
11295
11296         expl: Simplify for platforms where 'long double' == 'double'.
11297         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11298         implementation.
11299         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11300         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11301         * modules/expl (Depends-on): Add exp. Update conditions.
11302
11303 2011-10-10  Bruno Haible  <bruno@clisp.org>
11304
11305         sqrtl: Simplify for platforms where 'long double' == 'double'.
11306         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11307         alternative implementation.
11308         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11309         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11310         * modules/sqrtl (Depends-on): Update conditions.
11311
11312 2011-10-10  Bruno Haible  <bruno@clisp.org>
11313
11314         ldexpl: Simplify for platforms where 'long double' == 'double'.
11315         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11316         alternative implementation.
11317         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11318         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11319         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
11320
11321 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
11322
11323         ffsll: set correct witness
11324         * modules/ffsll (configure.ac): Fix typo.
11325
11326 2011-10-10  Bruno Haible  <bruno@clisp.org>
11327
11328         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
11329         * lib/printf-frexpl.c: Include <config.h>.
11330         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11331         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
11332         second time.
11333         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
11334         gl_LONG_DOUBLE_VS_DOUBLE.
11335         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
11336         conditions.
11337
11338 2011-10-10  Bruno Haible  <bruno@clisp.org>
11339
11340         frexpl: Simplify for platforms where 'long double' == 'double'.
11341         * lib/frexpl.c: Include <config.h>.
11342         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11343         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11344         time.
11345         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11346         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11347         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
11348         * modules/frexpl (Depends-on): Add frexp. Update conditions.
11349         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
11350         conditions.
11351
11352 2011-10-10  Jim Meyering  <meyering@redhat.com>
11353
11354         test-renameat: don't leave behind a temporary file
11355         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
11356           ERROR: files left in build directory after distclean:
11357           ./gltests/test-renameat.too
11358           make[1]: *** [distcleancheck] Error 1
11359         Reported by Tom G. Christensen.
11360
11361 2011-10-09  Bruno Haible  <bruno@clisp.org>
11362
11363         rint: Determine RINT_LIBM correctly on AIX 7.
11364         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
11365         directly, not only through a function pointer. Also accept an optional
11366         4th argument with extra code.
11367         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
11368         rintf() call by gcc when optimizing.
11369
11370         mathfunc.m4: Refactor.
11371         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
11372         m4 variable.
11373
11374 2011-10-09  Bruno Haible  <bruno@clisp.org>
11375
11376         rintl: Simplify for platforms where 'long double' == 'double'.
11377         * lib/rintl.c: Include <config.h>.
11378         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11379         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11380         time.
11381         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11382         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11383         * modules/rintl (Depends-on): Add rint. Update conditions.
11384
11385 2011-10-09  Bruno Haible  <bruno@clisp.org>
11386
11387         roundl: Simplify for platforms where 'long double' == 'double'.
11388         * lib/roundl.c: Include <config.h>.
11389         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11390         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11391         time.
11392         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11393         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11394         * modules/roundl (Depends-on): Add round. Update conditions.
11395
11396 2011-10-09  Bruno Haible  <bruno@clisp.org>
11397
11398         truncl: Simplify for platforms where 'long double' == 'double'.
11399         * lib/truncl.c: Include <config.h>.
11400         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11401         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11402         time.
11403         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11404         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11405         * modules/truncl (Depends-on): Add trunc. Update conditions.
11406
11407 2011-10-09  Bruno Haible  <bruno@clisp.org>
11408
11409         ceill: Simplify for platforms where 'long double' == 'double'.
11410         * lib/ceill.c: Include <config.h>.
11411         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11412         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11413         time.
11414         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11415         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11416         * modules/ceill (Depends-on): Add ceil. Update conditions.
11417
11418 2011-10-09  Bruno Haible  <bruno@clisp.org>
11419
11420         floorl: Simplify for platforms where 'long double' == 'double'.
11421         * lib/floorl.c: Include <config.h>.
11422         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11423         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11424         time.
11425         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11426         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11427         * modules/floorl (Depends-on): Add floor. Update conditions.
11428
11429 2011-10-09  Bruno Haible  <bruno@clisp.org>
11430
11431         rint: Fix ordering constraints.
11432         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
11433         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
11434         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
11435
11436 2011-10-09  Bruno Haible  <bruno@clisp.org>
11437
11438         copysignl: Simplify for platforms where 'long double' == 'double'.
11439         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11440         alternative.
11441         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11442         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11443         * modules/copysignl (Depends-on): Add copysign. Update conditions.
11444
11445 2011-10-09  Bruno Haible  <bruno@clisp.org>
11446
11447         Tests for module 'rintl'.
11448         * modules/rintl-tests: New file.
11449         * tests/test-rintl.c: New file.
11450
11451         New module 'rintl'.
11452         * lib/math.in.h (rintl): New declaration.
11453         * lib/rintl.c: New file.
11454         * m4/rintl.m4: New file.
11455         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
11456         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
11457         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
11458         * modules/rintl: New file.
11459         * tests/test-math-c++.cc: Check the declaration of rintl.
11460         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11461         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
11462         * doc/posix-functions/rintl.texi: Mention the new module.
11463
11464 2011-10-09  Bruno Haible  <bruno@clisp.org>
11465
11466         Tests for module 'rintf'.
11467         * modules/rintf-tests: New file.
11468         * tests/test-rintf.c: New file.
11469
11470         New module 'rintf'.
11471         * lib/math.in.h (rintf): New declaration.
11472         * lib/rintf.c: New file.
11473         * m4/rintf.m4: New file.
11474         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
11475         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
11476         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
11477         * modules/rintf: New file.
11478         * tests/test-math-c++.cc: Check the declaration of rintf.
11479         * doc/posix-functions/rintf.texi: Mention the new module.
11480
11481 2011-10-09  Bruno Haible  <bruno@clisp.org>
11482
11483         rint: Support for MSVC.
11484         * lib/math.in.h (rint): New declaration.
11485         * lib/rint.c: New file.
11486         * m4/rint.m4: New file.
11487         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
11488         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
11489         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
11490         * modules/rint (Description): Fix.
11491         (Files): Add lib/rint.c, m4/rint.m4.
11492         (Depends-on): Add math.
11493         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
11494         gl_MATH_MODULE_INDICATOR.
11495         * tests/test-math-c++.cc: Check the declaration of rint.
11496         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11497         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
11498         * doc/posix-functions/rint.texi: Mention the replacement provided by
11499         the module.
11500
11501         rint tests: More tests.
11502         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
11503         minus-zero.h, infinity.h, nan.h.
11504         (main): Skip the test if the current rounding mode is not standard. Add
11505         tests for negative numbers, minus zero, infinity, NaN.
11506         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
11507         tests/nan.h.
11508         (Depends-on): Add isnand-nolibm.
11509
11510 2011-10-09  Bruno Haible  <bruno@clisp.org>
11511
11512         Tests for module 'copysignl'.
11513         * modules/copysignl-tests: New file.
11514         * tests/test-copysignl.c: New file.
11515
11516         New module 'copysignl'.
11517         * lib/math.in.h (copysignl): New declaration.
11518         * lib/copysignl.c: New file.
11519         * m4/copysignl.m4: New file.
11520         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
11521         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
11522         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
11523         HAVE_COPYSIGNL.
11524         * modules/copysignl: New file.
11525         * tests/test-math-c++.cc: Check the declaration of copysignl.
11526         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11527         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
11528         * doc/posix-functions/copysignl.texi: Mention the new module.
11529
11530 2011-10-09  Bruno Haible  <bruno@clisp.org>
11531
11532         Tests for module 'copysignf'.
11533         * modules/copysignf-tests: New file.
11534         * tests/test-copysignf.c: New file.
11535
11536         New module 'copysignf'.
11537         * lib/math.in.h (copysignf): New declaration.
11538         * lib/copysignf.c: New file.
11539         * m4/copysignf.m4: New file.
11540         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
11541         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
11542         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
11543         HAVE_COPYSIGNF.
11544         * modules/copysignf: New file.
11545         * tests/test-math-c++.cc: Check the declaration of copysignf.
11546         * doc/posix-functions/copysignf.texi: Mention the new module.
11547
11548 2011-10-09  Bruno Haible  <bruno@clisp.org>
11549
11550         Ensure that HAVE_* variables are set to 1 before they are set to 0.
11551         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
11552         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
11553         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11554         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
11555         gl_SIGNAL_H_DEFAULTS.
11556
11557 2011-10-09  Bruno Haible  <bruno@clisp.org>
11558
11559         poll: Make macro safer.
11560         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
11561         ac_cv_header_poll_h is not set.
11562
11563 2011-10-09  Bruno Haible  <bruno@clisp.org>
11564
11565         copysign: Provide replacement.
11566         * lib/math.in.h (copysign): New declaration.
11567         * lib/copysign.c: New file.
11568         * m4/copysign.m4: New file.
11569         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
11570         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
11571         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
11572         HAVE_COPYSIGN.
11573         * modules/copysign (Description): Clarify.
11574         (Files): Add lib/copysign.c, m4/copysign.m4.
11575         (Depends-on): Add math, signbit.
11576         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
11577         gl_MATH_MODULE_INDICATOR.
11578         * tests/test-math-c++.cc: Check the declaration of copysign.
11579         * doc/posix-functions/copysign.texi: Mention the effects of the module
11580         on Minix and MSVC.
11581
11582 2011-10-09  Bruno Haible  <bruno@clisp.org>
11583
11584         isinf: Ensure macro on AIX 5.1.
11585         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
11586         macro.
11587         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
11588
11589 2011-10-09  Bruno Haible  <bruno@clisp.org>
11590
11591         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
11592         * modules/snprintf-posix-tests (configure.ac): Require
11593         gl_LONG_DOUBLE_VS_DOUBLE.
11594         * modules/sprintf-posix-tests (configure.ac): Likewise.
11595         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
11596         * modules/vasprintf-posix-tests (configure.ac): Likewise.
11597         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
11598         * modules/vsprintf-posix-tests (configure.ac): Likewise.
11599         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
11600         tests on platforms where 'long double' is the same as 'double'.
11601         * tests/test-sprintf-posix.h (test_function): Likewise.
11602         * tests/test-vasnprintf-posix.c (test_function): Likewise.
11603         * tests/test-vasprintf-posix.c (test_function): Likewise.
11604
11605         *printf: Fix for platforms where 'long double' == 'double'.
11606         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
11607         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
11608         * modules/dprintf-posix (Files): Add m4/math_h.m4.
11609         * modules/fprintf-posix (Files): Likewise.
11610         * modules/obstack-printf-posix (Files): Likewise.
11611         * modules/snprintf-posix (Files): Likewise.
11612         * modules/sprintf-posix (Files): Likewise.
11613         * modules/vasnprintf (Files): Likewise.
11614         * modules/vasnprintf-posix (Files): Likewise.
11615         * modules/vasprintf-posix (Files): Likewise.
11616         * modules/vdprintf-posix (Files): Likewise.
11617         * modules/vfprintf-posix (Files): Likewise.
11618         * modules/vsnprintf-posix (Files): Likewise.
11619         * modules/vsprintf-posix (Files): Likewise.
11620         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11621         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11622         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11623         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11624         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11625         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11626         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11627
11628         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
11629         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
11630         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11631         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
11632         'long double'.
11633         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
11634
11635         isinf: Fix for platforms where 'long double' == 'double'.
11636         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11637         Don't blindly assume 80-bit 'long double'.
11638
11639         isfinite: Fix for platforms where 'long double' == 'double'.
11640         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11641         Don't blindly assume 80-bit 'long double'.
11642
11643         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
11644         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
11645         * modules/isfinite-tests (configure.ac): Require
11646         gl_LONG_DOUBLE_VS_DOUBLE.
11647         * modules/isinf-tests (configure.ac): Likewise.
11648         * modules/isnan-tests (configure.ac): Likewise.
11649         * modules/isnanl-tests (configure.ac): Likewise.
11650         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
11651         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
11652         tests on platforms where 'long double' is the same as 'double'.
11653         * tests/test-isinf.c (test_isinfl): Likewise.
11654         * tests/test-isnan.c (test_long_double): Likewise.
11655         * tests/test-isnanl.h (main): Likewise.
11656
11657 2011-10-08  Bruno Haible  <bruno@clisp.org>
11658
11659         Tests for module 'tanhf'.
11660         * modules/tanhf-tests: New file.
11661         * tests/test-tanhf.c: New file.
11662
11663         New module 'tanhf'.
11664         * lib/math.in.h (tanhf): New declaration.
11665         * lib/tanhf.c: New file.
11666         * m4/tanhf.m4: New file.
11667         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
11668         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
11669         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
11670         * modules/tanhf: New file.
11671         * tests/test-math-c++.cc: Check the declaration of tanhf.
11672         * doc/posix-functions/tanhf.texi: Mention the new module.
11673
11674         tanh: Use a .m4 file.
11675         * m4/tanh.m4: New file.
11676         * modules/tanh (Files): Add it.
11677         (configure.ac): Just invoke gl_FUNC_TANH.
11678
11679 2011-10-08  Bruno Haible  <bruno@clisp.org>
11680
11681         Tests for module 'coshf'.
11682         * modules/coshf-tests: New file.
11683         * tests/test-coshf.c: New file.
11684
11685         New module 'coshf'.
11686         * lib/math.in.h (coshf): New declaration.
11687         * lib/coshf.c: New file.
11688         * m4/coshf.m4: New file.
11689         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
11690         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
11691         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
11692         * modules/coshf: New file.
11693         * tests/test-math-c++.cc: Check the declaration of coshf.
11694         * doc/posix-functions/coshf.texi: Mention the new module.
11695
11696         cosh: Use a .m4 file.
11697         * m4/cosh.m4: New file.
11698         * modules/cosh (Files): Add it.
11699         (configure.ac): Just invoke gl_FUNC_COSH.
11700
11701 2011-10-08  Bruno Haible  <bruno@clisp.org>
11702
11703         Tests for module 'sinhf'.
11704         * modules/sinhf-tests: New file.
11705         * tests/test-sinhf.c: New file.
11706
11707         New module 'sinhf'.
11708         * lib/math.in.h (sinhf): New declaration.
11709         * lib/sinhf.c: New file.
11710         * m4/sinhf.m4: New file.
11711         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
11712         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
11713         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
11714         * modules/sinhf: New file.
11715         * tests/test-math-c++.cc: Check the declaration of sinhf.
11716         * doc/posix-functions/sinhf.texi: Mention the new module.
11717
11718         sinh: Use a .m4 file.
11719         * m4/sinh.m4: New file.
11720         * modules/sinh (Files): Add it.
11721         (configure.ac): Just invoke gl_FUNC_SINH.
11722
11723 2011-10-08  Bruno Haible  <bruno@clisp.org>
11724
11725         Tests for module 'atan2f'.
11726         * modules/atan2f-tests: New file.
11727         * tests/test-atan2f.c: New file.
11728
11729         New module 'atan2f'.
11730         * lib/math.in.h (atan2f): New declaration.
11731         * lib/atan2f.c: New file.
11732         * m4/atan2f.m4: New file.
11733         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
11734         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
11735         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
11736         * modules/atan2f: New file.
11737         * tests/test-math-c++.cc: Check the declaration of atan2f.
11738         * doc/posix-functions/atan2f.texi: Mention the new module.
11739
11740         atan2: Use a .m4 file.
11741         * m4/atan2.m4: New file.
11742         * modules/atan2 (Files): Add it.
11743         (configure.ac): Just invoke gl_FUNC_ATAN2.
11744
11745 2011-10-08  Bruno Haible  <bruno@clisp.org>
11746
11747         Tests for module 'atanf'.
11748         * modules/atanf-tests: New file.
11749         * tests/test-atanf.c: New file.
11750
11751         New module 'atanf'.
11752         * lib/math.in.h (atanf): New declaration.
11753         * lib/atanf.c: New file.
11754         * m4/atanf.m4: New file.
11755         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
11756         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
11757         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
11758         * modules/atanf: New file.
11759         * tests/test-math-c++.cc: Check the declaration of atanf.
11760         * doc/posix-functions/atanf.texi: Mention the new module.
11761
11762         atan: Use a .m4 file.
11763         * m4/atan.m4: New file.
11764         * modules/atan (Files): Add it.
11765         (configure.ac): Just invoke gl_FUNC_ATAN.
11766
11767 2011-10-08  Bruno Haible  <bruno@clisp.org>
11768
11769         Tests for module 'acosf'.
11770         * modules/acosf-tests: New file.
11771         * tests/test-acosf.c: New file.
11772
11773         New module 'acosf'.
11774         * lib/math.in.h (acosf): New declaration.
11775         * lib/acosf.c: New file.
11776         * m4/acosf.m4: New file.
11777         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
11778         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
11779         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
11780         * modules/acosf: New file.
11781         * tests/test-math-c++.cc: Check the declaration of acosf.
11782         * doc/posix-functions/acosf.texi: Mention the new module.
11783
11784         acos: Use a .m4 file.
11785         * m4/acos.m4: New file.
11786         * modules/acos (Files): Add it.
11787         (configure.ac): Just invoke gl_FUNC_ACOS.
11788
11789 2011-10-08  Bruno Haible  <bruno@clisp.org>
11790
11791         Tests for module 'asinf'.
11792         * modules/asinf-tests: New file.
11793         * tests/test-asinf.c: New file.
11794
11795         New module 'asinf'.
11796         * lib/math.in.h (asinf): New declaration.
11797         * lib/asinf.c: New file.
11798         * m4/asinf.m4: New file.
11799         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
11800         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
11801         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
11802         * modules/asinf: New file.
11803         * tests/test-math-c++.cc: Check the declaration of asinf.
11804         * doc/posix-functions/asinf.texi: Mention the new module.
11805
11806         asin: Use a .m4 file.
11807         * m4/asin.m4: New file.
11808         * modules/asin (Files): Add it.
11809         (configure.ac): Just invoke gl_FUNC_ASIN.
11810
11811 2011-10-08  Bruno Haible  <bruno@clisp.org>
11812
11813         Tests for module 'tanf'.
11814         * modules/tanf-tests: New file.
11815         * tests/test-tanf.c: New file.
11816
11817         New module 'tanf'.
11818         * lib/math.in.h (tanf): New declaration.
11819         * lib/tanf.c: New file.
11820         * m4/tanf.m4: New file.
11821         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
11822         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
11823         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
11824         * modules/tanf: New file.
11825         * tests/test-math-c++.cc: Check the declaration of tanf.
11826         * doc/posix-functions/tanf.texi: Mention the new module.
11827
11828         tan: Use a .m4 file.
11829         * m4/tan.m4: New file.
11830         * modules/tan (Files): Add it.
11831         (configure.ac): Just invoke gl_FUNC_TAN.
11832
11833 2011-10-08  Bruno Haible  <bruno@clisp.org>
11834
11835         Tests for module 'cosf'.
11836         * modules/cosf-tests: New file.
11837         * tests/test-cosf.c: New file.
11838
11839         New module 'cosf'.
11840         * lib/math.in.h (cosf): New declaration.
11841         * lib/cosf.c: New file.
11842         * m4/cosf.m4: New file.
11843         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
11844         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
11845         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
11846         * modules/cosf: New file.
11847         * tests/test-math-c++.cc: Check the declaration of cosf.
11848         * doc/posix-functions/cosf.texi: Mention the new module.
11849
11850         cos: Use a .m4 file.
11851         * m4/cos.m4: New file.
11852         * modules/cos (Files): Add it.
11853         (configure.ac): Just invoke gl_FUNC_COS.
11854
11855 2011-10-08  Bruno Haible  <bruno@clisp.org>
11856
11857         Tests for module 'sinf'.
11858         * modules/sinf-tests: New file.
11859         * tests/test-sinf.c: New file.
11860
11861         New module 'sinf'.
11862         * lib/math.in.h (sinf): New declaration.
11863         * lib/sinf.c: New file.
11864         * m4/sinf.m4: New file.
11865         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
11866         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
11867         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
11868         * modules/sinf: New file.
11869         * tests/test-math-c++.cc: Check the declaration of sinf.
11870         * doc/posix-functions/sinf.texi: Mention the new module.
11871
11872         sin: Use a .m4 file.
11873         * m4/sin.m4: New file.
11874         * modules/sin (Files): Add it.
11875         (configure.ac): Just invoke gl_FUNC_SIN.
11876
11877 2011-10-08  Bruno Haible  <bruno@clisp.org>
11878
11879         Tests for module 'powf'.
11880         * modules/powf-tests: New file.
11881         * tests/test-powf.c: New file.
11882
11883         New module 'powf'.
11884         * lib/math.in.h (powf): New declaration.
11885         * lib/powf.c: New file.
11886         * m4/powf.m4: New file.
11887         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
11888         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
11889         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
11890         * modules/powf: New file.
11891         * tests/test-math-c++.cc: Check the declaration of powf.
11892         * doc/posix-functions/powf.texi: Mention the new module.
11893
11894         pow: Use a .m4 file.
11895         * m4/pow.m4: New file.
11896         * modules/pow (Files): Add it.
11897         (configure.ac): Just invoke gl_FUNC_POW.
11898
11899 2011-10-08  Bruno Haible  <bruno@clisp.org>
11900
11901         Tests for module 'log10f'.
11902         * modules/log10f-tests: New file.
11903         * tests/test-log10f.c: New file.
11904
11905         New module 'log10f'.
11906         * lib/math.in.h (log10f): New declaration.
11907         * lib/log10f.c: New file.
11908         * m4/log10f.m4: New file.
11909         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
11910         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
11911         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
11912         * modules/log10f: New file.
11913         * tests/test-math-c++.cc: Check the declaration of log10f.
11914         * doc/posix-functions/log10f.texi: Mention the new module.
11915
11916         log10: Use a .m4 file.
11917         * m4/log10.m4: New file.
11918         * modules/log10 (Files): Add it.
11919         (configure.ac): Just invoke gl_FUNC_LOG10.
11920
11921 2011-10-08  Bruno Haible  <bruno@clisp.org>
11922
11923         Tests for module 'logf'.
11924         * modules/logf-tests: New file.
11925         * tests/test-logf.c: New file.
11926
11927         New module 'logf'.
11928         * lib/math.in.h (logf): New declaration.
11929         * lib/logf.c: New file.
11930         * m4/logf.m4: New file.
11931         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
11932         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
11933         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
11934         * modules/logf: New file.
11935         * tests/test-math-c++.cc: Check the declaration of logf.
11936         * doc/posix-functions/logf.texi: Mention the new module.
11937
11938         log: Use a .m4 file.
11939         * m4/log.m4: New file.
11940         * modules/log (Files): Add it.
11941         (configure.ac): Just invoke gl_FUNC_LOG.
11942
11943 2011-10-08  Bruno Haible  <bruno@clisp.org>
11944
11945         Tests for module 'expf'.
11946         * modules/expf-tests: New file.
11947         * tests/test-expf.c: New file.
11948
11949         New module 'expf'.
11950         * lib/math.in.h (expf): New declaration.
11951         * lib/expf.c: New file.
11952         * m4/expf.m4: New file.
11953         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
11954         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
11955         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
11956         * modules/expf: New file.
11957         * tests/test-math-c++.cc: Check the declaration of expf.
11958         * doc/posix-functions/expf.texi: Mention the new module.
11959
11960         exp: Use a .m4 file.
11961         * m4/exp.m4: New file.
11962         * modules/exp (Files): Add it.
11963         (configure.ac): Just invoke gl_FUNC_EXP.
11964
11965 2011-10-08  Bruno Haible  <bruno@clisp.org>
11966
11967         Tests for module 'sqrtf'.
11968         * modules/sqrtf-tests: New file.
11969         * tests/test-sqrtf.c: New file.
11970
11971         New module 'sqrtf'.
11972         * lib/math.in.h (sqrtf): New declaration.
11973         * lib/sqrtf.c: New file.
11974         * m4/sqrtf.m4: New file.
11975         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
11976         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
11977         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
11978         * modules/sqrtf: New file.
11979         * tests/test-math-c++.cc: Check the declaration of sqrtf.
11980         * doc/posix-functions/sqrtf.texi: Mention the new module.
11981
11982 2011-10-08  Bruno Haible  <bruno@clisp.org>
11983
11984         Tests: Avoid link failures w.r.t. libintl.
11985         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
11986         $(LIBINTL).
11987         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
11988         $(LIBINTL).
11989         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
11990         against $(LIBINTL).
11991         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
11992         $(LIBINTL).
11993         * modules/openat-tests (Makefile.am): Link test-fchmodat against
11994         $(LIBINTL).
11995         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
11996
11997 2011-10-08  Bruno Haible  <bruno@clisp.org>
11998
11999         pow tests: Defeat compiler optimizations.
12000         * tests/test-pow.c (main): Assign arguments to x and y before use.
12001
12002 2011-10-08  Bruno Haible  <bruno@clisp.org>
12003
12004         gnulib-tool: Improve last commit.
12005         * gnulib-tool (func_modules_transitive_closure): Simplify code.
12006         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
12007         ignore dependencies that are not among the modules list.
12008
12009 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
12010
12011         gnulib-tool: don't follow dependencies to avoided modules
12012         This fixes a bug that is related to the previous one.
12013         * gnulib-tool (func_modules_transitive_closure)
12014         (func_emit_autoconf_snippets):
12015         Check whether a dependency is acceptable before using it.
12016         (--extract-dependencies): Report an error if --avoid is also used,
12017         since this combination of options is not yet supported.
12018
12019         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
12020         Problem reported by Peter Dyballa in
12021         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
12022         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
12023         when echoing "$condition".
12024
12025 2011-10-07  Bruno Haible  <bruno@clisp.org>
12026
12027         Fix documentation about math functions on MacOS X.
12028         * doc/posix-functions/exp2.texi: Don't say the function is missing on
12029         MacOS X 10.5.
12030         * doc/posix-functions/fdim.texi: Likewise.
12031         * doc/posix-functions/feclearexcept.texi: Likewise.
12032         * doc/posix-functions/fegetenv.texi: Likewise.
12033         * doc/posix-functions/fegetround.texi: Likewise.
12034         * doc/posix-functions/feholdexcept.texi: Likewise.
12035         * doc/posix-functions/feraiseexcept.texi: Likewise.
12036         * doc/posix-functions/fesetenv.texi: Likewise.
12037         * doc/posix-functions/fesetround.texi: Likewise.
12038         * doc/posix-functions/fetestexcept.texi: Likewise.
12039         * doc/posix-functions/feupdateenv.texi: Likewise.
12040         * doc/posix-functions/fmax.texi: Likewise.
12041         * doc/posix-functions/fmin.texi: Likewise.
12042         * doc/posix-functions/log2.texi: Likewise.
12043         * doc/posix-functions/modff.texi: Likewise.
12044         * doc/posix-functions/nan.texi: Likewise.
12045         * doc/posix-functions/nanf.texi: Likewise.
12046         * doc/posix-functions/nextafterf.texi: Likewise.
12047         * doc/posix-functions/remquo.texi: Likewise.
12048
12049 2011-10-07  Bruno Haible  <bruno@clisp.org>
12050
12051         modff: Drop assumption about library that defines modff.
12052         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
12053         AC_CHECK_FUNCS.
12054         * modules/modff (Files): Add m4/mathfunc.m4.
12055
12056 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
12057
12058         raise tests: Avoid a GCC warning.
12059         * tests/test-raise.c (handler): Use _Noreturn.
12060
12061 2011-10-07  Bruno Haible  <bruno@clisp.org>
12062
12063         Tests for module 'ldexpf'.
12064         * modules/ldexpf-tests: New file.
12065         * tests/test-ldexpf.c: New file.
12066
12067         New module 'ldexpf'.
12068         * lib/math.in.h (ldexpf): New declaration.
12069         * lib/ldexpf.c: New file.
12070         * m4/ldexpf.m4: New file.
12071         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
12072         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
12073         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
12074         * modules/ldexpf: New file.
12075         * tests/test-math-c++.cc: Check the declaration of ldexpf.
12076         * doc/posix-functions/ldexpf.texi: Mention the new module.
12077
12078 2011-10-06  Bruno Haible  <bruno@clisp.org>
12079
12080         frexpf: Work around problems on IRIX and mingw.
12081         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
12082         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
12083         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
12084         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
12085         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
12086         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
12087         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
12088
12089 2011-10-06  Bruno Haible  <bruno@clisp.org>
12090
12091         fabsf: Drop assumption about library that defines fabsf.
12092         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
12093         AC_CHECK_FUNCS.
12094         * modules/fabsf (Files): Add m4/mathfunc.m4.
12095
12096 2011-10-06  Bruno Haible  <bruno@clisp.org>
12097
12098         frexpf: Drop assumption about library that defines frexpf.
12099         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
12100         'int *', 'float *', 'long double *', 'float', 'long double'.
12101         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
12102         AC_CHECK_FUNCS.
12103         * modules/frexpf (Files): Add m4/mathfunc.m4.
12104
12105         Tests for module 'frexpf'.
12106         * modules/frexpf-tests: New file.
12107         * tests/test-frexpf.c: New file.
12108
12109         New module 'frexpf'.
12110         * lib/math.in.h (frexpf): New declaration.
12111         * lib/frexpf.c: New file.
12112         * m4/frexpf.m4: New file.
12113         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
12114         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
12115         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
12116         * modules/frexpf: New file.
12117         * tests/test-math-c++.cc: Check the declaration of frexpf.
12118         * doc/posix-functions/frexpf.texi: Mention the new module.
12119
12120 2011-10-06  Bruno Haible  <bruno@clisp.org>
12121
12122         math: Sort function declarations of math.in.h.
12123         * lib/math.in.h (frexp, logb): Move declarations.
12124
12125 2011-10-05  Bruno Haible  <bruno@clisp.org>
12126
12127         Tests for module 'modff'.
12128         * modules/modff-tests: New file.
12129         * tests/test-modff.c: New file.
12130
12131         New module 'modff'.
12132         * lib/math.in.h (modff): New declaration.
12133         * lib/modff.c: New file.
12134         * m4/modff.m4: New file.
12135         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
12136         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
12137         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
12138         * modules/modff: New file.
12139         * tests/test-math-c++.cc: Check the declaration of modff.
12140         * doc/posix-functions/modff.texi: Mention the new module.
12141
12142         modf tests: Make test sharper.
12143         * tests/test-modf.c (main): Strengthen upper bound.
12144
12145         modf: Use a .m4 file.
12146         * m4/modf.m4: New file.
12147         * modules/modf (Files): Add it.
12148         (configure.ac): Just invoke gl_FUNC_MODF.
12149
12150 2011-10-05  Bruno Haible  <bruno@clisp.org>
12151
12152         Tests for module 'fmodf'.
12153         * modules/fmodf-tests: New file.
12154         * tests/test-fmodf.c: New file.
12155
12156         New module 'fmodf'.
12157         * lib/math.in.h (fmodf): New declaration.
12158         * lib/fmodf.c: New file.
12159         * m4/fmodf.m4: New file.
12160         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
12161         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
12162         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
12163         * modules/fmodf: New file.
12164         * tests/test-math-c++.cc: Check the declaration of fmodf.
12165         * doc/posix-functions/fmodf.texi: Mention the new module.
12166
12167         fmod: Use a .m4 file.
12168         * m4/fmod.m4: New file.
12169         * modules/fmod (Files): Add it.
12170         (configure.ac): Just invoke gl_FUNC_FMOD.
12171
12172 2011-10-05  Bruno Haible  <bruno@clisp.org>
12173
12174         Tests for module 'fabsf'.
12175         * modules/fabsf-tests: New file.
12176         * tests/test-fabsf.c: New file.
12177
12178         New module 'fabsf'.
12179         * lib/math.in.h (fabsf): New declaration.
12180         * lib/fabsf.c: New file.
12181         * m4/fabsf.m4: New file.
12182         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
12183         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
12184         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
12185         * modules/fabsf: New file.
12186         * tests/test-math-c++.cc: Check the declaration of fabsf.
12187         * doc/posix-functions/fabsf.texi: Mention the new module.
12188
12189         fabs: Use a .m4 file.
12190         * m4/fabs.m4: New file.
12191         * modules/fabs (Files): Add it.
12192         (configure.ac): Just invoke gl_FUNC_FABS.
12193
12194 2011-10-05  Jim Meyering  <meyering@redhat.com>
12195
12196         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
12197         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
12198         ls -lL regression introduced in coreutils-8.12, it does so at the
12199         cost of an additional stat call in the common case.  Besides, now
12200         that the kernel change that prompted commit 95f7c57f has been reverted
12201         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
12202         we have no use for commit 95f7c57f, "file-has-acl: use
12203         acl_extended_file_nofollow if available".
12204
12205 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
12206
12207         file-has-acl: revert unintended change in behavior of ls -L
12208         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
12209         derived from...
12210         (file_has_acl): ...code here.  Call it.
12211         This problem was introduced with 2011-07-22 commit 95f7c57f,
12212         "file-has-acl: use acl_extended_file_nofollow if available".
12213         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
12214
12215 2011-10-03  Bruno Haible  <bruno@clisp.org>
12216
12217         poll: Avoid link errors on MSVC.
12218         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
12219         * modules/poll (Depends-on): Add sockets.
12220         (Link): New section.
12221         * NEWS: Mention the change.
12222         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
12223         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
12224         $(LIB_POLL) instead of $(LIBSOCKET).
12225
12226 2011-10-03  Bruno Haible  <bruno@clisp.org>
12227
12228         sys_select tests: Fix link error on MSVC 9.
12229         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
12230         with $(LIB_SELECT) instead of $(LIBSOCKET).
12231
12232 2011-10-03  Bruno Haible  <bruno@clisp.org>
12233
12234         sys_select: Fix compilation error on mingw.
12235         * lib/sys_select.in.h: On native Windows, include <io.h>.
12236
12237 2011-10-03  Bruno Haible  <bruno@clisp.org>
12238
12239         wmemset: Support for MSVC.
12240         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
12241         whether wmemset() exists.
12242
12243 2011-10-03  Bruno Haible  <bruno@clisp.org>
12244
12245         wmemmove: Support for MSVC.
12246         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
12247         whether wmemmove() exists.
12248
12249 2011-10-03  Bruno Haible  <bruno@clisp.org>
12250
12251         wmemcpy: Support for MSVC.
12252         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
12253         whether wmemcpy() exists.
12254
12255 2011-10-03  Bruno Haible  <bruno@clisp.org>
12256
12257         wmemcmp: Support for MSVC.
12258         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
12259         whether wmemcmp() exists.
12260
12261 2011-10-03  Bruno Haible  <bruno@clisp.org>
12262
12263         wmemchr: Support for MSVC.
12264         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
12265         whether wmemchr() exists.
12266
12267 2011-10-03  Bruno Haible  <bruno@clisp.org>
12268
12269         glthread/*, strsignal: Support for MSVC.
12270         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
12271         including <winsock.h> on MSVC 9.
12272         * lib/glthread/lock.h: Likewise.
12273         * lib/glthread/thread.h: Likewise.
12274         * lib/glthread/tls.h: Likewise.
12275         * lib/glthread/yield.h: Likewise.
12276         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
12277         if HAVE_UNISTD_H is false.
12278         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
12279
12280 2011-10-03  Bruno Haible  <bruno@clisp.org>
12281
12282         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
12283         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
12284         Set to 100000.
12285
12286 2011-10-03  Bruno Haible  <bruno@clisp.org>
12287
12288         acl: Fix specification.
12289         * lib/file-has-acl.c (file_has_acl): Fix specification.
12290
12291 2011-10-03  Bruno Haible  <bruno@clisp.org>
12292
12293         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
12294         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
12295         (compute_curr_prefix, shared_library_fullname,
12296         find_shared_library_fullname, get_shared_library_fullname, relocate):
12297         Use it together with PIC && INSTALLDIR.
12298         Reported by <jojelino@gmail.com>
12299         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
12300
12301 2011-10-01  Jim Meyering  <meyering@redhat.com>
12302
12303         maint.mk: adjust a release-related rule not to require use of gzip
12304         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
12305         Instead, check each file in $(DIST_ARCHIVES).  This is better for
12306         projects that build only .tar.xz files.  Also fix an erroneous test.
12307
12308         test-linkat: don't leave behind a temporary file
12309         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
12310         Otherwise, coreutils' "make distcheck" would fail with this:
12311           Only in /c/cu/tests/torture/coreutils/test/\
12312             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
12313           make[2]: *** [my-distcheck] Error 1
12314
12315         float, math: add omitted file
12316         * lib/itold.c: Add file, required for yesterday's float change.
12317
12318 2011-10-01  Bruno Haible  <bruno@clisp.org>
12319
12320         isinf: Fix for OpenBSD/x86.
12321         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
12322         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
12323         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
12324
12325 2011-10-01  Bruno Haible  <bruno@clisp.org>
12326
12327         isfinite: Fix syntax error in configure test.
12328         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
12329
12330         isfinite: Fix typo.
12331         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
12332         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
12333
12334 2011-10-01  Bruno Haible  <bruno@clisp.org>
12335
12336         nonblocking tests: Fix test failure on Linux/IA-64.
12337         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
12338         Set to 270000.
12339
12340 2011-10-01  Bruno Haible  <bruno@clisp.org>
12341
12342         mkfifoat tests: Fix a test failure on mingw.
12343         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
12344         with error ENOSYS.
12345
12346 2011-09-30  Bruno Haible  <bruno@clisp.org>
12347
12348         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
12349         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
12350         'long double'. Set REPLACE_ITOLD.
12351         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
12352         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
12353         * lib/itold.c: New file.
12354         * modules/float (Files): Add lib/itold.c.
12355         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
12356         (Makefile.am): Substitute REPLACE_ITOLD.
12357         * modules/math (Depends-on): Add float.
12358         (Makefile.am): Substitute REPLACE_ITOLD.
12359         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
12360         * doc/posix-headers/math.texi: Likewise.
12361         * doc/posix-functions/logl.texi: Likewise.
12362
12363 2011-09-30  Bruno Haible  <bruno@clisp.org>
12364
12365         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
12366         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
12367         Set to 140000.
12368
12369 2011-09-30  Bruno Haible  <bruno@clisp.org>
12370
12371         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
12372         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
12373         invocation, say "right after AC_PROG_CC_STDC", not "right after
12374         AC_PROG_CC".
12375         Reported by Gary V. Vaughan <gary@gnu.org>.
12376
12377 2011-09-30  Bruno Haible  <bruno@clisp.org>
12378
12379         Centralize C99 requirement.
12380         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
12381         * modules/stdarg (configure.ac-early): Invoke it instead of
12382         AC_PROG_CC_STDC.
12383         Reported by Gary V. Vaughan and Paul Eggert.
12384
12385 2011-09-29  Bruno Haible  <bruno@clisp.org>
12386
12387         float: Fix LDBL_MAX value on Linux/PowerPC.
12388         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
12389         on Linux/PowerPC.
12390         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
12391         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
12392         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
12393         platform.
12394         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
12395
12396 2011-09-29  Bruno Haible  <bruno@clisp.org>
12397
12398         doc: Improve doc about gl_EARLY.
12399         * doc/gnulib-tool.texi (Initial import): Mention where to place an
12400         AC_PROG_CC_STDC invocation.
12401         Reported by Gary V. Vaughan <gary@gnu.org>.
12402
12403 2011-09-28  Bruno Haible  <bruno@clisp.org>
12404
12405         fgetc, fputc, fread, fwrite tests: Fix link error.
12406         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
12407         on non-MSVC platforms.
12408         * tests/test-fputc.c (main): Likewise.
12409         * tests/test-fread.c (main): Likewise.
12410         * tests/test-fwrite.c (main): Likewise.
12411         Reported by Jim Meyering.
12412
12413 2011-09-27  Bruno Haible  <bruno@clisp.org>
12414
12415         fputc, fwrite tests: Avoid test failure on MSVC.
12416         * tests/test-fgetc.c: Include msvc-inval.h.
12417         (main): Invoke gl_msvc_inval_ensure_handler.
12418         * tests/test-fputc.c: Include msvc-inval.h.
12419         (main): Invoke gl_msvc_inval_ensure_handler.
12420         * tests/test-fread.c: Include msvc-inval.h.
12421         (main): Invoke gl_msvc_inval_ensure_handler.
12422         * tests/test-fwrite.c: Include msvc-inval.h.
12423         (main): Invoke gl_msvc_inval_ensure_handler.
12424         * modules/fgetc-tests (Depends-on): Add msvc-inval.
12425         * modules/fputc-tests (Depends-on): Likewise.
12426         * modules/fread-tests (Depends-on): Likewise.
12427         * modules/fwrite-tests (Depends-on): Likewise.
12428
12429 2011-09-27  Bruno Haible  <bruno@clisp.org>
12430
12431         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
12432         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
12433         (raise): Remove older, duplicated declaration.
12434         (_gl_raise_SIGPIPE): New declaration.
12435         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
12436         (rpl_raise): Remove function.
12437         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
12438         a gnulib-defined SIGPIPE here.
12439         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
12440         'sigprocmask' has detected missing signal-blocking and the module
12441         'sigpipe' is enabled.
12442         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12443
12444 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
12445
12446         base64-tests: avoid memory leak
12447         * tests/test-base64.c (main): Plug memory leak.
12448
12449         base32: new module
12450         * modules/base32: New module.
12451         * lib/base32.c: New file.
12452         * lib/base32.h: Likewise.
12453         * m4/base32.m4: Likewise.
12454         * modules/base32-tests: New test.
12455         * tests/test-base32.c: Likewise.
12456         * MODULES.html.sh (Misc): Mention it.
12457
12458 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12459
12460         gnulib: use more-standard license notice wording
12461         * gnulib-tool (func_emit_copyright_notice): When emitting a
12462         license notice into a file, use the standard wording as suggested
12463         by the current information for GNU maintainers, except say "file"
12464         rather than "program".  The new wording gives a license version
12465         number, which addresses an issue raised by Glenn Morris in
12466         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
12467         * m4/onceonly.m4: Use that same wording here, too.
12468
12469         dup2: minor simplification
12470         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
12471         as lib/dup2.c no longer uses 'inline'.
12472
12473 2011-09-25  Bruno Haible  <bruno@clisp.org>
12474
12475         strings: Fix compilation error on MSVC.
12476         * lib/strings.in.h: Include <stddef.h> for size_t.
12477
12478 2011-09-25  Bruno Haible  <bruno@clisp.org>
12479
12480         fflush et al.: Document limitation on MSVC.
12481         * doc/posix-functions/fflush.texi: Document possible crash in handling
12482         mode other than DEFAULT_HANDLING.
12483         * doc/posix-functions/fgetc.texi: Likewise.
12484         * doc/posix-functions/fputc.texi: Likewise.
12485         * doc/posix-functions/fread.texi: Likewise.
12486         * doc/posix-functions/fwrite.texi: Likewise.
12487
12488 2011-09-25  Bruno Haible  <bruno@clisp.org>
12489
12490         msvc-inval: Allow three invalid parameter handling modes.
12491         * lib/msvc-inval.h: Don't include <stdlib.h> here.
12492         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
12493         macros.
12494         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
12495         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
12496         SANE_LIBRARY_HANDLING as a no-op.
12497         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
12498         <stdlib.h>.
12499         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
12500
12501 2011-09-25  Bruno Haible  <bruno@clisp.org>
12502
12503         msvc-inval: Make handler multithread-safe.
12504         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
12505         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
12506         declarations.
12507         (gl_msvc_inval_current): New declaration.
12508         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12509         Operate on the structure returned by gl_msvc_inval_current().
12510         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
12511         Remove varaiables.
12512         (tls_index, tls_initialized): New variables.
12513         (not_per_thread): New variable.
12514         (gl_msvc_inval_current): New function.
12515         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
12516         returned by gl_msvc_inval_current().
12517
12518 2011-09-25  Bruno Haible  <bruno@clisp.org>
12519
12520         msvc-inval: Install handler globally.
12521         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
12522         !_MSC_VER.
12523         (gl_msvc_invalid_parameter_handler): Remove declaration.
12524         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
12525         declarations.
12526         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12527         Install the handler globally, don't uninstall it.
12528         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
12529         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
12530         currently valid, call RaiseException instead.
12531         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
12532         for !_MSC_VER.
12533
12534 2011-09-25  Bruno Haible  <bruno@clisp.org>
12535
12536         strerror_r-posix: Fix for MSVC 9.
12537         * lib/strerror_r.c (local_snprintf): New function.
12538         (snprintf): Define to local_snprintf, not to _snprintf.
12539
12540 2011-09-25  Bruno Haible  <bruno@clisp.org>
12541
12542         ftruncate: Support for MSVC 9.
12543         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
12544         (chsize_nothrow): New function.
12545         (chsize): Redefine as a macro.
12546         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
12547         * modules/ftruncate (Depends-on): Add msvc-inval.
12548
12549 2011-09-25  Bruno Haible  <bruno@clisp.org>
12550
12551         New module 'fstat'.
12552         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
12553         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
12554         * lib/fchdir.c (rpl_fstat): Remove function.
12555         * m4/fstat.m4: New file.
12556         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
12557         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
12558         declared.
12559         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
12560         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
12561         * modules/fstat: New file.
12562         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
12563         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
12564         is set.
12565         * doc/posix-functions/fstat.texi: Mention the new module and the
12566         problem on MSVC.
12567         * NEWS: Mention the change.
12568         * modules/acl (Depends-on): Add fstat.
12569         * modules/chdir-safer (Depends-on): Likewise.
12570         * modules/chown (Depends-on): Likewise.
12571         * modules/copy-file (Depends-on): Likewise.
12572         * modules/fchdir (Depends-on): Likewise.
12573         * modules/fdopendir (Depends-on): Likewise.
12574         * modules/fopen (Depends-on): Likewise.
12575         * modules/fts (Depends-on): Likewise.
12576         * modules/getcwd (Depends-on): Likewise.
12577         * modules/isapipe (Depends-on): Likewise.
12578         * modules/linkat (Depends-on): Likewise.
12579         * modules/lseek (Depends-on): Likewise.
12580         * modules/mkdir-p (Depends-on): Likewise.
12581         * modules/open (Depends-on): Likewise.
12582         * modules/openat (Depends-on): Likewise.
12583         * modules/read-file (Depends-on): Likewise.
12584         * modules/renameat (Depends-on): Likewise.
12585         * modules/utimens (Depends-on): Likewise.
12586
12587 2011-09-25  Bruno Haible  <bruno@clisp.org>
12588
12589         linkat: Fix compilation on MSVC 9.
12590         * lib/linkat.c: Don't include <stdint.h>.
12591
12592 2011-09-25  Bruno Haible  <bruno@clisp.org>
12593
12594         fclose: Support for MSVC 9.
12595         * lib/fclose.c: Include msvc-inval.h.
12596         (fclose_nothrow): New function.
12597         (rpl_fclose): Use it.
12598         * modules/fclose (Depends-on): Add msvc-inval.
12599         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
12600
12601 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12602
12603         dup2: minor simplifications
12604         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
12605         that it's a performance win.
12606         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
12607         ! defined __CYGWIN__)" to "ifdef F_GETFL".
12608
12609 2011-09-24  Jim Meyering  <meyering@redhat.com>
12610
12611         test-futimens: avoid a warning from gcc -Wshadow
12612         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
12613         to avoid a shadowing warning.
12614
12615 2011-09-24  Bruno Haible  <bruno@clisp.org>
12616
12617         fdopen: Support for MSVC 9.
12618         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
12619         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
12620         * lib/fdopen.c: Include msvc-inval.h.
12621         (fdopen_nothrow): New function.
12622         (rpl_fdopen): Use it.
12623         * modules/fdopen (Depends-on): Add msvc-inval.
12624         * modules/fclose-tests (Depends-on): Add fdopen.
12625         * modules/fflush-tests (Depends-on): Likewise.
12626         * modules/fgetc-tests (Depends-on): Likewise.
12627         * modules/fputc-tests (Depends-on): Likewise.
12628         * modules/fread-tests (Depends-on): Likewise.
12629         * modules/freopen-tests (Depends-on): Likewise.
12630         * modules/fseeko-tests (Depends-on): Likewise.
12631         * modules/ftello-tests (Depends-on): Likewise.
12632         * modules/fwrite-tests  (Depends-on): Likewise.
12633         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
12634
12635 2011-09-24  Bruno Haible  <bruno@clisp.org>
12636
12637         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
12638         * modules/fgetc-tests (Depends-on): Add unistd.
12639         * modules/fputc-tests (Depends-on): Likewise.
12640         * modules/fread-tests (Depends-on): Likewise.
12641         * modules/fwrite-tests (Depends-on): Likewise.
12642
12643 2011-09-24  Bruno Haible  <bruno@clisp.org>
12644
12645         dup: Simplify autoconf test.
12646         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
12647         on gl_MSVC_INVAL's result.
12648
12649 2011-09-24  Bruno Haible  <bruno@clisp.org>
12650
12651         Tests for function fwrite().
12652         * modules/fwrite-tests: New file.
12653         * tests/test-fwrite.c: New file.
12654         * modules/stdio-tests (Depends-on): Add fwrite-tests.
12655
12656         Tests for function fread().
12657         * modules/fread-tests: New file.
12658         * tests/test-fread.c: New file.
12659         * modules/stdio-tests (Depends-on): Add fread-tests.
12660
12661         Activate fputc tests.
12662         * modules/stdio-tests (Depends-on): Add fputc-tests.
12663
12664         Enhance fgetc, fputc tests.
12665         * tests/test-fgetc.c (main): Also test the stream's error indicator.
12666         * tests/test-fputc.c (main): Likewise.
12667
12668 2011-09-24  Bruno Haible  <bruno@clisp.org>
12669
12670         write: Support for MSVC 9.
12671         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12672         is not 1.
12673         * lib/write.c (write_nothrow): New function.
12674         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
12675         not 1. Use write_nothrow.
12676         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
12677         invalid parameter handler.
12678         (gl_PREREQ_WRITE): New macro.
12679         * modules/write (Depends-on): Add msvc-inval.
12680         (configure.ac): Invoke gl_PREREQ_WRITE.
12681         * doc/posix-functions/write.texi: Mention the problem on MSVC.
12682
12683 2011-09-24  Bruno Haible  <bruno@clisp.org>
12684
12685         read: Fix last commit.
12686         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
12687
12688 2011-09-24  Bruno Haible  <bruno@clisp.org>
12689
12690         dup2: Fix last commit.
12691         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
12692         (rpl_dup2): Disable fcntl workaround on native Windows.
12693
12694         sigprocmask: Make code safer.
12695         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
12696         section that changes macro definitions for this compilation unit.
12697
12698 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12699
12700         dup2: clarify by coalescing Windows-specific material
12701         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
12702         "msvc-nothrow.h"' to the Windows-specific section, so that the
12703         Emacs source need not contain these include files.
12704         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
12705         Windows-specific fixes into this function rather than just the
12706         nothrow fix, as this shortens and clarifies the code.  Always
12707         define as a function, as that's a bit cleaner than having it be
12708         sometimes a function and sometimes a macro.
12709         (rpl_dup2): Move the Windows-specific stuff out of here and into
12710         ms_windows_dup2.  Don't protect the Haiku-related fix with
12711         "#if !defined __linux__", as the same code also works around
12712         a Linux kernel bug, and it doesn't add any system calls on any
12713         platform.  Add comment about FreeBSD 6.1.
12714
12715         sigprocmask: move #include directive
12716         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
12717         Windows-specific section, so that the Emacs source need not
12718         contain msvc-inval.h.
12719
12720 2011-09-23  Bruno Haible  <bruno@clisp.org>
12721
12722         read: Support for MSVC 9.
12723         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12724         is not 1.
12725         * lib/read.c (read_nothrow): New function.
12726         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
12727         read_nothrow.
12728         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
12729         invalid parameter handler.
12730         (gl_PREREQ_READ): New macro.
12731         * modules/read (Depends-on): Add msvc-inval.
12732         (configure.ac): Invoke gl_PREREQ_READ.
12733         * doc/posix-functions/read.texi: Mention the problem on MSVC.
12734
12735 2011-09-23  Bruno Haible  <bruno@clisp.org>
12736
12737         close: Support for MSVC 9.
12738         * lib/close.c: Include <errno.h>, msvc-inval.h.
12739         (close_nothrow): New function.
12740         (rpl_close): Use it.
12741         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
12742         invalid parameter handler.
12743         * modules/close (Depends-on): Add msvc-inval.
12744         * modules/dup2-tests (Depends-on): Add close.
12745         * modules/dup3-tests (Depends-on): Likewise.
12746         * modules/fcntl-tests (Depends-on): Likewise.
12747         * modules/spawn-pipe-tests (Depends-on): Likewise.
12748         * modules/unistd-safer-tests (Depends-on): Likewise.
12749         * doc/posix-functions/close.texi: Mention the problem on MSVC.
12750
12751 2011-09-23  Bruno Haible  <bruno@clisp.org>
12752
12753         New module 'dup'.
12754         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
12755         Allow replacement.
12756         * lib/dup.c: New file.
12757         * lib/fchdir.c (rpl_dup): Remove function.
12758         * m4/dup.m4: New file.
12759         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
12760         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
12761         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
12762         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
12763         * modules/dup: New file.
12764         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
12765         'dup' module is in use.
12766         * modules/fdopendir (Depends-on): Add dup.
12767         * modules/fdutimensat-tests (Depends-on): Likewise.
12768         * modules/fts (Depends-on): Likewise.
12769         * modules/futimens-tests (Depends-on): Likewise.
12770         * modules/posix_spawnp-tests (Depends-on): Likewise.
12771         * modules/unistd-safer-tests (Depends-on): Likewise.
12772         * modules/utimens-tests (Depends-on): Likewise.
12773         * doc/posix-functions/dup.texi: Mention the new module and the problem
12774         on MSVC.
12775
12776 2011-09-23  Bruno Haible  <bruno@clisp.org>
12777
12778         getdtablesize: Support for MSVC 9.
12779         * lib/getdtablesize.c: Include msvc-inval.h.
12780         (_setmaxstdio_nothrow): New function.
12781         (_setmaxstdio): Redefine it.
12782         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
12783         * modules/getdtablesize (Depends-on): Add msvc-inval.
12784         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
12785
12786 2011-09-23  Bruno Haible  <bruno@clisp.org>
12787
12788         signal-h: Rename from signal.
12789         * modules/signal-h: Renamed from modules/signal.
12790         * modules/pthread_sigmask (Depends-on): Update.
12791         * modules/raise (Depends-on): Likewise.
12792         * modules/sigaction (Depends-on): Likewise.
12793         * modules/sigpipe (Depends-on): Likewise.
12794         * modules/sigprocmask (Depends-on): Likewise.
12795         * modules/sys_select (Depends-on): Likewise.
12796         * modules/signal-h-tests: Renamed from modules/signal-tests.
12797         (Files, Depends-on, Makefile.am): Update.
12798         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
12799         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
12800         (Files, Makefile.am): Update.
12801         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
12802         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
12803         * modules/signal: New placeholder file.
12804         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
12805         * doc/posix-headers/signal.texi: Update.
12806         * NEWS: Mention the change.
12807
12808 2011-09-23  Bruno Haible  <bruno@clisp.org>
12809
12810         sigprocmask: Avoid crashes through signal() on MSVC 9.
12811         * lib/sigprocmask.c: Include msvc-inval.h.
12812         (signal_nothrow): New function.
12813         (signal): Redefine it.
12814         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
12815         * modules/sigprocmask (Depends-on): Add msvc-inval.
12816         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
12817
12818 2011-09-23  Bruno Haible  <bruno@clisp.org>
12819
12820         Tests for module 'raise'.
12821         * modules/raise-tests: New file.
12822         * tests/test-raise.c: New file.
12823
12824         raise: Support for MSVC.
12825         * lib/signal.in.h (raise): New declaration.
12826         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
12827         for native Windows platforms.
12828         * m4/raise.m4: New file.
12829         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
12830         HAVE_RAISE, REPLACE_RAISE.
12831         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
12832         REPLACE_RAISE.
12833         * modules/raise (Status, Notice): Remove fields.
12834         (Files): Add m4/raise.m4.
12835         (Depends-on): Add signal, msvc-inval.
12836         (configure.ac): Use the common idioms.
12837         (Maintainer): Add me.
12838         * tests/test-signal-c++.cc: Check the signature of raise.
12839         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
12840
12841 2011-09-23  Bruno Haible  <bruno@clisp.org>
12842
12843         pipe2: Fix compilation on pre-C99 compilers.
12844         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
12845
12846 2011-09-23  Bruno Haible  <bruno@clisp.org>
12847
12848         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
12849         * lib/msvc-nothrow.h: New file.
12850         * lib/msvc-nothrow.c: New file.
12851         * m4/msvc-nothrow.m4: New file.
12852         * modules/msvc-nothrow: New file.
12853         * lib/dup2.c: Include msvc-nothrow.h.
12854         (rpl_dup2): No need to protect _get_osfhandle call here.
12855         * lib/accept4.c: Include msvc-nothrow.h.
12856         * lib/error.c: Likewise.
12857         * lib/fcntl.c: Likewise.
12858         * lib/lseek.c: Likewise.
12859         * lib/nonblocking.c: Likewise.
12860         * lib/poll.c: Likewise.
12861         * lib/read.c: Likewise.
12862         * lib/select.c: Likewise.
12863         * lib/sockets.h: Likewise.
12864         * lib/sockets.c: Likewise.
12865         * lib/stdio-read.c: Likewise.
12866         * lib/stdio-write.c: Likewise.
12867         * lib/write.c: Likewise.
12868         * lib/w32sock.h: Likewise.
12869         * lib/w32spawn.h: Likewise.
12870         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
12871         * lib/fsync.c: Likewise.
12872         * lib/isapipe.c: Likewise.
12873         * modules/dup2 (Depends-on): Add msvc-nothrow.
12874         * modules/accept4 (Depends-on): Likewise.
12875         * modules/error (Depends-on): Likewise.
12876         * modules/fcntl (Depends-on): Likewise.
12877         * modules/lseek (Depends-on): Likewise.
12878         * modules/nonblocking (Depends-on): Likewise.
12879         * modules/poll (Depends-on): Likewise.
12880         * modules/read (Depends-on): Likewise.
12881         * modules/select (Depends-on): Likewise.
12882         * modules/sockets (Depends-on): Likewise.
12883         * modules/sigpipe (Depends-on): Likewise.
12884         * modules/write (Depends-on): Likewise.
12885         * modules/accept (Depends-on): Likewise.
12886         * modules/bind (Depends-on): Likewise.
12887         * modules/connect (Depends-on): Likewise.
12888         * modules/gethostname (Depends-on): Likewise.
12889         * modules/getpeername (Depends-on): Likewise.
12890         * modules/getsockname (Depends-on): Likewise.
12891         * modules/getsockopt (Depends-on): Likewise.
12892         * modules/ioctl (Depends-on): Likewise.
12893         * modules/listen (Depends-on): Likewise.
12894         * modules/recv (Depends-on): Likewise.
12895         * modules/recvfrom (Depends-on): Likewise.
12896         * modules/send (Depends-on): Likewise.
12897         * modules/sendto (Depends-on): Likewise.
12898         * modules/setsockopt (Depends-on): Likewise.
12899         * modules/shutdown (Depends-on): Likewise.
12900         * modules/socket (Depends-on): Likewise.
12901         * modules/execute (Depends-on): Likewise.
12902         * modules/spawn-pipe (Depends-on): Likewise.
12903         * modules/flock (Depends-on): Likewise.
12904         * modules/fsync (Depends-on): Likewise.
12905         * modules/isapipe (Depends-on): Likewise.
12906         * tests/test-cloexec.c: Include msvc-nothrow.h.
12907         * tests/test-dup-safer.c: Likewise.
12908         * tests/test-dup2.c: Likewise.
12909         * tests/test-dup3.c: Likewise.
12910         * tests/test-fcntl.c: Likewise.
12911         * tests/test-pipe.c: Likewise.
12912         * tests/test-pipe2.c: Likewise.
12913         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
12914         * modules/unistd-safer-tests (Depends-on): Likewise.
12915         * modules/dup2-tests (Depends-on): Likewise.
12916         * modules/dup3-tests (Depends-on): Likewise.
12917         * modules/fcntl-tests (Depends-on): Likewise.
12918         * modules/pipe-posix-tests (Depends-on): Likewise.
12919         * modules/pipe2-tests (Depends-on): Likewise.
12920
12921 2011-09-23  Bruno Haible  <bruno@clisp.org>
12922
12923         dup2: Make code more maintainable.
12924         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
12925         (rpl_dup2): Use it.
12926         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
12927         * modules/dup2 (configure.ac): Invoke it.
12928         Reported by Paul Eggert.
12929
12930 2011-09-23  Bruno Haible  <bruno@clisp.org>
12931
12932         msvc-inval: Fix compilation error.
12933         * lib/msvc-inval.h: Include <excpt.h>.
12934
12935 2011-09-23  Bruno Haible  <bruno@clisp.org>
12936
12937         mkdir: Tweak for MSVC 9.
12938         * lib/sys_stat.in.h: Update comments.
12939         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
12940
12941         Tests for module 'chdir'.
12942         * modules/chdir-tests: New file.
12943         * tests/test-chdir.c: New file.
12944
12945         New module 'chdir'.
12946         * modules/chdir: New file.
12947         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
12948         (chdir): New declaration.
12949         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
12950         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
12951         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
12952         * tests/test-unistd-c++.cc: Check signature of chdir.
12953         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
12954         * modules/chdir-long (Depends-on): Add chdir.
12955         * modules/fchdir (Depends-on): Likewise.
12956         * modules/rename (Depends-on): Likewise.
12957         * modules/savewd (Depends-on): Likewise.
12958
12959         rmdir: Support for mingw, MSVC 9.
12960         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
12961         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
12962
12963         getcwd: Tweak for MSVC 9.
12964         * lib/unistd.in.h: Update comments.
12965         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
12966
12967 2011-09-22  Bruno Haible  <bruno@clisp.org>
12968
12969         strerror_r-posix: Avoid a link error on MSVC.
12970         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
12971         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
12972
12973 2011-09-22  Bruno Haible  <bruno@clisp.org>
12974
12975         select: Avoid link errors on MSVC.
12976         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
12977         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
12978         * modules/pselect (Link): Likewise.
12979         * NEWS: Mention the change.
12980         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
12981         test-select-stdin against $(LIB_SELECT).
12982         * modules/pselect-tests (Makefile.am): Link test-pselect against
12983         $(LIB_SELECT).
12984
12985 2011-09-22  Bruno Haible  <bruno@clisp.org>
12986
12987         select: Avoid compilation error on MSVC.
12988         * lib/select.c: Don't include <stdbool.h>.
12989
12990 2011-09-21  Bruno Haible  <bruno@clisp.org>
12991
12992         Consolidate all uses of PATH_MAX in *.m4 files.
12993         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
12994         macros.
12995         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
12996         and gl_PATHMAX_SNIPPET.
12997         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
12998         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
12999         * modules/chdir-long (Files): Add m4/pathmax.m4.
13000         * modules/getcwd (Files): Likewise.
13001
13002 2011-09-21  Bruno Haible  <bruno@clisp.org>
13003
13004         ftruncate: Un-deprecate, concentrate on Win32 support.
13005         * modules/ftruncate (Status, Notice): Remove sections.
13006         (Depends-on): Add largefile.
13007         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
13008         non-mingw platforms.
13009         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
13010         include <io.h>.
13011         * modules/perror-tests (Depends-on): Add ftruncate.
13012         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
13013         'ftruncate' module.
13014
13015 2011-09-21  Bruno Haible  <bruno@clisp.org>
13016
13017         Add dependencies to new dirent related modules.
13018         * modules/opendir (Depends-on): Add closedir.
13019         * modules/getcwd (Depends-on): Add opendir, closedir.
13020         * modules/dirent-safer-tests (Depends-on): Likewise.
13021         * modules/fdopendir-tests (Depends-on): Likewise.
13022         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
13023         * modules/renameat-tests (Depends-on): Likewise.
13024
13025 2011-09-21  Bruno Haible  <bruno@clisp.org>
13026
13027         opendir: Avoid compilation error on mingw.
13028         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
13029         * modules/opendir (Depends-on): Add unistd.
13030
13031 2011-09-21  Bruno Haible  <bruno@clisp.org>
13032
13033         ftruncate tests: Avoid a test failure on mingw.
13034         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
13035
13036 2011-09-21  Bruno Haible  <bruno@clisp.org>
13037
13038         select tests: Avoid test failures on OSF/1 5.1 and mingw.
13039         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
13040         native Windows.
13041
13042 2011-09-21  Bruno Haible  <bruno@clisp.org>
13043
13044         New module 'fdopen'.
13045         * lib/stdio.in.h (fdopen): New declaration.
13046         * lib/fdopen.c: New file.
13047         * m4/fdopen.m4: New file.
13048         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
13049         REPLACE_FDOPEN.
13050         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
13051         REPLACE_FDOPEN.
13052         * modules/fdopen: New file.
13053         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
13054         * tests/test-stdio-c++.cc: Check signature of fdopen.
13055         * doc/posix-functions/fdopen.texi: Mention the new module.
13056
13057 2011-09-21  Bruno Haible  <bruno@clisp.org>
13058
13059         unlockpt tests: Avoid test failure on NetBSD 5.1.
13060         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
13061         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
13062
13063 2011-09-21  Bruno Haible  <bruno@clisp.org>
13064
13065         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
13066         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
13067         * tests/test-getlogin_r.c (main): Likewise.
13068
13069 2011-09-20  Bruno Haible  <bruno@clisp.org>
13070
13071         time tests: Don't require pid_t.
13072         * doc/posix-headers/time.texi: Revert last change.
13073         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
13074         * tests/test-time.c: Comment out the check for pid_t.
13075
13076 2011-09-20  Bruno Haible  <bruno@clisp.org>
13077
13078         fsync tests: Avoid a test failure on mingw.
13079         * tests/test-fsync.c (main): Allow a failure with EIO.
13080
13081 2011-09-20  Bruno Haible  <bruno@clisp.org>
13082
13083         euidaccess: Update comments.
13084         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
13085
13086 2011-09-20  Bruno Haible  <bruno@clisp.org>
13087
13088         Ensure EBADF returns for socket functions on mingw.
13089         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
13090         descriptor is invalid.
13091         * lib/bind.c (rpl_bind): Likewise.
13092         * lib/connect.c (rpl_connect): Likewise.
13093         * lib/getpeername.c (rpl_getpeername): Likewise.
13094         * lib/getsockname.c (rpl_getsockname): Likewise.
13095         * lib/getsockopt.c (rpl_getsockopt): Likewise.
13096         * lib/listen.c (rpl_listen): Likewise.
13097         * lib/recv.c (rpl_recv): Likewise.
13098         * lib/recvfrom.c (rpl_recvfrom): Likewise.
13099         * lib/send.c (rpl_send): Likewise.
13100         * lib/sendto.c (rpl_sendto): Likewise.
13101         * lib/setsockopt.c (rpl_setsockopt): Likewise.
13102         * lib/shutdown.c (rpl_shutdown): Likewise.
13103
13104 2011-09-20  Bruno Haible  <bruno@clisp.org>
13105
13106         select tests: EBADF tests.
13107         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
13108         test_bad_fd): New functions.
13109         (test_function): Invoke also test_bad_fd.
13110
13111 2011-09-20  Bruno Haible  <bruno@clisp.org>
13112
13113         Tests for module 'posix_spawn_file_actions_addopen.
13114         * modules/posix_spawn_file_actions_addopen-tests: New file.
13115         * tests/test-posix_spawn_file_actions_addopen.c: New file.
13116
13117         Tests for module 'posix_spawn_file_actions_adddup2'.
13118         * modules/posix_spawn_file_actions_adddup2-tests: New file.
13119         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
13120
13121         Tests for module 'posix_spawn_file_actions_addclose'.
13122         * modules/posix_spawn_file_actions_addclose-tests: New file.
13123         * tests/test-posix_spawn_file_actions_addclose.c: New file.
13124
13125 2011-09-20  Bruno Haible  <bruno@clisp.org>
13126
13127         Tests for module 'unlockpt'.
13128         * modules/unlockpt-tests: New file.
13129         * tests/test-unlockpt.c: New file.
13130         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
13131
13132         Tests for module 'grantpt'.
13133         * modules/grantpt-tests: New file.
13134         * tests/test-grantpt.c: New file.
13135         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
13136
13137 2011-09-20  Bruno Haible  <bruno@clisp.org>
13138
13139         freopen tests: EBADF tests.
13140         * tests/test-freopen.c: Include errno.h, unistd.h.
13141         (main): Add tests for EBADF, commented out for the moment.
13142
13143         fclose tests: EBADF tests.
13144         * tests/test-fclose.c (main): Add tests for EBADF.
13145
13146         fflush tests: EBADF tests.
13147         * tests/test-fflush.c: Include errno.h, macros.h.
13148         (main): Add tests for EBADF.
13149
13150         ftello tests: EBADF tests.
13151         * tests/test-ftello4.sh: New file.
13152         * tests/test-ftello4.c: New file.
13153         * modules/ftello-tests (Files): Add them.
13154         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
13155
13156         fseeko tests: EBADF tests.
13157         * tests/test-fseeko4.sh: New file.
13158         * tests/test-fseeko4.c: New file.
13159         * modules/fseeko-tests (Files): Add them.
13160         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
13161
13162         Tests for function fputc().
13163         * modules/fputc-tests: New file.
13164         * tests/test-fputc.c: New file.
13165         * modules/stdio-tests (Depends-on): Add fputc-tests.
13166
13167         Tests for function fgetc().
13168         * modules/fgetc-tests: New file.
13169         * tests/test-fgetc.c: New file.
13170         * modules/stdio-tests (Depends-on): Add fgetc-tests.
13171
13172         Tests for function fdopen().
13173         * modules/fdopen-tests: New file.
13174         * tests/test-fdopen.c: New file.
13175         * modules/stdio-tests (Depends-on): Add fdopen-tests.
13176
13177         Tests for module 'vdprintf'.
13178         * modules/vdprintf-tests: New file.
13179         * tests/test-vdprintf.c: New file.
13180
13181         Tests for module 'dprintf'.
13182         * modules/dprintf-tests: New file.
13183         * tests/test-dprintf.c: New file.
13184
13185 2011-09-20  Bruno Haible  <bruno@clisp.org>
13186
13187         Tests for module 'ioctl'.
13188         * modules/ioctl-tests: New file.
13189         * tests/test-ioctl.c: New file.
13190
13191 2011-09-20  Bruno Haible  <bruno@clisp.org>
13192
13193         fcntl tests: EBADF tests.
13194         * tests/test-fcntl.c (main): Add more tests for EBADF.
13195
13196 2011-09-20  Bruno Haible  <bruno@clisp.org>
13197
13198         utimensat tests: EBADF tests.
13199         * tests/test-utimensat.c (main): Add tests for EBADF.
13200
13201         renameat tests: EBADF tests.
13202         * tests/test-renameat.c (main): Add tests for EBADF.
13203
13204         mkfifoat tests: EBADF tests.
13205         * tests/test-mkfifoat.c (main): Add tests for EBADF.
13206
13207         readlinkat tests: EBADF tests.
13208         * tests/test-readlinkat.c (main): Add tests for EBADF.
13209
13210         symlinkat tests: EBADF tests.
13211         * tests/test-symlinkat.c (main): Add tests for EBADF.
13212
13213         linkat tests: EBADF tests.
13214         * tests/test-linkat.c (main): Add tests for EBADF.
13215
13216         Tests for module 'faccessat'.
13217         * modules/faccessat-tests: New file.
13218         * tests/test-faccessat.c: New file.
13219
13220         fdopendir tests: EBADF tests.
13221         * tests/test-fdopendir.c (main): Add more tests for EBADF.
13222
13223         openat tests: EBADF tests.
13224         * tests/test-fchownat.c (main): Add tests for EBADF.
13225         * tests/test-fstatat.c (main): Likewise.
13226         * tests/test-mkdirat.c (main): Likewise.
13227         * tests/test-openat.c (main): Likewise.
13228         * tests/test-unlinkat.c (main): Likewise.
13229         * tests/test-fchmodat.c: New file.
13230         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
13231         (Makefile.am): Also run 'test-fchmodat'.
13232
13233 2011-09-20  Bruno Haible  <bruno@clisp.org>
13234
13235         utimens, futimens, fdutimensat tests: EBADF tests.
13236         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
13237
13238         Tests for function fstat().
13239         * modules/fstat-tests: New file.
13240         * tests/test-fstat.c: New file.
13241         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
13242
13243 2011-09-20  Bruno Haible  <bruno@clisp.org>
13244
13245         test-ttyname_r tests: EBADF tests.
13246         * tests/test-ttyname_r.c (main): Add tests for EBADF.
13247
13248         Tests for module 'isatty'.
13249         * modules/isatty-tests: New file.
13250         * tests/test-isatty.c: New file.
13251
13252         Tests for module 'write'.
13253         * modules/write-tests: New file.
13254         * tests/test-write.c: New file.
13255
13256         Tests for module 'read'.
13257         * modules/read-tests: New file.
13258         * tests/test-read.c: New file.
13259
13260         pwrite tests: EBADF tests.
13261         * tests/test-pwrite.c (main): Add tests for EBADF.
13262
13263         pread tests: EBADF tests.
13264         * tests/test-pread.c (main): Add tests for EBADF.
13265
13266         lseek tests: EBADF tests.
13267         * tests/test-lseek.c (main): Add more tests for EBADF.
13268
13269         Tests for module 'ftruncate'.
13270         * modules/ftruncate-tests: New file.
13271         * tests/test-ftruncate.sh: New file.
13272         * tests/test-ftruncate.c: New file.
13273
13274         fsync tests: EBADF tests.
13275         * tests/test-fsync.c (main): Add more tests for EBADF.
13276
13277         fdatasync tests: EBADF tests.
13278         * tests/test-fdatasync.c (main): Add more tests for EBADF.
13279
13280         Tests for module 'fchown'.
13281         * modules/fchown-tests: New file.
13282         * tests/test-fchown.c: New file.
13283
13284         Tests for module 'fchmod'.
13285         * modules/fchmod-tests: New file.
13286         * tests/test-fchmod.c: New file.
13287
13288         fchdir tests: EBADF tests.
13289         * tests/test-fchdir.c (main): Add more tests for EBADF.
13290
13291         dup2 tests: EBADF tests.
13292         * tests/test-dup2.c (main): Add more tests for EBADF.
13293
13294         Tests for module 'dup'.
13295         * modules/dup-tests: New file.
13296         * tests/test-dup.c: New file.
13297
13298         Tests for module 'close'.
13299         * modules/close-tests: New file.
13300         * tests/test-close.c: New file.
13301
13302 2011-09-20  Bruno Haible  <bruno@clisp.org>
13303
13304         Tests for module 'shutdown'.
13305         * modules/shutdown-tests: New file.
13306         * tests/test-shutdown.c: New file.
13307
13308         Tests for module 'setsockopt'.
13309         * modules/setsockopt-tests: New file.
13310         * tests/test-setsockopt.c: New file.
13311
13312         Tests for module 'sendto'.
13313         * modules/sendto-tests: New file.
13314         * tests/test-sendto.c: New file.
13315
13316         Tests for module 'send'.
13317         * modules/send-tests: New file.
13318         * tests/test-send.c: New file.
13319
13320         Tests for module 'recvfrom'.
13321         * modules/recvfrom-tests: New file.
13322         * tests/test-recvfrom.c: New file.
13323
13324         Tests for module 'recv'.
13325         * modules/recv-tests: New file.
13326         * tests/test-recv.c: New file.
13327
13328         Tests for module 'listen'.
13329         * modules/listen-tests: New file.
13330         * tests/test-listen.c: New file.
13331
13332         Tests for module 'getsockopt'.
13333         * modules/getsockopt-tests: New file.
13334         * tests/test-getsockopt.c: New file.
13335
13336         Tests for module 'getsockname'.
13337         * modules/getsockname-tests: New file.
13338         * tests/test-getsockname.c: New file.
13339
13340         Tests for module 'getpeername'.
13341         * modules/getpeername-tests: New file.
13342         * tests/test-getpeername.c: New file.
13343
13344         Tests for module 'connect'.
13345         * modules/connect-tests: New file.
13346         * tests/test-connect.c: New file.
13347
13348         Tests for module 'bind'.
13349         * modules/bind-tests: New file.
13350         * tests/test-bind.c: New file.
13351
13352         accept4 tests: Fix for native Windows.
13353         * tests/test-accept4.c: Include sockets.h.
13354         (main): Invoke gl_sockets_startup.
13355         * modules/accept4-tests (Depends-on): Add sockets.
13356
13357         accept tests: Fix for native Windows.
13358         * tests/test-accept.c: Include sockets.h.
13359         (main): Invoke gl_sockets_startup.
13360         * modules/accept-tests (Depends-on): Add sockets.
13361
13362 2011-09-19  Bruno Haible  <bruno@clisp.org>
13363
13364         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
13365         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
13366         do...while(0).
13367         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
13368         Suggested by Paul Eggert.
13369
13370 2011-09-19  Bruno Haible  <bruno@clisp.org>
13371
13372         sched: Ensure pid_t is defined.
13373         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
13374         not define pid_t.
13375         * lib/sched.in.h: Include <sys/types.h>.
13376         * doc/posix-headers/sched.texi: Mention the pid_t problem.
13377         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13378
13379 2011-09-19  Bruno Haible  <bruno@clisp.org>
13380
13381         msvc-inval: Ensure the entire expansion is a single statement.
13382         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
13383         of braces.
13384
13385 2011-09-19  Jim Meyering  <meyering@redhat.com>
13386
13387         tests: use printf, not echo in init.sh's warn_ function
13388         * tests/init.sh (warn_): Use printf, not echo.  The latter would
13389         misbehave when given strings containing a backslash or starting
13390         with e.g., -n.  James Youngman suggested setting IFS.
13391
13392 2011-09-19  Eric Blake  <eblake@redhat.com>
13393
13394         futimens: enhance test
13395         * tests/test-futimens.h (test_futimens): Also check for EBADF on
13396         closed non-negative fd.
13397
13398         date: accept 'hence' as opposite of 'ago'
13399         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
13400         * tests/test-parse-datetime.c (main): Enhance test.
13401         Suggested by Jesse Wilson.
13402
13403 2011-09-19  Jim Meyering  <meyering@redhat.com>
13404
13405         getcwd: don't fail in a deep directory on a system without openat
13406         Before this change, getcwd would fail when called from a directory
13407         of depth PATH_MAX / 3 or greater.  That was due to the fact that
13408         the non-openat implementation used "..", "../..", "../../..", etc.
13409         to access ancestor directories.  With too many, that string would
13410         be longer than PATH_MAX.
13411         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
13412         using gnulib's openat replacement.
13413         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
13414         we're using the replacement function.
13415
13416 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
13417
13418         maint.mk: avoid warnings from perl about missing files
13419         * top/maint.mk (def_sym_regex): Ignore files listed in
13420         $(gl_other_headers_) that do not exist, say because a project
13421         does not use a corresponding module.
13422
13423 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
13424
13425         stat: use pathmax.h only if needed
13426         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
13427         This is better for Emacs, which does not have a mingw port and
13428         therefore can avoid the pathmax module.
13429
13430         utimens: remove dependency on dup2
13431         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
13432         to work around the Linux kernel bug.
13433         * modules/utimens (Depends-on): Remove dup2.
13434
13435 2011-09-18  Bruno Haible  <bruno@clisp.org>
13436
13437         inet_ntop, inet_pton: Look for it also in libresolv.
13438         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
13439         libnsl, search for it in libresolv.
13440         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13441         Needed on Solaris 7.
13442
13443 2011-09-18  Bruno Haible  <bruno@clisp.org>
13444
13445         accept, accept4 tests: Avoid link error on Solaris.
13446         * modules/accept-tests (Makefile.am): Link test-accept against
13447         $(LIBSOCKET).
13448         * modules/accept4-tests (Makefile.am): Link test-accept4 against
13449         $(LIBSOCKET).
13450
13451         accept4: Avoid link error on Solaris.
13452         * modules/accept4 (Link): New section.
13453
13454         socket functions: Avoid link errors on Solaris.
13455         * modules/accept (Depends-on): Add socketlib.
13456         (Link): New section.
13457         * modules/bind (Depends-on): Add socketlib.
13458         (Link): New section.
13459         * modules/connect (Depends-on): Add socketlib.
13460         (Link): New section.
13461         * modules/getpeername (Depends-on): Add socketlib.
13462         (Link): New section.
13463         * modules/getsockname (Depends-on): Add socketlib.
13464         (Link): New section.
13465         * modules/getsockopt (Depends-on): Add socketlib.
13466         (Link): New section.
13467         * modules/listen (Depends-on): Add socketlib.
13468         (Link): New section.
13469         * modules/recv (Depends-on): Add socketlib.
13470         (Link): New section.
13471         * modules/recvfrom (Depends-on): Add socketlib.
13472         (Link): New section.
13473         * modules/send (Depends-on): Add socketlib.
13474         (Link): New section.
13475         * modules/sendto (Depends-on): Add socketlib.
13476         (Link): New section.
13477         * modules/setsockopt (Depends-on): Add socketlib.
13478         (Link): New section.
13479         * modules/shutdown (Depends-on): Add socketlib.
13480         (Link): New section.
13481         * modules/socket (Depends-on): Add socketlib.
13482         (Link): New section.
13483
13484 2011-09-18  Bruno Haible  <bruno@clisp.org>
13485
13486         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
13487         * tests/test-ptsname.c (main): Terminate the test if it takes longer
13488         than 5 seconds.
13489         * modules/ptsname-tests (configure.ac): Test for alarm.
13490
13491 2011-09-18  Bruno Haible  <bruno@clisp.org>
13492
13493         posix_spawn_file_actions_add*: Fix module dependencies.
13494         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
13495         posix_spawn_file_actions_init.
13496         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
13497         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
13498
13499 2011-09-18  Bruno Haible  <bruno@clisp.org>
13500
13501         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
13502         * tests/test-rename.h (test_rename): Allow error code EEXIST.
13503         * tests/test-renameat.c (main): Likewise.
13504
13505 2011-09-18  Bruno Haible  <bruno@clisp.org>
13506
13507         Tests for module 'accept4'.
13508         * modules/accept4-tests: New file.
13509         * tests/test-accept4.c: New file.
13510
13511 2011-09-18  Bruno Haible  <bruno@clisp.org>
13512
13513         Tests for module 'accept'.
13514         * modules/accept-tests: New file.
13515         * tests/test-accept.c: New file.
13516
13517 2011-09-18  Bruno Haible  <bruno@clisp.org>
13518
13519         dup2: Support for MSVC.
13520         * lib/dup2.c: Include msvc-inval.h.
13521         (rpl_dup2): Handle invalid parameter notifications during dup2 and
13522         _get_osfhandle calls.
13523         * modules/dup2 (Depends-on): Add msvc-inval.
13524         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
13525
13526         New module 'msvc-inval'.
13527         * lib/msvc-inval.h: New file.
13528         * lib/msvc-inval.c: New file.
13529         * m4/msvc-inval.m4: New file.
13530         * modules/msvc-inval: New file.
13531
13532 2011-09-17  Bruno Haible  <bruno@clisp.org>
13533
13534         Tests for module 'pclose'.
13535         * modules/pclose-tests: New file.
13536
13537         New module 'pclose'.
13538         * lib/stdio.in.h (pclose): New declaration.
13539         * lib/pclose.c: New file.
13540         * m4/pclose.m4: New file.
13541         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
13542         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
13543         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
13544         * modules/pclose: New file.
13545         * modules/popen-tests (Depends-on): Add pclose.
13546         * modules/popen-safer-tests (Depends-on): Likewise.
13547         * doc/posix-functions/pclose.texi: Mention the new module.
13548
13549 2011-09-17  Bruno Haible  <bruno@clisp.org>
13550
13551         popen: Support for MSVC.
13552         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
13553         * lib/popen.c (popen): Provide alternate definition for native Windows.
13554         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
13555         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
13556         * modules/popen (Depends-on, configure.ac): Update condition.
13557         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
13558         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
13559         fixed.
13560
13561 2011-09-17  Bruno Haible  <bruno@clisp.org>
13562
13563         isnanl, isnand, isnanf: Work around MSVC bug.
13564         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
13565
13566 2011-09-17  Bruno Haible  <bruno@clisp.org>
13567
13568         sys_socket tests: Fix recent mistake.
13569         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
13570
13571 2011-09-17  Bruno Haible  <bruno@clisp.org>
13572
13573         putenv: Support for MSVC.
13574         * modules/putenv (Depends-on): Add environ.
13575         * lib/putenv.c (environ): Disable declaration.
13576         * lib/unistd.in.h: Update comment.
13577
13578 2011-09-17  Bruno Haible  <bruno@clisp.org>
13579
13580         math: Avoid macro redefinition warnings on MSVC.
13581         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
13582         Undefine before redefining.
13583
13584 2011-09-17  Bruno Haible  <bruno@clisp.org>
13585
13586         doc: Mention functions which are declared as macros.
13587         * doc/posix-functions/*[fl].texi: Mention that some functions are
13588         defined as macros with arguments only.
13589
13590 2011-09-17  Bruno Haible  <bruno@clisp.org>
13591
13592         Add dependencies to new dirent related modules.
13593         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
13594         * modules/fts (Depends-on): Likewise.
13595         * modules/glob (Depends-on): Likewise.
13596         * modules/savedir (Depends-on): Likewise.
13597         * modules/scandir (Depends-on): Likewise.
13598         * modules/dirent-safer (Depends-on): Add opendir, closedir.
13599         * modules/fdopendir (Depends-on): Add opendir.
13600
13601 2011-09-17  Bruno Haible  <bruno@clisp.org>
13602
13603         inet_pton: Support for MSVC on Windows Vista or newer.
13604         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
13605         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
13606         HAVE_DECL_INET_PTON is defined.
13607         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13608         On platforms with <winsock2.h>, test whether inet_pton is declared in
13609         <ws2tcpip.h>. If so, arrange to replace it.
13610         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13611         REPLACE_INET_PTON.
13612         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
13613         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
13614         (Depends-on, configure.ac): Update condition.
13615         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
13616
13617 2011-09-17  Bruno Haible  <bruno@clisp.org>
13618
13619         inet_ntop: Support for MSVC on Windows Vista or newer.
13620         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
13621         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
13622         HAVE_DECL_INET_NTOP is defined.
13623         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13624         On platforms with <winsock2.h>, test whether inet_ntop is declared in
13625         <ws2tcpip.h>. If so, arrange to replace it.
13626         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13627         REPLACE_INET_NTOP.
13628         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
13629         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
13630         (Depends-on, configure.ac): Update condition.
13631         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
13632
13633 2011-09-16  Eric Blake  <eblake@redhat.com>
13634
13635         test-fsync: yet another enhancement
13636         * tests/test-fsync.c (main): Also test behavior on read-only text
13637         file.
13638
13639 2011-09-16  Bruno Haible  <bruno@clisp.org>
13640
13641         Enhance fsync, fdatasync tests.
13642         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
13643         * tests/test-fdatasync.c (main): Likewise.
13644
13645 2011-09-16  Bruno Haible  <bruno@clisp.org>
13646
13647         Support for MSVC compiler: Ensure mode_t gets defined.
13648         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
13649         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13650         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
13651         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
13652         * tests/test-fcntl-h.c: Check that mode_t is defined.
13653         * tests/test-sys_stat.c: Likewise.
13654         * tests/test-sys_types.c: Likewise.
13655         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
13656         * doc/posix-headers/sys_stat.texi: Likewise.
13657         * doc/posix-headers/sys_types.texi: Likewise.
13658
13659 2011-09-16  Bruno Haible  <bruno@clisp.org>
13660
13661         sys_stat: Support for MSVC.
13662         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
13663         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
13664         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
13665         MSVC.
13666
13667 2011-09-16  Bruno Haible  <bruno@clisp.org>
13668
13669         Support for MSVC compiler: Ensure off_t gets defined.
13670         * lib/unistd.in.h: Include <sys/types.h>.
13671         * tests/test-fcntl-h.c: Check that off_t is defined.
13672         * tests/test-sys_stat.c: Likewise.
13673         * tests/test-sys_types.c: Likewise.
13674
13675 2011-09-16  Eric Blake  <eblake@redhat.com>
13676
13677         fdatasync: port to Solaris
13678         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
13679         * modules/fdatasync (Link): Document it.
13680         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
13681
13682         fdatasync: port to MacOS X 10.7
13683         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
13684         declared.
13685         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
13686         * modules/unistd (Makefile.am): Substitute it.
13687         * lib/unistd.in.h (fdatasync): Declare on MacOS.
13688         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
13689
13690         fdatasync: minor improvements
13691         * modules/fdatasync (Depends-on): Add condition for fsync.
13692         * lib/fdatasync.c (fdatasync): Add comment.
13693         * tests/test-unistd-c++.cc: Test fdatasync.
13694
13695         unistd: update refs to newer POSIX
13696         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
13697         Suggested by Bruno Haible.
13698
13699         fdatasync: new module
13700         * modules/fsync (Description): Document difference to fdatasync.
13701         * modules/fdatasync: New module.
13702         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
13703         * lib/fdatasync.c (fdatasync): Likewise.
13704         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
13705         defaults.
13706         * modules/unistd (Makefile.am): Set witnesses.
13707         * lib/unistd.in.h (fdatasync): Declare.
13708         * MODULES.html.sh: Document it.
13709         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
13710         * modules/fdatasync-tests: New test.
13711         * tests/test-fdatasync.c: Likewise.
13712
13713 2011-09-16  Eric Blake  <eblake@redhat.com>
13714
13715         test-fsync: enhance tests
13716         * modules/fsync-tests (Depends-on): Add errno, for mingw.
13717         * tests/test-fsync.c (main): Enhance test.
13718
13719 2011-09-15  Bruno Haible  <bruno@clisp.org>
13720
13721         Support for MSVC compiler: Ensure ssize_t gets defined.
13722         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
13723         * doc/posix-headers/stdio.texi: Likewise.
13724         * modules/stdio (Depends-on): Add ssize_t.
13725         * modules/sys_socket (Depends-on): Likewise.
13726         * modules/sys_types (Depends-on): Likewise.
13727         * modules/sys_uio (Depends-on): Likewise.
13728         * modules/unistd (Depends-on): Likewise.
13729         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
13730         * tests/test-sys_types.c: Check that ssize_t is defined.
13731
13732 2011-09-14  Bruno Haible  <bruno@clisp.org>
13733
13734         Avoid using #, the m4 comment starter character, near brackets.
13735         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
13736         delimiter character in sed expressions.
13737         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
13738         Suggested by Eric Blake.
13739
13740         Properly quote AC_CHECK_DECLS' 4th argument.
13741         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
13742         argument.
13743         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13744         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13745         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13746         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13747         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
13748         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
13749         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
13750         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
13751         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
13752         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
13753         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
13754         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13755         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13756         * m4/isinf.m4 (gl_ISINF): Likewise.
13757         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
13758         * m4/readutmp.m4 (gl_READUTMP): Likewise.
13759         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
13760         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13761         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13762         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13763         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
13764         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
13765         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
13766         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13767         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13768         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13769         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
13770         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13771         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13772         Reported by Eric Blake.
13773
13774         Properly quote AC_CHECK_DECL's 4th argument.
13775         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
13776         argument.
13777         * m4/argp.m4 (gl_ARGP): Likewise.
13778         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13779         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13780         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13781         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13782         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
13783         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
13784         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
13785         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
13786         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
13787         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13788         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13789         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13790         Reported by Eric Blake.
13791
13792 2011-09-14  Eric Blake  <eblake@redhat.com>
13793
13794         opendir: avoid compile warning
13795         * lib/opendir.c (includes): Always include errno.h.
13796         Reported by Tatsuro MATSUOKA.
13797
13798 2011-09-14  Jim Meyering  <meyering@redhat.com>
13799
13800         maint.mk: sc_tight_scope: propagate failure from sub-make
13801         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
13802         Reported by Martin von Gagern.
13803
13804 2011-09-13  Bruno Haible  <bruno@clisp.org>
13805
13806         tempname: Support for MSVC.
13807         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
13808         MSVC.
13809         * modules/tempname (Depends-on): Add fcntl-h.
13810
13811 2011-09-13  Bruno Haible  <bruno@clisp.org>
13812
13813         sys_time: Support for MSVC.
13814         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
13815         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
13816         include <winsock2.h>.
13817         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
13818         function declarations that collide with POSIX.
13819         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
13820         (Makefile.am): Substitute HAVE_WINSOCK2_H.
13821
13822 2011-09-13  Bruno Haible  <bruno@clisp.org>
13823
13824         stat: Support for MSVC.
13825         * lib/stat.c: Include pathmax.h.
13826         * modules/stat (Depends-on): Add pathmax.
13827
13828         pathmax: Support for native Windows.
13829         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
13830
13831 2011-09-12  Bruno Haible  <bruno@clisp.org>
13832
13833         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
13834         * lib/dirent.in.h (struct dirent): New type.
13835         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
13836         DT_WHT): New macros.
13837         (DIR): New type.
13838         (opendir, closedir): Declare only if the module 'opendir' is enabled.
13839         (readdir, rewinddir): New declarations.
13840         * lib/dirent-private.h: New file.
13841         * lib/opendir.c: New file.
13842         * lib/readdir.c: New file.
13843         * lib/rewinddir.c: New file.
13844         * lib/closedir.c: New file.
13845         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
13846         * m4/opendir.m4: New file.
13847         * m4/readdir.m4: New file.
13848         * m4/rewinddir.m4: New file.
13849         * m4/closedir.m4: New file.
13850         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
13851         REPLACE_CLOSEDIR here.
13852         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
13853         readdir, rewinddir are declared.
13854         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
13855         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
13856         HAVE_REWINDDIR, HAVE_CLOSEDIR.
13857         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
13858         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
13859         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
13860         * modules/opendir: New file.
13861         * modules/readdir: New file.
13862         * modules/rewinddir: New file.
13863         * modules/closedir: New file.
13864         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
13865         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
13866         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
13867         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
13868         * NEWS: Mention the 'fchdir' change.
13869
13870 2011-09-11  Bruno Haible  <bruno@clisp.org>
13871
13872         asm-underscore.m4: Support for MSVC.
13873         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
13874         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
13875
13876 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
13877
13878         Doc about crypt functions.
13879         * doc/posix-functions/crypt.texi: Expand range of glibc versions
13880         needing for _GNU_SOURCE to get crypt.
13881         * doc/posix-functions/encrypt.texi: Likewise.
13882         * doc/posix-functions/setkey.texi: Likewise.
13883
13884 2011-09-11  Bruno Haible  <bruno@clisp.org>
13885
13886         doc: Update regarding MSVC 9.
13887         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
13888         tested".
13889         * doc/posix-functions/*.texi: Update with info about MSVC 9.
13890         * doc/posix-headers/*.texi: Likewise.
13891         * doc/pastposix-functions/*.texi: Likewise.
13892         * doc/glibc-functions/*.texi: Likewise.
13893         * doc/glibc-headers/*.texi: Likewise.
13894
13895 2011-09-11  Bruno Haible  <bruno@clisp.org>
13896
13897         unistd et al.: Don't assume <unistd.h> exists.
13898         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
13899         does not exist.
13900         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
13901         exist. But include <stdlib.h>.
13902         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
13903         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
13904         symlink() does not exist.
13905         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
13906         include <io.h> instead.
13907         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
13908         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
13909         include <direct.h> instead.
13910         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13911         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13912         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
13913         <io.h> instead.
13914         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
13915         correctly if the system does not have hard links.
13916         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
13917         <direct.h> instead.
13918         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
13919         it when looking for function declarations.
13920         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
13921         <direct.h> and <io.h> instead.
13922         * doc/posix-headers/unistd.texi: More details about MSVC problem.
13923
13924 2011-09-11  Bruno Haible  <bruno@clisp.org>
13925
13926         strcase: Support for MSVC.
13927         * modules/strcase (Status, Notice): Remove obsoletion mark.
13928         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
13929         * doc/posix-functions/strncasecmp.texi: Likewise.
13930
13931         strings: Don't assume <strings.h> exists.
13932         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
13933         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
13934         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
13935         * doc/posix-headers/strings.texi: Mention the MSVC problem.
13936
13937 2011-09-11  Bruno Haible  <bruno@clisp.org>
13938
13939         dirent: Don't assume <dirent.h> exists.
13940         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
13941         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
13942         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
13943         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
13944
13945 2011-09-11  Bruno Haible  <bruno@clisp.org>
13946
13947         Fix wint_t on MSVC.
13948         * lib/wchar.in.h (wint_t): On MSVC, override it.
13949         * lib/wctype.in.h (wint_t): Likewise.
13950         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
13951         MSVC.
13952         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
13953         * doc/posix-headers/wctype.texi: Likewise.
13954
13955 2011-09-11  Bruno Haible  <bruno@clisp.org>
13956
13957         sys_types: Fix typo.
13958         * lib/sys_types.in.h: Fix typo in comment.
13959         Reported by Paul Eggert.
13960
13961         Support for MSVC compiler: Ensure size_t gets defined.
13962         * modules/strings (Depends-on): Add 'sys_types'.
13963         * modules/sys_uio (Depends-on): Likewise.
13964         * lib/sys_uio.in.h: Update comment.
13965
13966         C++ tests for module 'sys_types'.
13967         * modules/sys_types-c++-tests: New file.
13968         * tests/test-sys_types-c++.cc: New file.
13969
13970         Tests for module 'sys_types'.
13971         * modules/sys_types-tests: New file.
13972         * tests/test-sys_types.c: New file.
13973
13974         New module 'sys_types'.
13975         * lib/sys_types.in.h: New file.
13976         * m4/sys_types_h.m4: New file.
13977         * modules/sys_types: New file.
13978         * doc/posix-headers/sys_types.texi: Mention the new module and the
13979         size_t problem on MSVC 9.
13980
13981 2011-09-11  Bruno Haible  <bruno@clisp.org>
13982
13983         Support for MSVC compiler: Avoid division by a literal 0.
13984         * lib/math.in.h (NAN): Define through a function call also on MSVC.
13985         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
13986         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
13987         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
13988         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
13989         * tests/infinity.h: New file.
13990         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
13991         on MSVC.
13992         * tests/test-ceilf1.c: Include infinity.h.
13993         (main): Use Infinityf.
13994         * tests/test-ceil1.c: Include infinity.h.
13995         (main): Use Infinityd.
13996         * tests/test-ceill.c: Include infinity.h.
13997         (main): Use Infinityl.
13998         * tests/test-dprintf-posix.c: Include infinity.h.
13999         (test_function): Use Infinityd.
14000         * tests/test-floorf1.c: Include infinity.h.
14001         (main): Use Infinityf.
14002         * tests/test-floor1.c: Include infinity.h.
14003         (main): Use Infinityd.
14004         * tests/test-floorl.c: Include infinity.h.
14005         (main): Use Infinityl.
14006         * tests/test-fprintf-posix.c: Include infinity.h.
14007         (test_function): Use Infinityd.
14008         * tests/test-frexp.c: Include infinity.h.
14009         (main): Use Infinityd.
14010         * tests/test-frexpl.c: Include infinity.h.
14011         (main): Use Infinityl.
14012         * tests/test-isfinite.c: Include infinity.h.
14013         (test_isfinitef): Use Infinityf.
14014         (test_isfinited): Use Infinityd.
14015         (test_isfinitel): Use Infinityl.
14016         * tests/test-isinf.c: Include infinity.h.
14017         (test_isinff): Use Infinityf.
14018         (test_isinfd): Use Infinityd.
14019         (test_isinfl): Use Infinityl.
14020         * tests/test-isnan.c: Include infinity.h.
14021         (test_float): Use Infinityf.
14022         (test_double): Use Infinityd.
14023         (test_long_double): Use Infinityl.
14024         * tests/test-isnanf.h: Include infinity.h.
14025         (main): Use Infinityf.
14026         * tests/test-isnand.h: Include infinity.h.
14027         (main): Use Infinityd.
14028         * tests/test-isnanl.h: Include infinity.h.
14029         (main): Use Infinityl.
14030         * tests/test-ldexpl.c: Include infinity.h.
14031         (main): Use Infinityl.
14032         * tests/test-printf-posix.h: Include infinity.h.
14033         (test_function): Use Infinityd.
14034         * tests/test-roundf1.c: Include infinity.h.
14035         (main): Use Infinityf.
14036         * tests/test-round1.c: Include infinity.h.
14037         (main): Use Infinityd.
14038         * tests/test-roundl.c: Include infinity.h.
14039         (main): Use Infinityl.
14040         * tests/test-signbit.c: Include infinity.h.
14041         (test_signbitf): Use Infinityf.
14042         (test_signbitd): Use Infinityd.
14043         (test_signbitl): Use Infinityl.
14044         * tests/test-snprintf-posix.h: Include infinity.h.
14045         (test_function): Use Infinityd, Infinityl.
14046         * tests/test-sprintf-posix.h: Include infinity.h.
14047         (test_function): Use Infinityd, Infinityl.
14048         * tests/test-truncf1.c: Include infinity.h.
14049         (main): Use Infinityf.
14050         * tests/test-trunc1.c: Include infinity.h.
14051         (main): Use Infinityd.
14052         * tests/test-truncl.c: Include infinity.h.
14053         (main): Use Infinityl.
14054         * tests/test-vasnprintf-posix.c: Include infinity.h.
14055         (test_function): Use Infinityd, Infinityl.
14056         * tests/test-vasprintf-posix.c: Include infinity.h.
14057         (test_function): Use Infinityd, Infinityl.
14058         * modules/ceilf-tests (Files): Add tests/infinity.h.
14059         * modules/ceil-tests (Files): Likewise.
14060         * modules/ceill-tests (Files): Likewise.
14061         * modules/dprintf-posix-tests (Files): Likewise.
14062         * modules/floorf-tests (Files): Likewise.
14063         * modules/floor-tests (Files): Likewise.
14064         * modules/floorl-tests (Files): Likewise.
14065         * modules/fprintf-posix-tests (Files): Likewise.
14066         * modules/frexp-tests (Files): Likewise.
14067         * modules/frexp-nolibm-tests (Files): Likewise.
14068         * modules/frexpl-tests (Files): Likewise.
14069         * modules/frexpl-nolibm-tests (Files): Likewise.
14070         * modules/isfinite-tests (Files): Likewise.
14071         * modules/isinf-tests (Files): Likewise.
14072         * modules/isnan-tests (Files): Likewise.
14073         * modules/isnanf-tests (Files): Likewise.
14074         * modules/isnanf-nolibm-tests (Files): Likewise.
14075         * modules/isnand-tests (Files): Likewise.
14076         * modules/isnand-nolibm-tests (Files): Likewise.
14077         * modules/isnanl-tests (Files): Likewise.
14078         * modules/isnanl-nolibm-tests (Files): Likewise.
14079         * modules/ldexpl-tests (Files): Likewise.
14080         * modules/printf-posix-tests (Files): Likewise.
14081         * modules/roundf-tests (Files): Likewise.
14082         * modules/round-tests (Files): Likewise.
14083         * modules/roundl-tests (Files): Likewise.
14084         * modules/signbit-tests (Files): Likewise.
14085         * modules/snprintf-posix-tests (Files): Likewise.
14086         * modules/sprintf-posix-tests (Files): Likewise.
14087         * modules/truncf-tests (Files): Likewise.
14088         * modules/trunc-tests (Files): Likewise.
14089         * modules/truncl-tests (Files): Likewise.
14090         * modules/vasnprintf-posix-tests (Files): Likewise.
14091         * modules/vasprintf-posix-tests (Files): Likewise.
14092         * modules/vdprintf-posix-tests (Files): Likewise.
14093         * modules/vfprintf-posix-tests (Files): Likewise.
14094         * modules/vprintf-posix-tests (Files): Likewise.
14095         * modules/vsnprintf-posix-tests (Files): Likewise.
14096         * modules/vsprintf-posix-tests (Files): Likewise.
14097         * modules/xprintf-posix-tests (Files): Likewise.
14098
14099 2011-09-11  Bruno Haible  <bruno@clisp.org>
14100
14101         Ensure pid_t gets defined.
14102         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
14103         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14104         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
14105         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14106         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
14107         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14108         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
14109         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14110         * tests/test-fcntl-h.c: Check that pid_t is defined.
14111         * tests/test-sched.c: Likewise.
14112         * tests/test-termios.c: Likewise.
14113         * tests/test-time.c: Likewise.
14114         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
14115         * doc/posix-headers/signal.texi: Likewise.
14116         * doc/posix-headers/sys_types.texi: Likewise.
14117         * doc/posix-headers/time.texi: Likewise.
14118
14119 2011-09-11  Bruno Haible  <bruno@clisp.org>
14120
14121         acl: Fix compilation on Solaris 10 (older version).
14122         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
14123         of ACE_EVERYONE.
14124         * lib/set-mode-acl.c (qset_acl): Likewise.
14125         Reported by Christian Jullien <eligis@orange.fr>.
14126
14127 2011-09-10  Bruno Haible  <bruno@clisp.org>
14128
14129         iconv, unsetenv: Add support for MSVC compiler.
14130         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
14131         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
14132
14133 2011-09-10  Bruno Haible  <bruno@clisp.org>
14134
14135         *printf: Add support for MSVC compiler.
14136         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
14137         handles the exception caused by the %n directive. When cross-compiling,
14138         guess no on native Windows.
14139         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
14140         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
14141         emulate it through vsnprintf.
14142         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
14143         * doc/posix-functions/dprintf.texi: Update documentation regarding
14144         MSVC 9.
14145         * doc/posix-functions/fprintf.texi: Likewise.
14146         * doc/posix-functions/printf.texi: Likewise.
14147         * doc/posix-functions/snprintf.texi: Likewise.
14148         * doc/posix-functions/sprintf.texi: Likewise.
14149         * doc/posix-functions/swprintf.texi: Likewise.
14150         * doc/posix-functions/vdprintf.texi: Likewise.
14151         * doc/posix-functions/vfprintf.texi: Likewise.
14152         * doc/posix-functions/vprintf.texi: Likewise.
14153         * doc/posix-functions/vsnprintf.texi: Likewise.
14154         * doc/posix-functions/vsprintf.texi: Likewise.
14155         * doc/glibc-functions/asprintf.texi: Likewise.
14156         * doc/glibc-functions/obstack_printf.texi: Likewise.
14157         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
14158         * doc/glibc-functions/vasprintf.texi: Likewise.
14159
14160 2011-09-10  Bruno Haible  <bruno@clisp.org>
14161
14162         nocrash: Add support for native Windows.
14163         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
14164
14165 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
14166             Bruno Haible  <bruno@clisp.org>
14167
14168         absolute-header, include-next: Add support for MSVC compiler.
14169         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
14170         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
14171         directory separator in #line directives.
14172         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
14173         recognize also backslash as directory separator in #line directives.
14174
14175 2011-09-08  Jim Meyering  <meyering@redhat.com>
14176
14177         maint.mk: mark the post-release commit log with "maint: " prefix
14178         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
14179         one-line commit-log summary.
14180
14181 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
14182             Bruno Haible  <bruno@clisp.org>
14183
14184         Doc about crypt functions.
14185         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
14186         systems.
14187         * doc/posix-functions/encrypt.texi: Likewise.
14188         * doc/posix-functions/setkey.texi: Likewise.
14189
14190 2011-09-08  Simon Josefsson  <simon@josefsson.org>
14191
14192         * lib/gc.h: Fix copyright header.
14193
14194 2011-09-07  Bruno Haible  <bruno@clisp.org>
14195
14196         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
14197         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
14198         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
14199
14200 2011-09-07  Bruno Haible  <bruno@clisp.org>
14201
14202         openat: Work around compilation error with OSF/1 5.1 DTK cc.
14203         * lib/fopen.c: Use different syntax for include of <stdio.h>.
14204         * lib/freopen.c: Likewise.
14205         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
14206         * lib/lstat.c: Likewise.
14207         * lib/stat.c: Likewise.
14208         * lib/open.c: Use different syntax for include of <fcntl.h>.
14209         * lib/openat.c: Include fcntl.h again, explicitly.
14210
14211 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
14212
14213         parse-datetime: document the newly accepted format
14214         * doc/parse-datetime.texi (Combined date and time of day items):
14215         New section.
14216
14217 2011-09-06  Bruno Haible  <bruno@clisp.org>
14218
14219         acl: Fix a test failure on newer Solaris 10 with ZFS.
14220         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
14221         ENOSYS as no ACL.
14222         Reported by Jim Meyering.
14223
14224 2011-09-06  Bruno Haible  <bruno@clisp.org>
14225
14226         acl: Update for AIX >= 5.3 with NFS.
14227         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
14228         ENOSYS as no ACL.
14229
14230         acl: Fix a test failure on AIX >= 5.3 with NFS.
14231         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
14232         as no ACL.
14233
14234 2011-09-06  Bruno Haible  <bruno@clisp.org>
14235
14236         acl: Fix a test failure on IRIX 6.5 with NFS.
14237         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
14238         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
14239         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
14240         * lib/copy-acl.c (qcopy_acl): Likewise.
14241
14242 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14243
14244         openat: port to AIX 7.1 with large files
14245         AIX 7.1 does a "#define openat open64at" if large files are in use,
14246         so we can't simply #undef openat.  Use the orig_openat trick (similar
14247         to orig_open in lib/open.c) to work around the problem.  Problem
14248         reported by Kevin Brott for GNU tar, in the thread containing
14249         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
14250         * lib/openat.c (__need_system_fcntl_h): Define first.
14251         Include <fcntl.h> and <sys/types.h> before undefining.
14252         (orig_openat) [HAVE_OPENAT]: New inline function.
14253         (openat) [HAVE_OPENAT]: Do not undef.
14254         (rpl_openat): Use orig_openat, not openat.
14255
14256 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
14257             Bruno Haible  <bruno@clisp.org>
14258
14259         acl: Avoid errors on NonStop Kernel.
14260         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
14261         ENOTSUP errors.
14262
14263 2011-09-05  Bruno Haible  <bruno@clisp.org>
14264
14265         acl: Clean up Solaris code.
14266         * lib/acl-internal.h: Remove no-op #if.
14267         * lib/file-has-acl.c: Likewise.
14268         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
14269         * lib/copy-acl.c (qcopy_acl): Likewise.
14270
14271 2011-09-05  Bruno Haible  <bruno@clisp.org>
14272
14273         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
14274         binaries built on the original Solaris 10.
14275         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
14276         trivial.
14277
14278 2011-09-05  Bruno Haible  <bruno@clisp.org>
14279
14280         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14281         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
14282         10.
14283         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
14284         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
14285         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
14286         instead of acl_get, facl_get, acl_set, facl_set.
14287
14288 2011-09-05  Bruno Haible  <bruno@clisp.org>
14289
14290         copy-file: Try unit tests on more file systems.
14291         * tests/test-copy-file-1.sh: New file.
14292         * tests/test-copy-file-2.sh: New file.
14293         * modules/copy-file-tests (Files): Add them.
14294         (Makefile.am): Add them to TESTS.
14295
14296         acl: Try unit tests on more file systems.
14297         * tests/test-file-has-acl-1.sh: New file.
14298         * tests/test-file-has-acl-2.sh: New file.
14299         * tests/test-set-mode-acl-1.sh: New file.
14300         * tests/test-set-mode-acl-2.sh: New file.
14301         * tests/test-copy-acl-1.sh: New file.
14302         * tests/test-copy-acl-2.sh: New file.
14303         * modules/acl-tests (Files): Add them.
14304         (Makefile.am): Add them to TESTS.
14305
14306 2011-09-04  Bruno Haible  <bruno@clisp.org>
14307
14308         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14309         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
14310         10.
14311         (OLD_ALLOW, OLD_DENY): New macros.
14312         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
14313         ACE_ACCESS_ALLOWED_ACE_TYPE.
14314         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
14315         ACE_ACCESS_DENIED_ACE_TYPE.
14316         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
14317         (NEW_ACE_EXECUTE): Fix value.
14318         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
14319         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
14320         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
14321         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
14322         NEW_ACE_SYNCHRONIZE): New macros.
14323         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
14324         instead of acl_fromtext, acl_set, facl_set.
14325         Fixes a coreutils/tests/cp/perm failure.
14326
14327 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
14328
14329         openat: test for fstatat (..., 0) bug
14330         Further testing with tar suggests that fstatat (..., 0)
14331         does not work in general, on AIX 7.1; see
14332         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
14333         So, give up entirely on AIX 7.1's fstatat, and fall back on our
14334         replacement fstatat (which is what older AIX releases were using
14335         anyway).
14336         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
14337         use is now changed to orig_fstatat.  This was probably the right
14338         thing to do anyway.
14339         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
14340         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
14341         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
14342         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
14343         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
14344         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
14345         if the bug is found.
14346
14347         openat: test for fstatat (AT_FDCWD, ..., 0) bug
14348         This tests for another fstatat bug on AIX 7.1:
14349         fstatat (AT_FDCWD, ..., 0) does not work.  See
14350         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
14351         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
14352         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
14353         (rpl_fstatat): Adjust so that it works around either (or both)
14354         bugs if present.
14355         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
14356
14357 2011-09-03  Karl Berry  <karl@gnu.org>
14358
14359         * doc/regex.texi (Character Class Operators): Avoid literal ":"
14360         in index entries.
14361
14362 2011-09-02  Bruno Haible  <bruno@clisp.org>
14363
14364         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
14365         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
14366         values of AR, ARFLAGS, RANLIB.
14367         Reported by John W. Eaton <jwe@gnu.org> for Octave.
14368
14369 2011-09-02  Bruno Haible  <bruno@clisp.org>
14370
14371         Find 'ar' program that fits with --host argument.
14372         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
14373
14374 2011-09-02  Bruno Haible  <bruno@clisp.org>
14375
14376         tests: init.sh: Support any non-GNU diff.
14377         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
14378         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
14379         Solaris 8.
14380
14381 2011-09-02  Bruno Haible  <bruno@clisp.org>
14382
14383         tests: init.sh: work also with any non-GNU diff that supports -u
14384         * tests/init.sh: Relax check for diff -u support.
14385         Rather than checking for GNU diff via --version, simply check
14386         for support for -u itself.  Useful at least on OpenBSD 4.9,
14387         AIX 7.1, IRIX 6.5, and Solaris 10.
14388
14389 2011-09-01  Bruno Haible  <bruno@clisp.org>
14390
14391         strtoimax, strtoumax: Document problem on HP-UX 11.
14392         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
14393         * doc/posix-functions/strtoumax.texi: Likewise.
14394
14395 2011-09-01  Bruno Haible  <bruno@clisp.org>
14396
14397         strtoumax: Avoid link error on OSF/1 with DTK cc.
14398         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
14399         defined as a function.
14400         * modules/strtoumax (Depends-on, configure.ac): Test only whether
14401         strtoumax is defined, not whether it is declared.
14402
14403 2011-09-01  Bruno Haible  <bruno@clisp.org>
14404
14405         strtoimax: Avoid link error on OSF/1 with DTK cc.
14406         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
14407         defined as a function.
14408         * modules/strtoimax (Depends-on, configure.ac): Test only whether
14409         strtoimax is defined, not whether it is declared.
14410
14411 2011-09-01  Bruno Haible  <bruno@clisp.org>
14412
14413         imaxdiv: Avoid link error on OSF/1 with DTK cc.
14414         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
14415         as a function.
14416         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
14417         whether it is declared.
14418
14419 2011-09-01  Bruno Haible  <bruno@clisp.org>
14420
14421         imaxabs: Avoid link error on OSF/1 with DTK cc.
14422         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
14423         as a function.
14424         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
14425         whether it is declared.
14426
14427 2011-09-01  Bruno Haible  <bruno@clisp.org>
14428
14429         Tests for module 'strtoumax'.
14430         * modules/strtoumax-tests: New file.
14431         * tests/test-strtoumax.c: New file.
14432
14433         Tests for module 'strtoimax'.
14434         * modules/strtoimax-tests: New file.
14435         * tests/test-strtoimax.c: New file.
14436
14437         Tests for module 'imaxdiv'.
14438         * modules/imaxdiv-tests: New file.
14439         * tests/test-imaxdiv.c: New file.
14440
14441         Tests for module 'imaxabs'.
14442         * modules/imaxabs-tests: New file.
14443         * tests/test-imaxabs.c: New file.
14444
14445 2011-09-01  Bruno Haible  <bruno@clisp.org>
14446
14447         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
14448         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
14449         pthread_create.
14450
14451 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14452
14453         openat: work around AIX 7.1 fstatat issue
14454         This should fix the problem that was not properly fixed
14455         in the previous change, dated 2011-08-30.
14456         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
14457         __need_system_stat_h defined.
14458         (orig_fstatat) [HAVE_FSTATAT]: New function.
14459         (rpl_fstatat): Go back to the old way of doing things,
14460         except call orig_fstatat instead of fstatat.
14461         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
14462         Remove unnecessary check whether fstatat fills in st_size etc.
14463
14464 2011-09-01  Bruno Haible  <bruno@clisp.org>
14465
14466         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
14467         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
14468         just include the system's header.
14469
14470 2011-08-31  Jim Meyering  <meyering@redhat.com>
14471
14472         tests: avoid spurious assertion failure in test-float.c on ppc64
14473         * tests/test-float.c (test_long_double): Comment out an assertion,
14474         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
14475         with gcc-4.4.4.
14476
14477         maint: indent with spaces, not TABs
14478         I need to get in the habit of running gnulib's "make check".
14479         Both of these would have been caught.
14480         * m4/largefile.m4: Indent with spaces, not TABs.
14481         * lib/parse-datetime.y (iso_8601_time): Likewise.
14482         Spotted by Pádraig Brady.
14483
14484         test-parse-datetime.c: accommodate a relatively strict gcc warning
14485         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
14486         to avoid a warning from gcc's -Werror=missing-declarations.
14487         Insert a few spaces-before-funcall-parenthesis.
14488
14489 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
14490
14491         parse-datetime: accept ISO 8601 date and time rep with "T" separator
14492         The parser now accepts ISO 8601 date-time strings with "T" as the
14493         separator.  It has long parsed dates like "2004-02-29 16:21:42"
14494         with a space between the date and time strings.  Now it also parses
14495         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
14496         variants like "2004-02-29T16:21:42.333-07:00"
14497         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
14498         of day representation using the 'T' separator character.
14499         * doc/parse-datetime.texi (General date syntax): replace use of
14500         deprecated --iso-8601 option with --rfc-3339 in example of date
14501         command output formats that can be parsed.
14502         * tests/test-parse-datetime.c (tm_diff): New function, taken from
14503         lib/parse-datetime.y.
14504         (gmt_offset): New function.
14505         (main): Add additional test cases to validate ISO8601 extended
14506         date and time of day parsing.
14507
14508 2011-08-31  Bruno Haible  <bruno@clisp.org>
14509
14510         freopen: Documentation.
14511         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
14512         name.
14513         Reported by Claudio Bley <claudio.bley@gmail.com>.
14514
14515 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
14516
14517         freopen: Don't crash if the filename argument is NULL.
14518         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
14519         NULL.
14520
14521 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14522
14523         openat: work around AIX 7.1 fstatat bug
14524         Problem reported by Kevin Brott for GNU tar, in the thread containing
14525         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
14526         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
14527         FSTATAT_ST_SIZE_ETC_BROKEN.
14528         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
14529         rpl_fstatat.
14530         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
14531         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
14532         AC_CHECK_FUNCS_ONCE for fstatat.
14533         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
14534         fchmodat, mkdirat, openat and unlinkat.
14535
14536 2011-08-30  Bruno Haible  <bruno@clisp.org>
14537
14538         Avoid endless recursions if config.h includes some header files.
14539         * lib/fopen.c (__need_FILE): Define already before including config.h.
14540         * lib/freopen.c (__need_FILE): Likewise.
14541         * lib/open.c (__need_system_fcntl_h): Likewise.
14542         * lib/stat.c (__need_system_sys_stat_h): Likewise.
14543         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
14544         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
14545
14546 2011-08-25  Karl Berry  <karl@gnu.org>
14547
14548         * config/srclist.txt (ylwrap): new try.
14549         * build-aux/ylwrap: new file.
14550
14551 2011-08-23  Bruno Haible  <bruno@clisp.org>
14552
14553         tmpdir: Use a good default directory on native Windows.
14554         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
14555         (P_tmpdir): Default to _P_tmpdir on native Windows.
14556         (path_search): On native Windows, try the value returned by GetTempPath
14557         before trying P_tmpdir.
14558         * modules/tmpdir (Depends-on): Add pathmax.
14559         Suggested by John Darrington <john@darrington.wattle.id.au>.
14560
14561 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
14562
14563         doc: fix typo in README-release
14564         * top/README-release: Capitalize first word of a sentence.
14565
14566 2011-08-19  Jim Meyering  <meyering@redhat.com>
14567
14568         fts: do not exhaust memory when processing million-entry directories
14569         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
14570         directory would require about 256*N bytes of memory.  Thus, it was
14571         easy to construct a directory too large to be processed by any of
14572         those tools.  With this change, fts' maximum memory utilization is
14573         now limited to around 30MB.
14574         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
14575         (fts_read): When we've processed the final entry (i.e., when
14576         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
14577         using the parent entry to read any remaining entries.  Dispatch
14578         depending on what fts_build returns:
14579         - NULL+stop, aka failure: stop
14580         - NULL otherwise: move up in the dir hierarchy
14581         - non-NULL: handle this new entry
14582         (fts_build): Declare and use new local, continue_readdir.
14583         Prepare to be called from fts_read, when the entries
14584         from a partially-read directory have just been exhausted.
14585         In that case, we'll skip the opendir and instead use the parent's
14586         fts_dirp and derive dir_fd from that.
14587         Finally, in the readdir loop, if we read max_entries entries,
14588         exit the loop ensuring *not* to call closedir.  This is required
14589         so that fts_dirp can be reused on a subsequent call.
14590         Prompted by Ben England's report of memory exhaustion in find
14591         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
14592
14593         maint: fts: move decl of `dp' down into while loop; split a long line
14594         * lib/fts.c (fts_build): No semantic change.
14595
14596         fts: add/use new struct member, fts_dirp
14597         We are about to use this to manage any directory with
14598         too many entries to read all of them into memory at once.
14599         To do that, we'll need to save the DIR* pointer in each
14600         affected FTSENT struct.
14601         * lib/fts_.h: Include <dirent.h>.
14602         (struct FTSENT) [fts_dirp]: New member.
14603         * lib/fts.c (closedir_and_clear): Define.
14604         Use it in place of closedir so that we are sure to
14605         clear the new fts_dirp member when done with it.
14606         (fts_alloc): Initialize the new member.
14607         (fts_lfree): Free, if needed.
14608
14609         maint: fts: give __opendir2 a new parameter and rename
14610         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
14611         than surreptitiously using sole caller's "dir_fd".
14612         (fts_opendir): Rename from __opendir2.
14613
14614         maint: fts.c: remove __opendir2's now-unused parameter, oflag
14615         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
14616
14617         maint: fts.c: correct off-by-one indentation
14618         * lib/fts.c (fts_build): Correct indentation, change style
14619         of a couple of block comments, and bracing style.
14620
14621         maint: fts.c: move __opendir2 #define "up" out of function body
14622         * lib/fts.c (__opendir2): Move "up".  No semantic change.
14623
14624         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
14625         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
14626         out for a long time and besides was useful only on BSD systems.
14627
14628 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
14629
14630         regex: port to Stratus OpenVOS
14631         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
14632         define to empty, rather than attempting nonportable optimizations.
14633         Problem reported by Paul Green in:
14634         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
14635         and fix suggested by Eric Blake in:
14636         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
14637
14638 2011-08-17  Eric Blake  <eblake@redhat.com>
14639
14640         getcwd: fix test failures on mingw
14641         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
14642         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
14643         test if long directory cannot be created, and allow mingw errno.
14644
14645         getcwd-lgpl: fix m4 to match relaxed test for BSD
14646         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
14647         (gl_FUNC_GETCWD_SIGNATURE): New macro.
14648         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
14649         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
14650         signature problem.
14651
14652         getcwd: fix compilation on mingw64
14653         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
14654         getcwd.
14655         Reported by Marc-André Lureau.
14656
14657         pipe2: silence compiler warning
14658         * lib/pipe2.c (pipe2): Hide label if it is not used.
14659
14660 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
14661
14662         relocatable-prog: fix link error
14663         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
14664         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
14665         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
14666         into modules/relocatable-lib without noticing that
14667         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
14668         also needs to build relocatable.c.
14669
14670 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14671
14672         getaddrinfo: fix sh typo in gai_strerrorA decl checking
14673         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
14674         shell code: it contained a 'break' that was not in a loop.
14675         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
14676         via a shell-language loop; this may have been true in old Autoconf
14677         versions, but it's not true in Autoconf 2.68.  I found this bug
14678         when testing coreutils git on Solaris 8, whose shell complains
14679         about the syntax error.
14680
14681 2011-08-12  Simon Josefsson  <simon@josefsson.org>
14682
14683         * lib/base64.c: Fix comment to reference RFC 4648.
14684         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
14685         <gvtulder@gmail.com>.
14686
14687 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14688
14689         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
14690
14691         po/Makefile.in.in: fix make -q problem
14692         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
14693         rule, since there's no file named 'check-macro-version' and its
14694         use as a file breaks make -q.
14695         (all): Don't depend on check-macro-version.
14696         (CHECK_MACRO_VERSION): New macro.
14697         (stamp-po): Use it.
14698
14699         configmake: fix make -q problem
14700         * modules/configmake (configmake.h): Update configmake.h's time stamp
14701         even if the file does not change.  Otherwise, 'make -q' fails.
14702         Problem reported by Simon Josefsson in
14703         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
14704
14705 2011-08-11  Jim Meyering  <meyering@redhat.com>
14706
14707         git-version-gen: correct the advice in a comment
14708         * build-aux/git-version-gen: Correct comment.
14709         Don't recommend to list .tarball-version in .gitignore.
14710
14711 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
14712
14713         base64: fix off-by-one buffer size bug
14714         Problem and (trivial) fix reported by Gijs van Tulder in
14715         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
14716         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
14717         * tests/test-base64.c (main): Catch the bug.
14718
14719 2011-08-10  Eric Blake  <eblake@redhat.com>
14720
14721         closein: correct comments
14722         * lib/closein.c (close_stdin): Improve comments.
14723
14724 2011-08-09  Bruno Haible  <bruno@clisp.org>
14725
14726         More tests for 'fseeko'.
14727         * tests/test-fseeko3.c: New file, from Eric Blake.
14728         * tests/test-fseeko3.sh: New file.
14729         * modules/fseeko-tests (Files): Add them.
14730         (TESTS): Add test-fseeko3.sh.
14731         (check_PROGRAMS): Add test-fseeko3.
14732
14733 2011-08-09  Eric Blake  <eblake@redhat.com>
14734
14735         fseeko: remove unneeded hack
14736         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
14737
14738         fseeko: fix bug on glibc
14739         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
14740         Reported by John W. Eaton.
14741
14742 2011-08-08  Bruno Haible  <bruno@clisp.org>
14743
14744         unictype/base: Fix interoperability with preinstalled libunistring.
14745         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
14746         Reported by Simon Josefsson.
14747
14748 2011-08-08  Bruno Haible  <bruno@clisp.org>
14749
14750         iswblank: Detect declaration correctly.
14751         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
14752         AC_CHECK_DECLS invocation.
14753
14754 2011-08-08  Bruno Haible  <bruno@clisp.org>
14755
14756         tcgetsid: Detect declaration correctly.
14757         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
14758         AC_CHECK_DECLS invocation.
14759         Reported by Simon Josefsson.
14760
14761 2011-08-08  Eric Blake  <eblake@redhat.com>
14762
14763         largefile: fix typo that regressed large file support
14764         * modules/largefile (configure.ac-early): Fix section name.
14765
14766 2011-08-06  Karl Berry  <karl@gnu.org>
14767
14768         * MODULES.html.sh (func_all_files): _Noreturn is no longer
14769         a separate module.
14770
14771 2011-08-05  Simon Josefsson  <simon@josefsson.org>
14772
14773         openat: Fix warnings and commens when building unlinkat.c on Hurd.
14774         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
14775         get prototype for free.
14776
14777 2011-08-04  Bruno Haible  <bruno@clisp.org>
14778
14779         Tests for module 'pathmax'.
14780         * modules/pathmax-tests: New file.
14781         * tests/test-pathmax.c: New file.
14782
14783         canonicalize-lgpl: Support larger filenames on the Hurd.
14784         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
14785         Reported by Paul Eggert.
14786
14787         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
14788         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
14789         * lib/chdir-long.h: Include pathmax.h.
14790         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
14791         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
14792         (PATH_MAX): Remove code that is done by pathmax.h.
14793         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
14794         * lib/tmpfile.c: Add a comment.
14795         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
14796         * modules/chdir-long (Depends-on): Add pathmax.
14797         * modules/getcwd (Depends-on): Add pathmax.
14798         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
14799         is not defined.
14800         * doc/posix-headers/limits.texi: Mention the pathmax module.
14801         * NEWS: Mention the change.
14802
14803 2011-08-02  Bruno Haible  <bruno@clisp.org>
14804
14805         pthread_sigmask: Actually use results of gl_THREADLIB.
14806         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
14807         gl_THREADLIB, not gl_[]THREADLIB.
14808         Reported by Eric Blake.
14809
14810 2011-08-02  Jim Meyering  <meyering@redhat.com>
14811
14812         maint.mk: relax the default _gl_TS_function_match regexp
14813         * top/maint.mk (_gl_TS_function_match): Don't require at least one
14814         space between function name and "(" in an "extern" declaration.
14815         That would fail to match a decl with no space there: extern void foo();
14816
14817 2011-07-31  Iain Nicol  <iain@thenicols.net>
14818
14819         git-version-gen: document that EXTRA_DIST must include .version
14820         * build-aux/git-version-gen: In the how-to-use comment, document
14821         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
14822         will fail when run from an unpacked distribution tarball.
14823
14824 2011-08-01  Bruno Haible  <bruno@clisp.org>
14825
14826         wctype-h: Fix last change.
14827         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
14828         REPLACE_TOWLOWER to 0.
14829         Reported by Sam Steingold <sds@gnu.org>.
14830
14831 2011-07-31  Bruno Haible  <bruno@clisp.org>
14832
14833         frexpl: Update autoconf test.
14834         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
14835         according to changes of 2011-06-20.
14836
14837 2011-07-31  Bruno Haible  <bruno@clisp.org>
14838
14839         sys_utsname: Add support for Minix.
14840         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
14841         <sys/utsname.h>.
14842         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14843         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
14844
14845 2011-07-31  Bruno Haible  <bruno@clisp.org>
14846
14847         strings: Add support for Minix.
14848         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
14849         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
14850         * doc/posix-headers/strings.texi: Document the Minix problem.
14851
14852 2011-07-31  Bruno Haible  <bruno@clisp.org>
14853
14854         wctype-h: Add support for Minix.
14855         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
14856         REPLACE_TOWLOWER.
14857         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
14858         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
14859         REPLACE_ISWCNTRL.
14860
14861 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
14862
14863         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
14864         This is a performance improvement for 64-bit hosts: it causes the
14865         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
14866
14867 2011-07-31  Bruno Haible  <bruno@clisp.org>
14868
14869         stdioext: Add support for Minix.
14870         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
14871         * lib/fpurge.c (fpurge): Likewise.
14872         * lib/freadahead.c (freadahead): Likewise.
14873         * lib/freadable.c (freadable): Likewise.
14874         * lib/freading.c (freading): Likewise.
14875         * lib/freadptr.c (freadptr): Likewise.
14876         * lib/freadseek.c (freadptrinc): Likewise.
14877         * lib/fseeko.c (rpl_fseeko): Likewise.
14878         * lib/fseterr.c (fseterr): Likewise.
14879         * lib/fwritable.c (fwritable): Likewise.
14880         * lib/fwriting.c (fwriting): Likewise.
14881         * lib/fflush.c (clear_ungetc_buffer): Update comment.
14882         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
14883
14884 2011-07-31  Bruno Haible  <bruno@clisp.org>
14885
14886         errno: Port to Minix.
14887         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
14888         ECONNABORTED are defined.
14889         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
14890         GNULIB_defined_ECONNABORTED): New macros.
14891         * lib/strerror-override.h (strerror_override): Test also
14892         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
14893         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
14894         ECONNABORTED.
14895         * doc/posix-headers/errno.texi: Mention the Minix problem.
14896
14897 2011-07-31  Bruno Haible  <bruno@clisp.org>
14898
14899         Work around declaration collisions on Minix.
14900         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
14901         defined, set REPLACE_MBSINIT.
14902         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
14903         defined, set REPLACE_MBRTOWC.
14904         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
14905         set REPLACE_MBRLEN.
14906         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
14907         defined, set REPLACE_MBSRTOWCS.
14908         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
14909         defined, set REPLACE_WCRTOMB.
14910         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
14911         defined, set REPLACE_WCSRTOMBS.
14912
14913 2011-07-31  Bruno Haible  <bruno@clisp.org>
14914
14915         Add support for Minix with ACK compiler.
14916         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
14917         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
14918         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
14919
14920 2011-07-31  Bruno Haible  <bruno@clisp.org>
14921
14922         Documentation about Minix.
14923         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
14924         * doc/glibc-headers/*.texi: Likewise.
14925         * doc/posix-functions/*.texi: Likewise.
14926         * doc/glibc-functions/*.texi: Likewise.
14927
14928 2011-07-31  Bruno Haible  <bruno@clisp.org>
14929
14930         snippet/warn-on-use: Fix indentation.
14931         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
14932
14933 2011-07-25  Jim Meyering  <meyering@redhat.com>
14934
14935         tests: test-update-copyright.sh: remove unnecessary "rm" commands
14936         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
14937         commands.
14938
14939 2011-07-27  Jim Meyering  <meyering@redhat.com>
14940
14941         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
14942         * top/maint.mk (gl_extract_significant_defines_): Now that
14943         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
14944         gnulib/lib/signal.in.h, and now that we recommend to
14945         define-if-undefined those two symbols in application code,
14946         we must filter them out of the "significant" list.
14947         This avoids a "make syntax-check" failure in coreutils.
14948
14949 2011-07-26  Eric Blake  <eblake@redhat.com>
14950
14951         warnings: add comments about previous patch
14952         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
14953         * m4/include_next.m4: Likewise.
14954         * m4/warn-on-use.m4: Likewise.
14955         * m4/warnings.m4: Likewise, and simplify use.
14956         Suggested by Stefano Lattarini.
14957
14958         include-next, warnings: support older autoconf
14959         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
14960         AS_VAR_PUSHDEF in a way that works with older autoconf.
14961         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
14962         Reported by Daniel P. Berrange.
14963
14964 2011-07-25  Bruno Haible  <bruno@clisp.org>
14965
14966         fseek, ftell: Fix doc.
14967         * doc/posix-functions/fseek.texi: Reword statement about
14968         AC_SYS_LARGEFILE.
14969         * doc/posix-functions/ftell.texi: Likewise.
14970
14971 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
14972             Bruno Haible  <bruno@clisp.org>
14973
14974         Add dependencies to the 'largefile' module.
14975         * modules/fopen (Depends-on): Add 'largefile'.
14976         * modules/freopen (Depends-on): Likewise.
14977         * modules/fseeko (Depends-on): Likewise.
14978         * modules/ftello (Depends-on): Likewise.
14979         * modules/glob (Depends-on): Likewise.
14980         * modules/lseek (Depends-on): Likewise.
14981         * modules/lstat (Depends-on): Likewise.
14982         * modules/mkostemp (Depends-on): Likewise.
14983         * modules/mkostemps (Depends-on): Likewise.
14984         * modules/mkstemp (Depends-on): Likewise.
14985         * modules/mkstemps (Depends-on): Likewise.
14986         * modules/open (Depends-on): Likewise.
14987         * modules/openat (Depends-on): Likewise.
14988         * modules/pread (Depends-on): Likewise.
14989         * modules/pwrite (Depends-on): Likewise.
14990         * modules/scandir (Depends-on): Likewise.
14991         * modules/stat (Depends-on): Likewise.
14992         * modules/tmpfile (Depends-on): Likewise.
14993         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
14994         since the containing module now depends on the largefile module.
14995         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
14996         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
14997         off_t is fixed by gnulib.
14998         * doc/posix-functions/freopen.texi: Likewise.
14999         * doc/posix-functions/fseeko.texi: Likewise.
15000         * doc/posix-functions/fstatat.texi: Likewise.
15001         * doc/posix-functions/ftello.texi: Likewise.
15002         * doc/posix-functions/glob.texi: Likewise.
15003         * doc/posix-functions/lseek.texi: Likewise.
15004         * doc/posix-functions/lstat.texi: Likewise.
15005         * doc/posix-functions/mkstemp.texi: Likewise.
15006         * doc/posix-functions/open.texi: Likewise.
15007         * doc/posix-functions/openat.texi: Likewise.
15008         * doc/posix-functions/pread.texi: Likewise.
15009         * doc/posix-functions/pwrite.texi: Likewise.
15010         * doc/posix-functions/scandir.texi: Likewise.
15011         * doc/posix-functions/stat.texi: Likewise.
15012         * doc/posix-functions/tmpfile.texi: Likewise.
15013         * doc/glibc-functions/mkostemp.texi: Likewise.
15014         * doc/glibc-functions/mkostemps.texi: Likewise.
15015         * doc/glibc-functions/mkstemps.texi: Likewise.
15016
15017 2011-07-25  Bruno Haible  <bruno@clisp.org>
15018
15019         fcntl: Move AC_LIBOBJ invocation to module description.
15020         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
15021         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
15022
15023         fcntl: Remove call-in from fchdir.m4.
15024         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
15025         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
15026
15027         dup3: Remove potential call-in from fchdir.m4.
15028         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
15029         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
15030
15031         dup2: Move AC_LIBOBJ invocation to module description.
15032         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
15033         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
15034         Don't invoke AC_LIBOBJ.
15035         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
15036
15037         dup2: Remove call-in from fchdir.m4.
15038         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
15039         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
15040
15041         fclose: Move AC_LIBOBJ invocation to module description.
15042         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
15043         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
15044         to 1.
15045         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
15046
15047         fclose: Remove call-in from close.m4.
15048         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
15049         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
15050
15051         close: Move AC_LIBOBJ invocation to module description.
15052         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
15053         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
15054         1.
15055         * modules/close (configure.ac): Invoke AC_LIBOBJ.
15056
15057         close: Remove call-in from fchdir.m4.
15058         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
15059         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
15060
15061         open: Move AC_LIBOBJ invocation to module description.
15062         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
15063         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
15064         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
15065
15066         open: Remove call-in from fchdir.m4.
15067         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
15068         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
15069
15070         fchdir: Start to remove gl_REPLACE_* idiom.
15071         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
15072         (gl_FUNC_FCHDIR): Invoke it.
15073
15074 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15075
15076         * lib/ftell.c (ftell): Comment out cast.
15077
15078         close: use gl_REPLACE_FCLOSE only if defined
15079         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
15080         is defined.  The close module doesn't depend on the fclose module
15081         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
15082         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
15083         I reproduced the problem with "./gnulib-tool --test close sys_socket".
15084
15085 2011-07-24  Jim Meyering  <meyering@redhat.com>
15086
15087         test-select.h: avoid warning when using gcc's -Wmissing-declarations
15088         * tests/test-select.h (test_function): Declare as "static".
15089
15090 2011-07-24  Bruno Haible  <bruno@clisp.org>
15091
15092         doc: Mention the effects of AC_SYS_LARGEFILE.
15093         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
15094         on this function.
15095         * doc/posix-functions/aio_error.texi: Likewise.
15096         * doc/posix-functions/aio_fsync.texi: Likewise.
15097         * doc/posix-functions/aio_read.texi: Likewise.
15098         * doc/posix-functions/aio_return.texi: Likewise.
15099         * doc/posix-functions/aio_suspend.texi: Likewise.
15100         * doc/posix-functions/aio_write.texi: Likewise.
15101         * doc/posix-functions/fgetpos.texi: Likewise.
15102         * doc/posix-functions/fopen.texi: Likewise.
15103         * doc/posix-functions/freopen.texi: Likewise.
15104         * doc/posix-functions/fsetpos.texi: Likewise.
15105         * doc/posix-functions/fstatvfs.texi: Likewise.
15106         * doc/posix-functions/ftruncate.texi: Likewise.
15107         * doc/posix-functions/ftw.texi: Likewise.
15108         * doc/posix-functions/getrlimit.texi: Likewise.
15109         * doc/posix-functions/glob.texi: Likewise.
15110         * doc/posix-functions/lio_listio.texi: Likewise.
15111         * doc/posix-functions/lockf.texi: Likewise.
15112         * doc/posix-functions/mkstemp.texi: Likewise.
15113         * doc/posix-functions/mmap.texi: Likewise.
15114         * doc/posix-functions/nftw.texi: Likewise.
15115         * doc/posix-functions/openat.texi: Likewise.
15116         * doc/posix-functions/opendir.texi: Likewise.
15117         * doc/posix-functions/posix_fadvise.texi: Likewise.
15118         * doc/posix-functions/posix_fallocate.texi: Likewise.
15119         * doc/posix-functions/pread.texi: Likewise.
15120         * doc/posix-functions/pwrite.texi: Likewise.
15121         * doc/posix-functions/readdir.texi: Likewise.
15122         * doc/posix-functions/readdir_r.texi: Likewise.
15123         * doc/posix-functions/rewinddir.texi: Likewise.
15124         * doc/posix-functions/scandir.texi: Likewise.
15125         * doc/posix-functions/seekdir.texi: Likewise.
15126         * doc/posix-functions/setrlimit.texi: Likewise.
15127         * doc/posix-functions/statvfs.texi: Likewise.
15128         * doc/posix-functions/telldir.texi: Likewise.
15129         * doc/posix-functions/tmpfile.texi: Likewise.
15130         * doc/posix-functions/truncate.texi: Likewise.
15131         * doc/glibc-functions/fallocate.texi: Likewise.
15132         * doc/glibc-functions/fstatfs.texi: Likewise.
15133         * doc/glibc-functions/fts_children.texi: Likewise.
15134         * doc/glibc-functions/fts_read.texi: Likewise.
15135         * doc/glibc-functions/getdirentries.texi: Likewise.
15136         * doc/glibc-functions/mkostemp.texi: Likewise.
15137         * doc/glibc-functions/mkostemps.texi: Likewise.
15138         * doc/glibc-functions/mkstemps.texi: Likewise.
15139         * doc/glibc-functions/preadv.texi: Likewise.
15140         * doc/glibc-functions/pwritev.texi: Likewise.
15141         * doc/glibc-functions/sendfile.texi: Likewise.
15142         * doc/glibc-functions/statfs.texi: Likewise.
15143
15144 2011-07-24  Bruno Haible  <bruno@clisp.org>
15145
15146         doc: Fix typo.
15147         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
15148
15149 2011-07-24  Bruno Haible  <bruno@clisp.org>
15150
15151         doc: Mention fsusage.
15152         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
15153
15154 2011-07-24  Bruno Haible  <bruno@clisp.org>
15155
15156         doc: Mention new glibc headers and functions.
15157         * doc/glibc-headers/gshadow.texi: New file.
15158         * doc/glibc-functions/endsgent.texi: New file.
15159         * doc/glibc-functions/fgetsgent.texi: New file.
15160         * doc/glibc-functions/fgetsgent_r.texi: New file.
15161         * doc/glibc-functions/getsgent.texi: New file.
15162         * doc/glibc-functions/getsgent_r.texi: New file.
15163         * doc/glibc-functions/getsgnam.texi: New file.
15164         * doc/glibc-functions/getsgnam_r.texi: New file.
15165         * doc/glibc-functions/putsgent.texi: New file.
15166         * doc/glibc-functions/setsgent.texi: New file.
15167         * doc/glibc-functions/sgetsgent.texi: New file.
15168         * doc/glibc-functions/sgetsgent_r.texi: New file.
15169         * doc/glibc-functions/malloc_info.texi: New file.
15170         * doc/glibc-functions/preadv.texi: New file.
15171         * doc/glibc-functions/pwritev.texi: New file.
15172         * doc/glibc-functions/register_printf_modifier.texi: New file.
15173         * doc/glibc-functions/register_printf_specifier.texi: New file.
15174         * doc/glibc-functions/register_printf_type.texi: New file.
15175         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
15176         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
15177         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
15178         * doc/glibc-functions/pthread_getname_np.texi: New file.
15179         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
15180         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
15181         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
15182         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
15183         * doc/glibc-functions/pthread_setname_np.texi: New file.
15184         * doc/glibc-functions/pthread_sigqueue.texi: New file.
15185         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
15186         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
15187         * doc/glibc-functions/qsort_r.texi: New file.
15188         * doc/glibc-functions/quick_exit.texi: New file.
15189         * doc/glibc-functions/syncfs.texi: New file.
15190         * doc/gnulib.texi: Include them.
15191         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
15192         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
15193         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
15194         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
15195         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
15196         * doc/glibc-functions/execvpe.texi: Likewise.
15197
15198 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15199
15200         ftell: don't include <unistd.h>
15201         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
15202         guaranteed to define off_t, and the ftell module depends on the
15203         stdio module.
15204
15205         ftell: do not assume wraparound signed arithmetic
15206         * lib/ftell.c: Include <limits.h>.
15207         (ftell): Don't assume wraparound signed arithmetic.
15208
15209 2011-07-24  Bruno Haible  <bruno@clisp.org>
15210
15211         close: No longer depend on module 'fclose'.
15212         * modules/close (Depends-on): Remove fclose.
15213         * NEWS: Mention the change.
15214         Suggested by Sam Steingold <sds@gnu.org>.
15215
15216 2011-07-24  Bruno Haible  <bruno@clisp.org>
15217
15218         fsusage: Enable large volume support on AIX >= 5.2.
15219         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
15220         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
15221         instead of STAT_STATVFS.
15222         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
15223
15224         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
15225         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
15226         f_blocks field only on MacOS X.
15227
15228         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
15229         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
15230         * modules/fsusage (Depends-on): Add largefile.
15231
15232 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15233
15234         * README: Modernize discussion of signed integers.
15235         Assuming overflow wraparound is no longer safe.
15236         Mention ones' complement and signed magnitude.
15237
15238 2011-07-22  Bruno Haible  <bruno@clisp.org>
15239
15240         select tests, pselect tests: Refactor.
15241         * tests/test-select.h: New file, extracted from tests/test-select.c.
15242         (select_fn): New type.
15243         (test, do_select, do_select_nowait, do_select_wait, test_tty,
15244         test_connect_first, test_accept_first, test_pair, test_socket_pair,
15245         test_pipe): Add my_select argument.
15246         (test_function): Renamed from main. Add my_select argument.
15247         * tests/test-select.c: Move most code to tests/test-select.h. Include
15248         test-select.h.
15249         * modules/select-tests (Files): Add tests/test-select.h.
15250         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
15251         (my_select, main): New functions.
15252         * modules/pselect-tests (Files): Add tests/test-select.h,
15253         tests/macros.h, tests/signature.h.
15254         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
15255         (configure.ac): Check for <sys/wait.h>.
15256
15257 2011-07-22  Bruno Haible  <bruno@clisp.org>
15258
15259         sys_select tests: Check the signature of FD_*.
15260         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
15261         signature tests from here...
15262         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
15263         here.
15264         * modules/sys_select-tests (Files): Add tests/signature.h.
15265
15266 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15267
15268         largefile: new module, replacing large-inode
15269         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
15270         * MODULES.html.sh: Add largefile, remove large-inode.
15271         * modules/largefile, m4/largefile.m4: New files.
15272         * modules/large-inode, m4/large-inode.m4: Remove.
15273
15274         fsusage: port to MacOS X 10.7 with 4 TiB file systems
15275         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
15276         implementations that use only 32 bits to count blocks.
15277         On typical hosts with 1024-byte blocks, this fails with file
15278         systems as small as 4 TiB.  Problem reported by Herb Wartens
15279         <http://debbugs.gnu.org/9140> and this should also fix a similar
15280         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
15281
15282         large-inode: New module
15283         * MODULES.html.sh: Add it.
15284         * modules/large-inode, m4/large-inode.m4: New files.
15285
15286         extensions: Enable extensions on MacOS X 10.5 and later.
15287         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
15288
15289 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
15290
15291         file-has-acl: use acl_extended_file_nofollow if available
15292         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
15293         (acl_extended_file): New macro.
15294         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
15295         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
15296
15297 2011-07-21  Bruno Haible  <bruno@clisp.org>
15298
15299         Declare system functions in a way that works with C++.
15300         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
15301         declare fdopendir as extern "C".
15302         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
15303         declare frexpl as extern "C".
15304         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
15305         declare gai_strerror as extern "C".
15306         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
15307         programs, declare gai_strerror as extern "C".
15308         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
15309         declare getlogin_r as extern "C".
15310         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
15311         as extern "C".
15312         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
15313         declare ldexpl as extern "C".
15314         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
15315         as extern "C".
15316         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
15317         program, declare getmntinfo as extern "C".
15318         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
15319         stpncpy as extern "C".
15320         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
15321         program, declare __xpg_strerror_r as extern "C".
15322         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
15323         strndup as extern "C".
15324         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
15325         declare memset and bzero as extern "C".
15326         Reported by Sam Steingold <sds@gnu.org>.
15327
15328 2011-07-12  Jim Meyering  <meyering@redhat.com>
15329
15330         maint.mk: prohibit inclusion of "verify.h" without use
15331         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
15332
15333 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15334
15335         timer-time: A new module to check for timer_settime()
15336         * m4/timer_time.m4: Check for the posix function.
15337         * modules/timer-time: Add the new module.
15338         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
15339         Mention it.
15340
15341 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
15342             Bruno Haible  <bruno@clisp.org>
15343
15344         pthread_sigmask: assume POSIX threads if --avoid=threadlib
15345         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
15346         not defined, assume POSIX threads and look for pthread_sigmask in
15347         $LIBS, without changing $CPPFLAGS.
15348
15349 2011-07-19  Bruno Haible  <bruno@clisp.org>
15350
15351         strstr: Update cross-compilation guess.
15352         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
15353         CPUs, guess no, in view of glibc
15354         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
15355         Suggested by Eric Blake. Reported by Reuben Thomas.
15356
15357 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15358
15359         getopt-gnu: suppress core dumps from detection code
15360         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
15361         to suppress core dumps that may well occur on glibc systems.
15362         * modules/getopt-gnu: Depend on nocrash.
15363
15364 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15365
15366         pthread_sigmask: ensure usleep is declared
15367         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
15368         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
15369
15370 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
15371
15372         doc: Document NonStop portability issues.
15373         * doc/posix-functions/sigaction.texi (sigaction):
15374         * doc/posix-headers/signal.texi (signal.h):
15375         Document NonStop.  See Joachim Schmitz in
15376         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
15377
15378 2011-07-15  Bruno Haible  <bruno@clisp.org>
15379
15380         ffsl, ffsll: Avoid unportable behaviour.
15381         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
15382
15383 2011-07-15  Bruno Haible  <bruno@clisp.org>
15384
15385         ffs: More tests.
15386         * tests/test-ffs.c (NBITS): New macro.
15387         (main): Add more tests.
15388         * tests/test-ffsl.c (NBITS): New macro.
15389         (main): Add more tests.
15390         * tests/test-ffsll.c (NBITS): New macro.
15391         (main): Add more tests.
15392
15393 2011-07-15  Eric Blake  <eblake@redhat.com>
15394
15395         ffsl, ffsll: new modules
15396         * modules/ffsl: New file.
15397         * modules/ffsll: Likewise.
15398         * m4/ffsl.m4: Likewise.
15399         * m4/ffsll.m4: Likewise.
15400         * lib/ffsl.c: Likewise.
15401         * lib/ffsl.h: Likewise.
15402         * lib/ffsll.c: Likewise.
15403         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
15404         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
15405         * modules/string (Makefile.am): Substitute witnesses.
15406         * lib/strings.in.h (ffsl, ffsll): Declare.
15407         * modules/ffsl-tests: New test file.
15408         * modules/ffsll-tests: Likewise.
15409         * tests/test-ffsl.c: Likewise.
15410         * tests/test-ffsll.c: Likewise.
15411         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15412         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
15413         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
15414
15415         ffs: fix m4 prerequisite
15416         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
15417
15418         ffs: avoid undefined behavior
15419         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
15420         * tests/test-ffs.c (naive, main): Avoid signed shifts.
15421         Reported by Bruno Haible.
15422
15423 2011-07-12  Bruno Haible  <bruno@clisp.org>
15424
15425         pthread_sigmask: Rely on module 'threadlib'.
15426         * modules/pthread_sigmask (Depends-on): Add threadlib.
15427         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
15428         is defined.
15429
15430 2011-07-12  Bruno Haible  <bruno@clisp.org>
15431
15432         regex: Depend on module 'strcase'.
15433         * modules/regex (Depends-on): Add strcase, for strcasecmp().
15434
15435 2011-07-12  Jim Meyering  <meyering@redhat.com>
15436
15437         warn-on-use: fix typo in file name
15438         * modules/snippet/warn-on-use (Files): Correct file name:
15439         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
15440
15441 2011-07-12  Bruno Haible  <bruno@clisp.org>
15442
15443         strings: Document module.
15444         * doc/posix-headers/strings.texi: Mention module 'strings'.
15445
15446 2011-07-12  Bruno Haible  <bruno@clisp.org>
15447
15448         Rename module '_Noreturn' to 'snippet/_Noreturn'.
15449         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
15450         (Files, Makefile.am): Update.
15451         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
15452         * modules/stdlib (Depends-on): Update.
15453
15454 2011-07-12  Bruno Haible  <bruno@clisp.org>
15455
15456         * NEWS: Mention the changes.
15457
15458         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
15459         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
15460         (Files, Makefile.am): Update.
15461         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
15462         * modules/arpa_inet (Depends-on): Update.
15463         * modules/ctype (Depends-on): Update.
15464         * modules/dirent (Depends-on): Update.
15465         * modules/fcntl-h (Depends-on): Update.
15466         * modules/glob (Depends-on): Update.
15467         * modules/iconv-h (Depends-on): Update.
15468         * modules/inttypes-incomplete (Depends-on): Update.
15469         * modules/langinfo (Depends-on): Update.
15470         * modules/locale (Depends-on): Update.
15471         * modules/math (Depends-on): Update.
15472         * modules/netdb (Depends-on): Update.
15473         * modules/poll-h (Depends-on): Update.
15474         * modules/pty (Depends-on): Update.
15475         * modules/search (Depends-on): Update.
15476         * modules/signal (Depends-on): Update.
15477         * modules/spawn (Depends-on): Update.
15478         * modules/stdio (Depends-on): Update.
15479         * modules/stdlib (Depends-on): Update.
15480         * modules/string (Depends-on): Update.
15481         * modules/strings (Depends-on): Update.
15482         * modules/sys_file (Depends-on): Update.
15483         * modules/sys_ioctl (Depends-on): Update.
15484         * modules/sys_select (Depends-on): Update.
15485         * modules/sys_socket (Depends-on): Update.
15486         * modules/sys_stat (Depends-on): Update.
15487         * modules/sys_time (Depends-on): Update.
15488         * modules/sys_times (Depends-on): Update.
15489         * modules/sys_utsname (Depends-on): Update.
15490         * modules/sys_wait (Depends-on): Update.
15491         * modules/termios (Depends-on): Update.
15492         * modules/time (Depends-on): Update.
15493         * modules/unistd (Depends-on): Update.
15494         * modules/wchar (Depends-on): Update.
15495         * modules/wctype-h (Depends-on): Update.
15496         * MODULES.html.sh (Support for building libraries and executables):
15497         Update.
15498
15499         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
15500         * modules/snippet/unused-parameter: Renamed from
15501         modules/unused-parameter.
15502         (Files, Makefile.am): Update.
15503         * build-aux/snippet/unused-parameter.h: Renamed from
15504         build-aux/unused-parameter.h.
15505         * modules/selinux-h (Depends-on): Update.
15506         * modules/unistr/base (Depends-on): Update.
15507         * MODULES.html.sh (Core language properties): Update.
15508
15509         Rename module 'link-warning' to 'snippet/link-warning'.
15510         * modules/snippet/link-warning: Renamed from modules/link-warning.
15511         (Files, Makefile.am): Update.
15512         * build-aux/snippet/link-warning.h: Renamed from
15513         build-aux/link-warning.h.
15514         * MODULES.html.sh (Support for building libraries and executables):
15515         Update.
15516
15517         Rename module 'c++defs' to 'snippet/c++defs'.
15518         * modules/snippet/c++defs: Renamed from modules/c++defs.
15519         (Files, Makefile.am): Update.
15520         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
15521         * modules/arpa_inet (Depends-on): Update.
15522         * modules/ctype (Depends-on): Update.
15523         * modules/dirent (Depends-on): Update.
15524         * modules/fcntl-h (Depends-on): Update.
15525         * modules/glob (Depends-on): Update.
15526         * modules/iconv-h (Depends-on): Update.
15527         * modules/langinfo (Depends-on): Update.
15528         * modules/locale (Depends-on): Update.
15529         * modules/math (Depends-on): Update.
15530         * modules/netdb (Depends-on): Update.
15531         * modules/poll-h (Depends-on): Update.
15532         * modules/pty (Depends-on): Update.
15533         * modules/search (Depends-on): Update.
15534         * modules/signal (Depends-on): Update.
15535         * modules/spawn (Depends-on): Update.
15536         * modules/stdio (Depends-on): Update.
15537         * modules/stdlib (Depends-on): Update.
15538         * modules/string (Depends-on): Update.
15539         * modules/strings (Depends-on): Update.
15540         * modules/sys_ioctl (Depends-on): Update.
15541         * modules/sys_select (Depends-on): Update.
15542         * modules/sys_socket (Depends-on): Update.
15543         * modules/sys_stat (Depends-on): Update.
15544         * modules/sys_time (Depends-on): Update.
15545         * modules/sys_wait (Depends-on): Update.
15546         * modules/termios (Depends-on): Update.
15547         * modules/time (Depends-on): Update.
15548         * modules/unistd (Depends-on): Update.
15549         * modules/wchar (Depends-on): Update.
15550         * modules/wctype-h (Depends-on): Update.
15551
15552         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
15553         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
15554         (Files, Makefile.am): Update.
15555         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
15556         * modules/argv-iter (Depends-on): Update.
15557         * modules/arpa_inet (Depends-on): Update.
15558         * modules/dirent (Depends-on): Update.
15559         * modules/fcntl-h (Depends-on): Update.
15560         * modules/fnmatch (Depends-on): Update.
15561         * modules/getopt-posix (Depends-on): Update.
15562         * modules/glob (Depends-on): Update.
15563         * modules/iconv-h (Depends-on): Update.
15564         * modules/inttypes-incomplete (Depends-on): Update.
15565         * modules/locale (Depends-on): Update.
15566         * modules/math (Depends-on): Update.
15567         * modules/netdb (Depends-on): Update.
15568         * modules/search (Depends-on): Update.
15569         * modules/signal (Depends-on): Update.
15570         * modules/spawn (Depends-on): Update.
15571         * modules/stdio (Depends-on): Update.
15572         * modules/stdlib (Depends-on): Update.
15573         * modules/string (Depends-on): Update.
15574         * modules/strings (Depends-on): Update.
15575         * modules/sys_socket (Depends-on): Update.
15576         * modules/sys_stat (Depends-on): Update.
15577         * modules/sys_time (Depends-on): Update.
15578         * modules/sys_times (Depends-on): Update.
15579         * modules/sys_utsname (Depends-on): Update.
15580         * modules/time (Depends-on): Update.
15581         * modules/unistd (Depends-on): Update.
15582         * modules/wchar (Depends-on): Update.
15583         * MODULES.html.sh (Support for building libraries and executables):
15584         Update.
15585
15586 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15587
15588         Improvements on _Noreturn and related modules.
15589
15590         modules/_Exit-tests: test _Noreturn too
15591         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
15592         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
15593         (main): Use them.
15594
15595         stdnoreturn, stdnoreturn-tests: remove modules
15596         They're not needed here and a bit premature for use elsewhere.  See
15597         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
15598         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
15599         * tests/test-stdnoreturn.c: Remove files.
15600         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
15601         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
15602         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
15603         and using noreturn.
15604         * modules/openat, modules/sigpipe-die, modules/xalloc:
15605         * modules/xmemdup0, modules/xstrtol:
15606         Remove dependency on stdnoreturn.
15607
15608         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
15609         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
15610         Reparenthesize to avoid GCC warning.
15611         Support Microsoft's syntax.
15612         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
15613
15614         _Noreturn-tests: remove module
15615         * modules/_Noreturn-tests: Remove.
15616         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
15617         * tests/test-_Noreturn.c: Remove.
15618         * tests/test-stdnoreturn.c: Merge from the old
15619         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
15620
15621 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15622
15623         _Noreturn, stdnoreturn, and related modules.
15624
15625         * top/maint.mk: Adjust to new noreturn support.
15626         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
15627         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
15628
15629         xalloc: use stdnoreturn.h
15630         * lib/xalloc.h: Include <stdnoreturn.h>.
15631         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15632         * modules/xalloc (Depends-on): Add stdnoreturn.
15633
15634         xstrtol: use stdnoreturn.h
15635         * lib/xstrtol.h: Include <stdnoreturn.h>.
15636         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15637         * modules/xstrtol (Depends-on): Add stdnoreturn.
15638
15639         xmemdup0: use stdnoreturn.h
15640         * lib/xmemdup0.h: Include <stdnoreturn.h>.
15641         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15642         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
15643
15644         sigpipe-die: use stdnoreturn.h
15645         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
15646         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15647         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
15648
15649         openat: use stdnoreturn.h
15650         * lib/openat.h: Include <stdnoreturn.h>.
15651         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15652         * modules/openat (Depends-on): Add stdnoreturn.
15653
15654         * lib/openat-die.c (openat_save_fail): Modernize comment.
15655
15656         * lib/xalloc-die.c (xalloc_die): Modernize comment.
15657
15658         * lib/glthread/thread.h: Modernize comment.
15659
15660         obstack: use _Noreturn
15661         * lib/obstack.c (__attribute__): Remove macro.
15662         (print_and_abort): Use _Noreturn.
15663
15664         c-stack: use _Noreturn
15665         * lib/c-stack.c (die, overflow_handler, segv_handler):
15666         Use _Noreturn rather than __attribute__((noreturn)).
15667
15668         argmatch-tests, exclude_tests: use _Noreturn
15669         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
15670         Remove.
15671         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
15672
15673         stdlib: use _Noreturn
15674         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
15675         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
15676         * modules/stdlib (Depends-on): Add _Noreturn.
15677         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
15678
15679         stdnoreturn-tests: new module
15680         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
15681
15682         stdnoreturn: new module
15683         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
15684         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
15685
15686         _Noreturn-tests: new module
15687         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
15688
15689         _Noreturn: new module
15690         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
15691         New section, mentioning it.
15692         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
15693
15694         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
15695
15696 2011-07-11  Eric Blake  <eblake@redhat.com>
15697
15698         ffs: new module
15699         * modules/ffs: New file.
15700         * m4/ffs.m4: Likewise.
15701         * lib/ffs.c: Likewise.
15702         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
15703         * modules/strings (Makefile.am): Substitute witness.
15704         (Depends-on): Add c++defs.
15705         * lib/strings.in.h (ffs): Declare.
15706         * modules/ffs-tests: New test file.
15707         * tests/test-ffs.c: Test new module.
15708         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15709         * doc/posix-functions/ffs.texi (ffs): Likewise.
15710
15711         regex: avoid compiler warning
15712         * lib/regex.c (includes): Include <strings.h>, for use of
15713         strcasecmp in regcomp.c.
15714         Reported by Joachim Schmitz.
15715
15716 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15717
15718         stdint: respect system's intmax_t if INTMAX_MAX
15719         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
15720         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
15721         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
15722         long but int64_t is long long, and where we will clash with the
15723         system intmax_t if we override it.  See
15724         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
15725         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
15726         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
15727         similarly for UINTMAX_C.
15728
15729 2011-07-08  Bruno Haible  <bruno@clisp.org>
15730
15731         pthread_sigmask tests: Avoid a compiler warning.
15732         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
15733         non-zero.
15734
15735         sigprocmask tests: A better way to avoid a compiler warning.
15736         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
15737         (main): Complain if system() returns non-zero.
15738         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
15739
15740 2011-07-08  Bruno Haible  <bruno@clisp.org>
15741
15742         pthread_sigmask: Work around IRIX bug.
15743         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
15744         bug.
15745         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
15746         there may be unblocked pending signals.
15747         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
15748
15749 2011-07-08  Bruno Haible  <bruno@clisp.org>
15750
15751         pthread_sigmask: Work around Cygwin bug.
15752         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
15753         bug.
15754         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
15755         the system's pthread_sigmask function.
15756         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
15757
15758 2011-07-08  Bruno Haible  <bruno@clisp.org>
15759
15760         pthread_sigmask: Work around bug in single-threaded implementation.
15761         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
15762         FreeBSD, HP-UX, Solaris bug.
15763         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
15764         * lib/pthread_sigmask.c: Include <stddef.h>.
15765         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
15766         the system's pthread_sigmask function.
15767         * modules/pthread_sigmask (configure.ac): Invoke
15768         gl_PREREQ_PTHREAD_SIGMASK.
15769         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
15770         HP-UX, Solaris.
15771
15772 2011-07-08  Eric Blake  <eblake@redhat.com>
15773
15774         test-sigprocmask: avoid compiler warning
15775         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
15776         * tests/test-sigprocmask.c (main): Use it to silence warning.
15777         Reported by Jim Meyering.
15778
15779         test-snprintf: avoid compiler warning
15780         * tests/test-snprintf.c (main): Avoid shadowed declaration.
15781         * tests/test-vsnprintf.c (main): Likewise.
15782         Reported by Jim Meyering.
15783
15784 2011-07-08  Bruno Haible  <bruno@clisp.org>
15785
15786         Tests for module 'pthread_sigmask'.
15787         * modules/pthread_sigmask-tests: New file.
15788         * tests/test-pthread_sigmask1.c: New file, based on
15789         tests/test-sigprocmask.c.
15790         * tests/test-pthread_sigmask2.c: New file.
15791
15792 2011-07-08  Jim Meyering  <meyering@redhat.com>
15793
15794         test-getopt.h: avoid warning about an unused variable
15795         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
15796
15797 2011-07-07  Jim Meyering  <meyering@redhat.com>
15798
15799         maint: reduce list of files exempt from sc_prohibit_leading_TABs
15800         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
15801         now that it no longer contains leading TABs.
15802         Remove unused "url=FIXME" statement.
15803
15804 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
15805
15806         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
15807         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15808         When gl_THREADLIB is not in use, assume that the POSIX sematics
15809         are desired.  This is better for Emacs, which uses POSIX semantics
15810         on GNUish and/or POSIXish platforms, and does not use threads at
15811         all otherwise.
15812
15813         pthread_sigmask: fix typo when testing for libraries
15814         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15815         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
15816
15817 2011-07-08  Eric Blake  <eblake@redhat.com>
15818
15819         fts: introduce FTS_NOATIME
15820         * lib/fts_.h (FTS_NOATIME): New bit flag.
15821         (FTS_OPTIONMASK): Adjust.
15822         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
15823         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
15824
15825 2011-07-08  Bruno Haible  <bruno@clisp.org>
15826
15827         Tests for module 'thread'.
15828         * modules/thread-tests: New file.
15829         * tests/test-thread_self.c: New file.
15830         * tests/test-thread_create.cc: New file.
15831
15832 2011-07-08  Bruno Haible  <bruno@clisp.org>
15833
15834         thread: Avoid gcc warnings when using gl_thread_self().
15835         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
15836         'void *'.
15837         (gl_thread_self_pointer): Update.
15838
15839 2011-07-07  Bruno Haible  <bruno@clisp.org>
15840
15841         signal-c++-tests: Check declaration of pthread_sigmask.
15842         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
15843         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
15844         $(LIB_PTHREAD_SIGMASK).
15845
15846 2011-07-07  Bruno Haible  <bruno@clisp.org>
15847
15848         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
15849         * lib/signal.in.h (pthread_sigmask): Override if
15850         REPLACE_PTHREAD_SIGMASK is 1.
15851         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15852         REPLACE_PTHREAD_SIGMASK.
15853         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
15854         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
15855         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
15856         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15857         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
15858
15859 2011-07-07  Bruno Haible  <bruno@clisp.org>
15860
15861         pthread_sigmask: Ensure declaration in <signal.h>.
15862         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
15863         include <pthread.h>.
15864         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
15865         problem.
15866
15867 2011-07-07  Bruno Haible  <bruno@clisp.org>
15868
15869         pthread_sigmask: Document the module.
15870         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
15871
15872 2011-07-07  Bruno Haible  <bruno@clisp.org>
15873
15874         pthread_sigmask: Follow gnulib conventions.
15875         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
15876         gl_PTHREAD_SIGMASK.
15877         * modules/pthread_sigmask (configure.ac): Update.
15878
15879 2011-07-07  Bruno Haible  <bruno@clisp.org>
15880
15881         pthread_sigmask: Make declaration C++ safe.
15882         * lib/signal.in.h: In two special conditions, just do an #include_next.
15883         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15884         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
15885         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15886         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15887         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
15888         not REPLACE_PTHREAD_MASK.
15889         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
15890         not REPLACE_PTHREAD_MASK.
15891         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15892
15893 2011-07-07  Bruno Haible  <bruno@clisp.org>
15894
15895         pthread_sigmask: Fix return value.
15896         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
15897         * lib/pthread_sigmask.c: New file.
15898         * modules/pthread_sigmask (Files): Add it.
15899         (configure.ac): Invoke AC_LIBOBJ.
15900
15901 2011-07-07  Eric Blake  <eblake@redhat.com>
15902
15903         getopt: more portable argv creation
15904         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
15905         const, use char arrays rather than strings.
15906         Suggested by Paul Eggert.
15907
15908 2011-07-07  Bruno Haible  <bruno@clisp.org>
15909
15910         Tests for module 'sigprocmask'.
15911         * modules/sigprocmask-tests: New file.
15912         * tests/test-sigprocmask.c: New file.
15913
15914 2011-07-07  Bruno Haible  <bruno@clisp.org>
15915
15916         float tests: Tweak.
15917         * tests/test-float.c (main): Tweak skip message.
15918
15919 2011-07-07  Eric Blake  <eblake@redhat.com>
15920
15921         getopt: avoid compiler warning during configure
15922         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
15923         assigning string literals to non-const pointer.
15924
15925         getopt-gnu: avoid crash in glibc getopt
15926         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
15927         * tests/test-getopt.h (test_getopt): Enhance test.
15928         * tests/test-getopt_long.h (test_getopt_long): Likewise.
15929         * doc/posix-functions/getopt.texi (getopt): Document it.
15930         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
15931         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
15932         Likewise.
15933
15934 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
15935
15936         getopt: handle W; without long options in getopt [BZ #12922]
15937         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
15938         but no long options are defined, just return 'W'.
15939
15940 2011-07-07  Bruno Haible  <bruno@clisp.org>
15941
15942         Avoid literal tabs.
15943         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
15944         variable containing a tab instead of a literal tab.
15945         Reported by Jim Meyering.
15946
15947 2011-07-07  Bruno Haible  <bruno@clisp.org>
15948
15949         Comments.
15950         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
15951
15952 2011-07-06  Bruno Haible  <bruno@clisp.org>
15953
15954         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
15955         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
15956         <winsock2.h>.
15957         (rpl_fd_isset, FD_ISSET): New definitions, copied from
15958         lib/sys_socket.in.h.
15959         (close, gethostname): Hide declarations from <winsock2.h>.
15960         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
15961         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
15962         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
15963         (select): Don't override if gnulib's <sys/select.h> was already
15964         included.
15965         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
15966         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
15967         setsockopt, shutdown, select): Tweak indentation.
15968
15969 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15970
15971         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
15972         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
15973         in an application that does not use the sys_select module.
15974
15975 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
15976
15977         poll: do not return 0 on timeout=-1
15978         * lib/poll.c: Loop with yield if no events occurred.
15979
15980 2011-07-06  Eric Blake  <eblake@redhat.com>
15981
15982         pthread_sigmask: always replace when not using pthread
15983         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
15984         replacement when using some threading other than pthread.  Fix
15985         logic bug.
15986
15987 2011-07-06  Bruno Haible  <bruno@clisp.org>
15988
15989         Comments.
15990         * m4/printf.m4: Update comments about mingw.
15991
15992 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15993
15994         sys_select: define sigset_t more portably
15995         * lib/sys_select.in.h: Always include <sys/types.h>, since
15996         we now need sigset_t and mingw defines it there.
15997         Include <signal.h> before split inclusion guard, to avoid
15998         mishaps on Solaris, whose <signal.h> eventually includes us.
15999         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
16000         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
16001         which come from ...
16002         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
16003         gl_CHECK_TYPE_SIGSET_T.
16004         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
16005         does the real work.
16006         * modules/sys_select (Depends-on): Add 'signal'.
16007
16008         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
16009         Suggested by Bruno Haible.
16010
16011         pselect: Use pthread_sigmask, not sigprocmask.
16012         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
16013         multithreaded apps better than sigprocmask does.
16014         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
16015         sigprocmask directly.
16016
16017 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
16018
16019         * lib/pselect.c (pselect): Use plain name, without "rpl_".
16020         Don't #undef,  since we don't need any underlying pselect.
16021         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
16022         (Depends-on): Add select.
16023         (Link): Add $(LIBSOCKET).
16024         These changes suggested by Bruno Haible.
16025
16026         pselect: document better
16027         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16028         * doc/posix-functions/pselect.texi (pselect): Document new module.
16029
16030         pthread_sigmask: new module
16031         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16032         * doc/posix-functions/pthread_sigmask.texi: Document new module.
16033         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
16034         This is done only as a macro; I don't know how well that'll
16035         work for C++.  Move <sys/types.h> include before the include_next,
16036         to avoid mishap on Solaris.
16037         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
16038         * modules/signal (Makefile.am): Substitute the check's results.
16039         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
16040
16041         test-pselect: new module
16042         * modules/pselect-tests, tests/test-pselect.c: New files.
16043         * tests/test-select.c, tests/test-sys_select-c++.cc:
16044         If TEST_PSELECT is defined, test pselect instead of testing select.
16045
16046         * tests/test-sys_select.c (sigset_t): Test for it, too.
16047         Suggested by Bruno Haible.
16048
16049 2011-07-05  Eric Blake  <eblake@redhat.com>
16050
16051         snprintf: guarantee %1$d, for libintl
16052         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
16053         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
16054         * doc/posix-functions/snprintf.texi (snprintf): Update.
16055         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16056         * tests/test-snprintf.c (main): Enhance test.
16057         * tests/test-vsnprintf.c (main): Likewise.
16058
16059 2011-07-05  Jim Meyering  <meyering@redhat.com>
16060
16061         maint: exempt stdio-read.c and stdio-write.c from the cppi check
16062         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
16063         per Bruno's request, to accommodate this idiom (no space after "#")
16064         even when the function is inside an #if block:
16065         char *
16066         gets (char *s)
16067         #undef gets
16068         {
16069           ...
16070         }
16071
16072 2011-07-04  Jim Meyering  <meyering@redhat.com>
16073
16074         maint: indent with spaces, not TABs, and add a rule to check this
16075         * tests/test-userspec.c: Indent with spaces, not TABs.
16076         * tests/test-argp.c: Likewise.
16077         * tests/test-c-stack2.sh: Likewise.
16078         * tests/test-parse-duration.sh: Likewise
16079         * m4/strtod.m4: Likewise.
16080         * m4/alloca.m4: Likewise.
16081         * m4/pselect.m4: Likewise.
16082         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
16083
16084 2011-07-03  Jim Meyering  <meyering@redhat.com>
16085
16086         maint.mk: correct omissions in prohibit_argmatch_without_use check
16087         This rule would mistakenly report that argmatch.h is included without
16088         use even when both the argmatch and invalid_arg macro were used.
16089         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
16090         of argmatch and invalid_arg.
16091
16092 2011-07-03  Bruno Haible  <bruno@clisp.org>
16093
16094         Comments about EINTR.
16095         * lib/safe-read.h: Explain the purpose of this module.
16096         * lib/safe-write.h: Likewise.
16097         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
16098         module.
16099         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
16100         module.
16101         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16102
16103 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
16104
16105         xnanosleep: Rewrite to use new dtotimespec module.
16106         It has the conversion code that used to be in xnanosleep.
16107         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
16108         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
16109         (TIME_T_MAX): Remove.
16110         (xnanosleep): Rewrite in terms of dtotimespec.
16111         * modules/xnanosleep (Depends-on): Add dtotimespec.
16112         Remove intprops, stdbool.
16113
16114         timespec-add, timespec-sub: new modules
16115         * lib/timespec.h (timespec_add, timespec_sub): New decls.
16116         * lib/timespec-add.c, lib/timespec-sub.c:
16117         * modules/timespec-add, modules/timespec-sub: New files.
16118
16119         dtotimespec: new module
16120         * lib/timespec.h (dtotimespec): New decl.
16121         * lib/dtotimespec.c, modules/dtotimespec: New files.
16122
16123         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
16124
16125         pselect: new module
16126         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
16127         (pselect): New decls.
16128         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
16129         since the standard pselect decl uses 'restrict'.
16130         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
16131         HAVE_PSELECT, REPLACE_PSELECT.
16132         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
16133         HAVE_PSELECT, REPLACE_PSELECT.
16134         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
16135
16136         sys_select: don't depend on sys_socket
16137         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
16138         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
16139         This fix works on GNU and GNU-like platforms, but has not been tested
16140         on native Windows.
16141         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
16142         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
16143         gl_HEADER_SYS_SOCKET.
16144         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
16145         gl_PREREQ_SYS_H_WINSOCK2.
16146
16147 2011-06-29  Eric Blake  <eblake@redhat.com>
16148
16149         pipe2: fix C89 compile problem
16150         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
16151         Reported by Bruno Haible.
16152
16153         pipe, pipe2: don't corrupt fd on error
16154         * lib/pipe.c (pipe): Leave fd unchanged on error.
16155         * lib/pipe2.c (pipe2): Likewise.
16156         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
16157         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
16158
16159 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
16160
16161         mmap-anon: do not use regular expressions inadvertently
16162         * m4/mmap-anon.m4: Remove trailing period from strings sought
16163         in the output.
16164
16165 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
16166
16167         nanosleep: fix integer overflow problem
16168         * lib/nanosleep.c (my_usleep): Don't assume signed integer
16169         arithmetic wraps around on overflow.
16170
16171         nanosleep: simplify carrying
16172         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
16173         first call to the underyling nanosleep, not for the last one.
16174         This doesn't fix any bugs, but it simplifies the computation of
16175         the remaining delay.  Found while auditing integer overflow issues.
16176
16177         dup2: remove test for existence of fcntl
16178         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
16179         "#if HAVE_FCNTL", in the configure-time test program.
16180         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
16181         and therefore speeds up "configure" a bit.  Found while
16182         adding the dup2 module to Emacs.
16183
16184 2011-06-24  Eric Blake  <eblake@redhat.com>
16185
16186         maint.mk: enhance useless header checks
16187         * top/maint.mk (_sc_header_without_use): Check both include
16188         styles.
16189         (sc_prohibit_assert_without_use)
16190         (sc_prohibit_close_stream_without_use)
16191         (sc_prohibit_getopt_without_use)
16192         (sc_prohibit_quotearg_without_use)
16193         (sc_prohibit_quote_without_use)
16194         (sc_prohibit_long_options_without_use)
16195         (sc_prohibit_inttostr_without_use)
16196         (sc_prohibit_ignore_value_without_use)
16197         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
16198         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
16199         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
16200         (sc_prohibit_hash_pjw_without_use)
16201         (sc_prohibit_safe_read_without_use)
16202         (sc_prohibit_argmatch_without_use)
16203         (sc_prohibit_canonicalize_without_use)
16204         (sc_prohibit_root_dev_ino_without_use)
16205         (sc_prohibit_openat_without_use)
16206         (sc_prohibit_c_ctype_without_use)
16207         (sc_prohibit_signal_without_use)
16208         (sc_prohibit_stdio--_without_use)
16209         (sc_prohibit_stdio-safer_without_use)
16210         (sc_prohibit_strings_without_use)
16211         (sc_prohibit_intprops_without_use)
16212         (sc_prohibit_stddef_without_use)
16213         (sc_prohibit_xfreopen_without_use): Update clients.
16214
16215 2011-06-24  Jim Meyering  <meyering@redhat.com>
16216
16217         syntax-check: keep one maint.mk rule in sync with its header
16218         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
16219         of the bug Eric has just fixed, with today's commit 25e4c2ec.
16220         I prefer to avoid temporary files here, so use <(...), but that
16221         is not supported by /bin/sh, so...
16222         (SHELL): Define to /bin/bash.
16223
16224 2011-06-24  Eric Blake  <eblake@redhat.com>
16225
16226         maint.mk: update sc_prohibit_intprops_without_use
16227         * top/maint.mk (_intprops_names): Match recent changes.
16228
16229 2011-06-24  Bruno Haible  <bruno@clisp.org>
16230
16231         strerror-override: No-op tweak.
16232         * lib/strerror-override.h (strerror_override): Reorder conditions,
16233         for consistency with lib/strerror-override.c.
16234
16235 2011-06-23  Eric Blake  <eblake@redhat.com>
16236
16237         maint.mk: test further PATH_MAX issues
16238         * top/maint.mk (sc_prohibit_path_max_array): Rename...
16239         (sc_prohibit_path_max_allocation): ...and also test alloca.
16240         Suggested by Jim Meyering.
16241
16242 2011-06-22  Eric Blake  <eblake@redhat.com>
16243
16244         maint.mk: add syntax-check to avoid char[PATH_MAX]
16245         * top/maint.mk (sc_prohibit_path_max_array): New rule.
16246
16247         stat: be robust to PATH_MAX definition
16248         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
16249         * modules/stat (Depends-on): Add verify.
16250
16251         link: work around IRIX bug
16252         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
16253         * lib/link.c (rpl_link): Work around it.
16254         * tests/test-link.h (test_link): Enhance test.
16255         * doc/posix-functions/link.texi (link): Document the bug.
16256
16257         getopt: silence clang warning
16258         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
16259         dereference.
16260         Reported by Gustavo Martin Domato.
16261
16262 2011-06-22  Jim Meyering  <meyering@redhat.com>
16263
16264         bootstrap: do not insert a blank line into each .gitignore file
16265         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
16266
16267 2011-06-21  Eric Blake  <eblake@redhat.com>
16268
16269         perror: test for output mismatch
16270         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
16271         perror on IRIX.
16272
16273         strerror_r: fix OpenBSD behavior on out-of-range
16274         * lib/strerror_r.c (strerror_r): Always use maximal string.
16275         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16276
16277         strerror_r: fix OpenBSD behavior on 0
16278         * lib/strerror-override.c (strerror_override): Also override 0
16279         when needed.
16280         * lib/strerror-override.h (strerror_override): Likewise.
16281         * lib/strerror.c (strerror): Simplify, now that 0 override is done
16282         earlier.
16283         * lib/strerror_r.c (strerror_r): Likewise.
16284         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
16285         behavior...
16286         (gl_FUNC_STRERROR_0): ...into new macro.
16287         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
16288         is overridden.
16289         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
16290         * modules/strerror-override (Files): Add strerror.m4.
16291         (configure.ac): Also provide override for 0 when needed.
16292         * doc/posix-functions/strerror.texi (strerror): Document this.
16293         * doc/posix-functions/perror.texi (perror): Likewise.
16294
16295         perror: adjust array size
16296         * modules/perror (Depends-on): Add strerror-override.
16297         * lib/perror.c (perror): Use it to avoid magic number.
16298
16299         strerror-override: reduce size
16300         * lib/strerror-override.c (strerror_override): Use fewer lines.
16301
16302 2011-06-20  Bruno Haible  <bruno@clisp.org>
16303
16304         pathmax: Ensure correct value for PATH_MAX on HP-UX.
16305         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
16306
16307 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
16308
16309         alloca: port to compilers that can optimize like GCC 4.6.0
16310         * lib/alloca.c (find_stack_direction): New signature, taken from
16311         Autoconf git.  This works with GCC 4.6.0.  This code should never
16312         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
16313         be used with other compilers that optimize as well as GCC 4.6.0 does.
16314         (alloca): Adjust to new signature.
16315         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
16316         New macro, which patches Autoconf in a similar way.
16317
16318         c-stack: stop worrying about stack direction
16319         * lib/c-stack.c (find_stack_direction): Remove.
16320         (segv_handler): Don't worry about stack direction growth, as it's
16321         too much of a pain to configure this correctly, given how compilers
16322         are optimizing-away our stack-growth detection code.  Instead, assume
16323         that any access to just before or just after the stack is OK.
16324         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
16325         Don't require AC_FUNC_ALLOCA; no longer needed.
16326
16327 2011-06-20  Eric Blake  <eblake@redhat.com>
16328
16329         test-stat: don't allocate PATH_MAX bytes
16330         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
16331         PATH_MAX-sized buffer.
16332         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
16333         * modules/stat-tests (Depends-on): Likewise.
16334         * tests/test-fstatat.c (includes): Drop pathmax.h.
16335         * tests/test-stat.c (includes): Likewise.
16336         Reported by Bruno Haible.
16337
16338 2011-06-20  Bruno Haible  <bruno@clisp.org>
16339
16340         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
16341         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
16342         * lib/float.c: New file.
16343         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
16344         REPLACE_FLOAT_LDBL.
16345         * modules/float (Files): Add lib/float.c.
16346         (configure.ac): Invoke AC_LIBOBJ.
16347         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
16348
16349 2011-06-20  Bruno Haible  <bruno@clisp.org>
16350
16351         Tests for module 'float'.
16352         * modules/float-tests: New file.
16353         * tests/test-float.c: New file.
16354
16355 2011-06-19  Bruno Haible  <bruno@clisp.org>
16356
16357         isinf: Coding style.
16358         * lib/isinf.c: Use GNU coding style.
16359
16360 2011-06-19  Bruno Haible  <bruno@clisp.org>
16361
16362         linkat test: Avoid test failure on AIX 7.1.
16363         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
16364         * tests/test-link.h (test_link): Likewise.
16365
16366 2011-06-19  Bruno Haible  <bruno@clisp.org>
16367
16368         pread test: Avoid test failure on OpenBSD 4.9.
16369         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
16370
16371 2011-06-19  Bruno Haible  <bruno@clisp.org>
16372
16373         sprintf-posix: Fix test failure on AIX 7.1.
16374         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
16375         * doc/posix-functions/dprintf.texi: Mention limited precision problem
16376         on AIX.
16377         * doc/posix-functions/fprintf.texi: Likewise.
16378         * doc/posix-functions/printf.texi: Likewise.
16379         * doc/posix-functions/snprintf.texi: Likewise.
16380         * doc/posix-functions/sprintf.texi: Likewise.
16381         * doc/posix-functions/vdprintf.texi: Likewise.
16382         * doc/posix-functions/vfprintf.texi: Likewise.
16383         * doc/posix-functions/vprintf.texi: Likewise.
16384         * doc/posix-functions/vsnprintf.texi: Likewise.
16385         * doc/posix-functions/vsprintf.texi: Likewise.
16386
16387 2011-06-19  Bruno Haible  <bruno@clisp.org>
16388
16389         roundl-ieee: Fix test failure on AIX 7.1.
16390         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
16391         * doc/posix-functions/roundl.texi: Mention problem with negative
16392         arguments.
16393
16394 2011-06-19  Bruno Haible  <bruno@clisp.org>
16395
16396         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16397         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
16398         * doc/posix-functions/round.texi: Mention problem with negative
16399         arguments.
16400         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
16401
16402 2011-06-19  Bruno Haible  <bruno@clisp.org>
16403
16404         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16405         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
16406         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
16407         * doc/posix-functions/roundf.texi: Mention problem with negative
16408         arguments.
16409         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
16410
16411 2011-06-19  Bruno Haible  <bruno@clisp.org>
16412
16413         ceilf-ieee: Work around bug on MacOS X 10.5.
16414         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
16415
16416         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
16417         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
16418         IEEE compliant, avoid compiler optimizations.
16419         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16420         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16421         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16422         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16423         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16424         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16425         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16426         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16427         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16428         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16429
16430 2011-06-19  Bruno Haible  <bruno@clisp.org>
16431
16432         ceilf-ieee: Work around bug on AIX 7.1.
16433         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
16434         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
16435
16436 2011-06-19  Bruno Haible  <bruno@clisp.org>
16437
16438         ceil-ieee: Work around bug on AIX 7.1.
16439         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
16440         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
16441
16442 2011-06-18  Bruno Haible  <bruno@clisp.org>
16443
16444         fsync test: Avoid test failure on MacOS X and AIX.
16445         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
16446         EINVAL.
16447
16448 2011-06-18  Bruno Haible  <bruno@clisp.org>
16449
16450         openat, fdopendir tests: Fix link errors.
16451         * modules/openat-tests (Depends-on): Add progname.
16452         * modules/fdopendir-tests (Depends-on): Likewise.
16453         * tests/test-fchownat.c: Include progname.h.
16454         (main): Call set_program_name.
16455         * tests/test-fstatat.c: Include progname.h.
16456         (main): Call set_program_name.
16457         * tests/test-mkdirat.c: Include progname.h.
16458         (main): Call set_program_name.
16459         * tests/test-openat.c: Include progname.h.
16460         (main): Call set_program_name.
16461         * tests/test-unlinkat.c: Include progname.h.
16462         (main): Call set_program_name.
16463         * tests/test-fdopendir.c: Include progname.h.
16464         (main): Call set_program_name.
16465
16466 2011-06-18  Bruno Haible  <bruno@clisp.org>
16467
16468         Doc update.
16469         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
16470         HP-UX.
16471         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
16472
16473 2011-06-18  Bruno Haible  <bruno@clisp.org>
16474
16475         getcwd tests: Avoid compilation error on HP-UX 11.31.
16476         * modules/getcwd-tests (Depends-on): Add pathmax.
16477         * tests/test-getcwd.c: Include pathmax.h.
16478
16479 2011-06-18  Bruno Haible  <bruno@clisp.org>
16480
16481         isfinite, isinf: Fix link error on AIX 6 and 7.
16482         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
16483         needed, also test the macro with a 'float' argument.
16484         * m4/isinf.m4 (gl_ISINF): Likewise.
16485
16486 2011-06-18  Bruno Haible  <bruno@clisp.org>
16487
16488         getloadavg: Don't clobber LIBS. Regression from previous commit.
16489         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
16490         AC_CHECK_LIB from here...
16491         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
16492         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
16493         gl_func_getloadavg_done.
16494         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16495
16496 2011-06-18  Bruno Haible  <bruno@clisp.org>
16497
16498         clean-temp: Improve documentation.
16499         * lib/clean-temp.h: Explain better how to use this module.
16500         Reported by John Darrington <john@darrington.wattle.id.au>.
16501
16502 2011-06-17  Bruno Haible  <bruno@clisp.org>
16503
16504         pread, pwrite: Avoid cc warning on AIX.
16505         * lib/unistd.in.h (pread): Undefine before defining as a macro.
16506         (pwrite): Likewise.
16507
16508 2011-06-17  Bruno Haible  <bruno@clisp.org>
16509
16510         spawn-pipe tests: Fix link error.
16511         * tests/test-spawn-pipe-child.c: Undefine fprintf.
16512         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16513
16514 2011-06-17  Bruno Haible  <bruno@clisp.org>
16515
16516         Tests: Remove unnecessary dependency.
16517         * modules/canonicalize-tests (Depends-on): Remove progname.
16518         * modules/chown-tests (Depends-on): Likewise.
16519         * modules/dirname-tests (Depends-on): Likewise.
16520         * modules/fdopendir-tests (Depends-on): Likewise.
16521         * modules/fdutimensat-tests (Depends-on): Likewise.
16522         * modules/hash-tests (Depends-on): Likewise.
16523         * modules/lchown-tests (Depends-on): Likewise.
16524         * modules/linkat-tests (Depends-on): Likewise.
16525         * modules/renameat-tests (Depends-on): Likewise.
16526         * modules/spawn-pipe-tests (Depends-on): Likewise.
16527         * modules/utimensat-tests (Depends-on): Likewise.
16528
16529 2011-06-17  Bruno Haible  <bruno@clisp.org>
16530
16531         spawn-pipe tests: Fix link error.
16532         * tests/test-spawn-pipe-child.c: Undefine fflush.
16533
16534 2011-06-17  Bruno Haible  <bruno@clisp.org>
16535
16536         Fix tests link errors.
16537         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
16538         * modules/chown-tests (Makefile.am): Don't link test-chown with
16539         LIBINTL.
16540         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
16541         LIBINTL.
16542         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
16543         LIBINTL.
16544         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
16545         LIBINTL.
16546
16547 2011-06-16  Bruno Haible  <bruno@clisp.org>
16548
16549         crypto/gc-sha1: Fix recent regression.
16550         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
16551         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
16552
16553         crypto/gc-md5: Fix recent regression.
16554         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
16555
16556         crypto/gc-md4: Fix recent regression.
16557         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
16558         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
16559
16560         crypto/gc-arctwo: Fix recent regression.
16561         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
16562         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
16563
16564         crypto/gc-rijndael: Fix recent regression.
16565         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
16566         (configure.ac): Invoke AC_LIBOBJ here.
16567         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
16568         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16569
16570         crypto/gc-hmac-sha1: Fix recent regression.
16571         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
16572         (configure.ac): Invoke AC_LIBOBJ here.
16573         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
16574         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16575
16576         crypto/gc-hmac-md5: Fix recent regression.
16577         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
16578         (configure.ac): Invoke AC_LIBOBJ here.
16579         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
16580         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16581
16582         crypto/gc-des: Fix recent regression.
16583         * modules/crypto/gc-des (Files): Remove m4/des.m4.
16584         (configure.ac): Invoke AC_LIBOBJ here.
16585         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
16586         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16587
16588         crypto/gc-arcfour: Fix recent regression.
16589         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
16590         (configure.ac): Invoke AC_LIBOBJ here.
16591         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
16592         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16593
16594 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
16595
16596         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
16597         After the 2011-05-21 change, this macro requires
16598         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
16599         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
16600
16601 2011-06-16  Bruno Haible  <bruno@clisp.org>
16602
16603         fprintftime: Move AC_LIBOBJ invocations to module description.
16604         * m4/fprintftime.m4: Remove file.
16605         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
16606         (configure.ac): Remove gl_FPRINTFTIME call.
16607         (Makefile.am): Augment lib_SOURCES.
16608         Reported by Jim Meyering.
16609
16610 2011-06-16  Bruno Haible  <bruno@clisp.org>
16611
16612         tmpfile-safer: Finish 2011-05-23 commit.
16613         * m4/stdio-safer.m4: Really remove file.
16614         Reported by Jim Meyering.
16615
16616 2011-06-16  Bruno Haible  <bruno@clisp.org>
16617
16618         syntax-check: Fix typo.
16619         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
16620         printf-posix.m4.
16621         Reported by Jim Meyering.
16622
16623 2011-06-13  Jim Meyering  <meyering@redhat.com>
16624
16625         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
16626         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
16627
16628 2011-05-23  Bruno Haible  <bruno@clisp.org>
16629
16630         yesno: Move AC_LIBOBJ invocations to module description.
16631         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
16632         * modules/yesno (Makefile.am): Augment lib_SOURCES.
16633
16634 2011-05-23  Bruno Haible  <bruno@clisp.org>
16635
16636         xstrtol: Move AC_LIBOBJ invocations to module description.
16637         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
16638         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
16639
16640 2011-05-23  Bruno Haible  <bruno@clisp.org>
16641
16642         xstrtold: Move AC_LIBOBJ invocations to module description.
16643         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
16644         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
16645
16646 2011-05-23  Bruno Haible  <bruno@clisp.org>
16647
16648         xstrtod: Move AC_LIBOBJ invocations to module description.
16649         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
16650         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
16651
16652 2011-05-23  Bruno Haible  <bruno@clisp.org>
16653
16654         xnanosleep: Move AC_LIBOBJ invocations to module description.
16655         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
16656         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
16657
16658 2011-05-23  Bruno Haible  <bruno@clisp.org>
16659
16660         xgetcwd: Move AC_LIBOBJ invocations to module description.
16661         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
16662         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
16663
16664 2011-05-23  Bruno Haible  <bruno@clisp.org>
16665
16666         xalloc: Move AC_LIBOBJ invocations to module description.
16667         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
16668         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
16669
16670 2011-05-23  Bruno Haible  <bruno@clisp.org>
16671
16672         write-any-file: Move AC_LIBOBJ invocations to module description.
16673         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
16674         invocation.
16675         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
16676
16677 2011-05-23  Bruno Haible  <bruno@clisp.org>
16678
16679         utimens: Move AC_LIBOBJ invocations to module description.
16680         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
16681         * modules/utimens (Makefile.am): Augment lib_SOURCES.
16682
16683 2011-05-23  Bruno Haible  <bruno@clisp.org>
16684
16685         utimecmp: Move AC_LIBOBJ invocations to module description.
16686         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
16687         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
16688
16689 2011-05-23  Bruno Haible  <bruno@clisp.org>
16690
16691         userspec: Move AC_LIBOBJ invocations to module description.
16692         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
16693         * modules/userspec (Makefile.am): Augment lib_SOURCES.
16694
16695 2011-05-23  Bruno Haible  <bruno@clisp.org>
16696
16697         unlinkdir: Move AC_LIBOBJ invocations to module description.
16698         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
16699         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
16700
16701 2011-05-23  Bruno Haible  <bruno@clisp.org>
16702
16703         unistd-safer: Move AC_LIBOBJ invocations to module description.
16704         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
16705         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
16706
16707 2011-05-23  Bruno Haible  <bruno@clisp.org>
16708
16709         tempname: Move AC_LIBOBJ invocations to module description.
16710         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
16711         * modules/tempname (Makefile.am): Augment lib_SOURCES.
16712
16713 2011-05-23  Bruno Haible  <bruno@clisp.org>
16714
16715         strftime: Move AC_LIBOBJ invocations to module description.
16716         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
16717         * modules/strftime (Makefile.am): Augment lib_SOURCES.
16718
16719 2011-05-23  Bruno Haible  <bruno@clisp.org>
16720
16721         stdlib-safer: Move AC_LIBOBJ invocations to module description.
16722         * m4/stdlib-safer.m4: Remove file.
16723         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
16724         (configure.ac): Remove gl_STDLIB_SAFER call.
16725         (Makefile.am): Augment lib_SOURCES.
16726
16727 2011-05-23  Bruno Haible  <bruno@clisp.org>
16728
16729         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
16730         * m4/stdio-safer.m4: Remove file.
16731         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
16732         (configure.ac): Remove gl_TMPFILE_SAFER call.
16733         (Makefile.am): Augment lib_SOURCES.
16734
16735 2011-05-23  Bruno Haible  <bruno@clisp.org>
16736
16737         popen-safer: Move AC_LIBOBJ invocations to module description.
16738         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
16739         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
16740         (configure.ac): Remove gl_POPEN_SAFER call.
16741         (Makefile.am): Augment lib_SOURCES.
16742
16743 2011-05-23  Bruno Haible  <bruno@clisp.org>
16744
16745         freopen-safer: Move AC_LIBOBJ invocations to module description.
16746         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
16747         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
16748         (configure.ac): Remove gl_FREOPEN_SAFER call.
16749         (Makefile.am): Augment lib_SOURCES.
16750
16751 2011-05-23  Bruno Haible  <bruno@clisp.org>
16752
16753         fopen-safer: Move AC_LIBOBJ invocations to module description.
16754         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
16755         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
16756         (configure.ac): Remove gl_FOPEN_SAFER call.
16757         (Makefile.am): Augment lib_SOURCES.
16758
16759 2011-05-23  Bruno Haible  <bruno@clisp.org>
16760
16761         crypto/sha512: Move AC_LIBOBJ invocations to module description.
16762         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
16763         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
16764
16765 2011-05-23  Bruno Haible  <bruno@clisp.org>
16766
16767         crypto/sha256: Move AC_LIBOBJ invocations to module description.
16768         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
16769         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
16770
16771 2011-05-23  Bruno Haible  <bruno@clisp.org>
16772
16773         crypto/sha1: Move AC_LIBOBJ invocations to module description.
16774         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
16775         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
16776
16777 2011-05-23  Bruno Haible  <bruno@clisp.org>
16778
16779         settime: Move AC_LIBOBJ invocations to module description.
16780         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
16781         * modules/settime (Makefile.am): Augment lib_SOURCES.
16782
16783 2011-05-23  Bruno Haible  <bruno@clisp.org>
16784
16785         savedir: Move AC_LIBOBJ invocations to module description.
16786         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
16787         * modules/savedir (Makefile.am): Augment lib_SOURCES.
16788
16789 2011-05-23  Bruno Haible  <bruno@clisp.org>
16790
16791         save-cwd: Move AC_LIBOBJ invocations to module description.
16792         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
16793         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
16794
16795 2011-05-23  Bruno Haible  <bruno@clisp.org>
16796
16797         same: Move AC_LIBOBJ invocations to module description.
16798         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
16799         * modules/same (Makefile.am): Augment lib_SOURCES.
16800
16801 2011-05-23  Bruno Haible  <bruno@clisp.org>
16802
16803         safe-write: Move AC_LIBOBJ invocations to module description.
16804         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
16805         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
16806         instead of gl_SAFE_WRITE.
16807         (Makefile.am): Augment lib_SOURCES.
16808
16809 2011-05-23  Bruno Haible  <bruno@clisp.org>
16810
16811         safe-read: Move AC_LIBOBJ invocations to module description.
16812         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
16813         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
16814         of gl_SAFE_READ.
16815         (Makefile.am): Augment lib_SOURCES.
16816
16817 2011-05-23  Bruno Haible  <bruno@clisp.org>
16818
16819         safe-alloc: Move AC_LIBOBJ invocations to module description.
16820         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
16821         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
16822
16823 2011-05-23  Bruno Haible  <bruno@clisp.org>
16824
16825         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
16826         * m4/rijndael.m4: Remove file.
16827         * modules/crypto/rijndael (Files): Remove it.
16828         (configure.ac): Remove gl_RIJNDAEL call.
16829         (Makefile.am): Augment lib_SOURCES.
16830
16831 2011-05-23  Bruno Haible  <bruno@clisp.org>
16832
16833         readtokens: Move AC_LIBOBJ invocations to module description.
16834         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
16835         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
16836
16837 2011-05-23  Bruno Haible  <bruno@clisp.org>
16838
16839         read-file: Move AC_LIBOBJ invocations to module description.
16840         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
16841         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
16842         of gl_FUNC_READ_FILE.
16843         (Makefile.am): Augment lib_SOURCES.
16844
16845 2011-05-23  Bruno Haible  <bruno@clisp.org>
16846
16847         quotearg: Move AC_LIBOBJ invocations to module description.
16848         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
16849         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
16850
16851 2011-05-23  Bruno Haible  <bruno@clisp.org>
16852
16853         quote: Move AC_LIBOBJ invocations to module description.
16854         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
16855         * modules/quote (Makefile.am): Augment lib_SOURCES.
16856
16857 2011-05-23  Bruno Haible  <bruno@clisp.org>
16858
16859         posixver: Move AC_LIBOBJ invocations to module description.
16860         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
16861         * modules/posixver (Makefile.am): Augment lib_SOURCES.
16862
16863 2011-05-23  Bruno Haible  <bruno@clisp.org>
16864
16865         posixtm: Move AC_LIBOBJ invocations to module description.
16866         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
16867         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
16868
16869 2011-05-23  Bruno Haible  <bruno@clisp.org>
16870
16871         physmem: Move AC_LIBOBJ invocations to module description.
16872         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
16873         * modules/physmem (Makefile.am): Augment lib_SOURCES.
16874
16875 2011-05-23  Bruno Haible  <bruno@clisp.org>
16876
16877         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
16878         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
16879         invocation.
16880         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
16881
16882 2011-05-23  Bruno Haible  <bruno@clisp.org>
16883
16884         mpsort: Move AC_LIBOBJ invocations to module description.
16885         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
16886         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
16887
16888 2011-05-23  Bruno Haible  <bruno@clisp.org>
16889
16890         modechange: Move AC_LIBOBJ invocations to module description.
16891         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
16892         * modules/modechange (Makefile.am): Augment lib_SOURCES.
16893
16894 2011-05-23  Bruno Haible  <bruno@clisp.org>
16895
16896         mkdir-p: Move AC_LIBOBJ invocations to module description.
16897         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
16898         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
16899
16900 2011-05-23  Bruno Haible  <bruno@clisp.org>
16901
16902         mkancesdirs: Move AC_LIBOBJ invocations to module description.
16903         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
16904         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
16905
16906 2011-05-23  Bruno Haible  <bruno@clisp.org>
16907
16908         mgetgroups: Move AC_LIBOBJ invocations to module description.
16909         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
16910         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
16911
16912 2011-05-23  Bruno Haible  <bruno@clisp.org>
16913
16914         memxor: Move AC_LIBOBJ invocations to module description.
16915         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
16916         * modules/memxor (Makefile.am): Augment lib_SOURCES.
16917
16918 2011-05-23  Bruno Haible  <bruno@clisp.org>
16919
16920         memcoll: Move AC_LIBOBJ invocations to module description.
16921         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
16922         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
16923
16924 2011-05-23  Bruno Haible  <bruno@clisp.org>
16925
16926         memcasecmp: Move AC_LIBOBJ invocations to module description.
16927         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
16928         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
16929
16930 2011-05-23  Bruno Haible  <bruno@clisp.org>
16931
16932         crypto/md5: Move AC_LIBOBJ invocations to module description.
16933         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
16934         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
16935
16936 2011-05-23  Bruno Haible  <bruno@clisp.org>
16937
16938         crypto/md4: Move AC_LIBOBJ invocations to module description.
16939         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
16940         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
16941
16942 2011-05-23  Bruno Haible  <bruno@clisp.org>
16943
16944         crypto/md2: Move AC_LIBOBJ invocations to module description.
16945         * m4/md2.m4: Remove file.
16946         * modules/crypto/md2 (Files): Remove it.
16947         (configure.ac): Remove gl_MD2 call.
16948         (Makefile.am): Augment lib_SOURCES.
16949
16950 2011-05-23  Bruno Haible  <bruno@clisp.org>
16951
16952         long-options: Move AC_LIBOBJ invocations to module description.
16953         * m4/long-options.m4: Remove file.
16954         * modules/long-options (Files): Remove it.
16955         (configure.ac): Remove gl_LONG_OPTIONS call.
16956         (Makefile.am): Augment lib_SOURCES.
16957
16958 2011-05-23  Bruno Haible  <bruno@clisp.org>
16959
16960         i-ring: Move AC_LIBOBJ invocations to module description.
16961         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
16962         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
16963
16964 2011-05-23  Bruno Haible  <bruno@clisp.org>
16965
16966         idcache: Move AC_LIBOBJ invocations to module description.
16967         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
16968         * modules/idcache (Makefile.am): Augment lib_SOURCES.
16969
16970 2011-05-23  Bruno Haible  <bruno@clisp.org>
16971
16972         human: Move AC_LIBOBJ invocations to module description.
16973         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
16974         * modules/human (Makefile.am): Augment lib_SOURCES.
16975
16976 2011-05-23  Bruno Haible  <bruno@clisp.org>
16977
16978         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
16979         * m4/hmac-sha1.m4: Remove file.
16980         * modules/crypto/hmac-sha1 (Files): Remove it.
16981         (configure.ac): Remove gl_HMAC_SHA1 call.
16982         (Makefile.am): Augment lib_SOURCES.
16983
16984 2011-05-23  Bruno Haible  <bruno@clisp.org>
16985
16986         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
16987         * m4/hmac-md5.m4: Remove file.
16988         * modules/crypto/hmac-md5 (Files): Remove it.
16989         (configure.ac): Remove gl_HMAC_MD5 call.
16990         (Makefile.am): Augment lib_SOURCES.
16991
16992 2011-05-23  Bruno Haible  <bruno@clisp.org>
16993
16994         hash: Move AC_LIBOBJ invocations to module description.
16995         * m4/hash.m4: Remove file.
16996         * modules/hash (Files): Remove it.
16997         (configure.ac): Remove gl_HASH call.
16998         (Makefile.am): Augment lib_SOURCES.
16999
17000 2011-05-23  Bruno Haible  <bruno@clisp.org>
17001
17002         hard-locale: Move AC_LIBOBJ invocations to module description.
17003         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
17004         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
17005
17006 2011-05-23  Bruno Haible  <bruno@clisp.org>
17007
17008         getugroups: Move AC_LIBOBJ invocations to module description.
17009         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
17010         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
17011
17012 2011-05-23  Bruno Haible  <bruno@clisp.org>
17013
17014         gettime: Move AC_LIBOBJ invocations to module description.
17015         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
17016         * modules/gettime (Makefile.am): Augment lib_SOURCES.
17017
17018 2011-05-23  Bruno Haible  <bruno@clisp.org>
17019
17020         getndelim2: Move AC_LIBOBJ invocations to module description.
17021         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
17022         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
17023
17024 2011-05-23  Bruno Haible  <bruno@clisp.org>
17025
17026         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
17027         * m4/gc-pbkdf2-sha1.m4: Remove file.
17028         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
17029         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
17030         (Makefile.am): Augment lib_SOURCES.
17031
17032 2011-05-23  Bruno Haible  <bruno@clisp.org>
17033
17034         fts: Move AC_LIBOBJ invocations to module description.
17035         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
17036         * modules/fts (configure.ac): ... to here.
17037
17038 2011-05-23  Bruno Haible  <bruno@clisp.org>
17039
17040         file-type: Move AC_LIBOBJ invocations to module description.
17041         * m4/file-type.m4: Remove file.
17042         * modules/file-type (Files): Remove it.
17043         (configure.ac): Remove gl_FILE_TYPE call.
17044         (Makefile.am): Augment lib_SOURCES.
17045
17046 2011-05-23  Bruno Haible  <bruno@clisp.org>
17047
17048         filenamecat*: Respect rules for use of AC_LIBOBJ.
17049         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
17050         Remove AC_LIBOBJ invocation.
17051         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
17052         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
17053
17054 2011-05-23  Bruno Haible  <bruno@clisp.org>
17055
17056         filemode: Move AC_LIBOBJ invocations to module description.
17057         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
17058         * modules/filemode (Makefile.am): Augment lib_SOURCES.
17059
17060 2011-05-23  Bruno Haible  <bruno@clisp.org>
17061
17062         openat-safer: Move AC_LIBOBJ invocations to module description.
17063         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
17064         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
17065
17066 2011-05-23  Bruno Haible  <bruno@clisp.org>
17067
17068         fcntl-safer: Move AC_LIBOBJ invocations to module description.
17069         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
17070         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
17071
17072 2011-05-23  Bruno Haible  <bruno@clisp.org>
17073
17074         exclude: Move AC_LIBOBJ invocations to module description.
17075         * m4/exclude.m4: Remove file.
17076         * modules/exclude (Files): Remove it.
17077         (configure.ac): Remove gl_EXCLUDE call.
17078         (Makefile.am): Augment lib_SOURCES.
17079
17080 2011-05-23  Bruno Haible  <bruno@clisp.org>
17081
17082         dirname*: Respect rules for use of AC_LIBOBJ.
17083         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
17084         invocations.
17085         * modules/dirname (Makefile.am): Augment lib_SOURCES.
17086         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
17087
17088 2011-05-23  Bruno Haible  <bruno@clisp.org>
17089
17090         dirent-safer: Move AC_LIBOBJ invocations to module description.
17091         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
17092         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
17093
17094 2011-05-23  Bruno Haible  <bruno@clisp.org>
17095
17096         crypto/des: Move AC_LIBOBJ invocations to module description.
17097         * m4/des.m4: Remove file.
17098         * modules/crypto/des (Files): Remove it.
17099         (configure.ac): Remove gl_DES call.
17100         (Makefile.am): Augment lib_SOURCES.
17101
17102 2011-05-23  Bruno Haible  <bruno@clisp.org>
17103
17104         cycle-check: Move AC_LIBOBJ invocations to module description.
17105         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
17106         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
17107
17108 2011-05-23  Bruno Haible  <bruno@clisp.org>
17109
17110         c-strtold: Move AC_LIBOBJ invocations to module description.
17111         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
17112         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
17113
17114 2011-05-23  Bruno Haible  <bruno@clisp.org>
17115
17116         c-strtod: Move AC_LIBOBJ invocations to module description.
17117         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
17118         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
17119
17120 2011-05-23  Bruno Haible  <bruno@clisp.org>
17121
17122         crc: Move AC_LIBOBJ invocations to module description.
17123         * m4/crc.m4: Remove file.
17124         * modules/crc (Files): Remove it.
17125         (configure.ac): Remove gl_CRC call.
17126         (Makefile.am): Augment lib_SOURCES.
17127
17128 2011-05-23  Bruno Haible  <bruno@clisp.org>
17129
17130         close-stream: Move AC_LIBOBJ invocations to module description.
17131         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
17132         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
17133
17134 2011-05-23  Bruno Haible  <bruno@clisp.org>
17135
17136         closeout: Move AC_LIBOBJ invocations to module description.
17137         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
17138         * modules/closeout (Makefile.am): Augment lib_SOURCES.
17139
17140 2011-05-23  Bruno Haible  <bruno@clisp.org>
17141
17142         closein: Move AC_LIBOBJ invocations to module description.
17143         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
17144         * modules/closein (Makefile.am): Augment lib_SOURCES.
17145
17146 2011-05-23  Bruno Haible  <bruno@clisp.org>
17147
17148         cloexec: Move AC_LIBOBJ invocations to module description.
17149         * m4/cloexec.m4: Remove file.
17150         * modules/cloexec (Files): Remove it.
17151         (configure.ac): Remove gl_CLOEXEC call.
17152         (Makefile.am): Augment lib_SOURCES.
17153
17154 2011-05-23  Bruno Haible  <bruno@clisp.org>
17155
17156         check-version: Move AC_LIBOBJ invocations to module description.
17157         * m4/check-version.m4: Remove file.
17158         * modules/check-version (Files): Remove it.
17159         (configure.ac): Remove gl_CHECK_VERSION call.
17160         (Makefile.am): Augment lib_SOURCES.
17161
17162 2011-05-23  Bruno Haible  <bruno@clisp.org>
17163
17164         chdir-safer: Move AC_LIBOBJ invocations to module description.
17165         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
17166         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
17167
17168 2011-05-23  Bruno Haible  <bruno@clisp.org>
17169
17170         canonicalize: Move AC_LIBOBJ invocations to module description.
17171         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
17172         AC_LIBOBJ invocation.
17173         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
17174
17175 2011-05-23  Bruno Haible  <bruno@clisp.org>
17176
17177         canon-host: Move AC_LIBOBJ invocations to module description.
17178         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
17179         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
17180         instead of gl_CANON_HOST.
17181         (Makefile.am): Augment lib_SOURCES.
17182
17183 2011-05-23  Bruno Haible  <bruno@clisp.org>
17184
17185         backupfile: Move AC_LIBOBJ invocations to module description.
17186         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
17187         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
17188
17189 2011-05-23  Bruno Haible  <bruno@clisp.org>
17190
17191         argmatch: Move AC_LIBOBJ invocations to module description.
17192         * m4/argmatch.m4: Remove file.
17193         * modules/argmatch (Files): Remove it.
17194         (configure.ac): Remove gl_ARGMATCH call.
17195         (Makefile.am): Augment lib_SOURCES.
17196
17197 2011-05-23  Bruno Haible  <bruno@clisp.org>
17198
17199         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
17200         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
17201         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
17202
17203 2011-05-23  Bruno Haible  <bruno@clisp.org>
17204
17205         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
17206         * m4/arcfour.m4: Remove file.
17207         * modules/crypto/arcfour (Files): Remove it.
17208         (configure.ac): Remove gl_ARCFOUR call.
17209         (Makefile.am): Augment lib_SOURCES.
17210
17211 2011-05-22  Bruno Haible  <bruno@clisp.org>
17212
17213         write: Move AC_LIBOBJ invocations to module description.
17214         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
17215         * modules/write (configure.ac): ... to here.
17216
17217 2011-05-22  Bruno Haible  <bruno@clisp.org>
17218
17219         wmemset: Move AC_LIBOBJ invocations to module description.
17220         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
17221         here...
17222         * modules/wmemset (configure.ac): ... to here.
17223
17224 2011-05-22  Bruno Haible  <bruno@clisp.org>
17225
17226         wmemmove: Move AC_LIBOBJ invocations to module description.
17227         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
17228         here...
17229         * modules/wmemmove (configure.ac): ... to here.
17230
17231 2011-05-22  Bruno Haible  <bruno@clisp.org>
17232
17233         wmemcpy: Move AC_LIBOBJ invocations to module description.
17234         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
17235         here...
17236         * modules/wmemcpy (configure.ac): ... to here.
17237
17238 2011-05-22  Bruno Haible  <bruno@clisp.org>
17239
17240         wmemcmp: Move AC_LIBOBJ invocations to module description.
17241         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
17242         here...
17243         * modules/wmemcmp (configure.ac): ... to here.
17244
17245 2011-05-22  Bruno Haible  <bruno@clisp.org>
17246
17247         wmemchr: Move AC_LIBOBJ invocations to module description.
17248         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
17249         here...
17250         * modules/wmemchr (configure.ac): ... to here.
17251
17252 2011-05-22  Bruno Haible  <bruno@clisp.org>
17253
17254         wcswidth: Move AC_LIBOBJ invocations to module description.
17255         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
17256         here...
17257         * modules/wcswidth (configure.ac): ... to here.
17258
17259 2011-05-22  Bruno Haible  <bruno@clisp.org>
17260
17261         wcwidth: Respect rules for use of AC_LIBOBJ.
17262         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
17263         invocation from here...
17264         * modules/wcwidth (configure.ac): ... to here.
17265         (Depends-on): Update conditions.
17266
17267 2011-05-22  Bruno Haible  <bruno@clisp.org>
17268
17269         wctype: Move AC_LIBOBJ invocations to module description.
17270         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
17271         invocation from here...
17272         * modules/wctype (configure.ac): ... to here.
17273         (Depends-on): Update conditions.
17274
17275 2011-05-22  Bruno Haible  <bruno@clisp.org>
17276
17277         wctrans: Move AC_LIBOBJ invocations to module description.
17278         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
17279         invocation from here...
17280         * modules/wctrans (configure.ac): ... to here.
17281
17282 2011-05-22  Bruno Haible  <bruno@clisp.org>
17283
17284         wctomb: Move AC_LIBOBJ invocations to module description.
17285         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
17286         invocations from here...
17287         * modules/wctomb (configure.ac): ... to here.
17288
17289 2011-05-22  Bruno Haible  <bruno@clisp.org>
17290
17291         wctob: Move AC_LIBOBJ invocations to module description.
17292         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
17293         gl_PREREQ_WCTOB invocations from here...
17294         * modules/wctob (configure.ac): ... to here.
17295         (Depends-on): Update conditions.
17296
17297 2011-05-22  Bruno Haible  <bruno@clisp.org>
17298
17299         wcsxfrm: Move AC_LIBOBJ invocations to module description.
17300         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
17301         here...
17302         * modules/wcsxfrm (configure.ac): ... to here.
17303
17304 2011-05-22  Bruno Haible  <bruno@clisp.org>
17305
17306         wcstok: Move AC_LIBOBJ invocations to module description.
17307         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
17308         * modules/wcstok (configure.ac): ... to here.
17309
17310 2011-05-22  Bruno Haible  <bruno@clisp.org>
17311
17312         wcsstr: Move AC_LIBOBJ invocations to module description.
17313         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
17314         * modules/wcsstr (configure.ac): ... to here.
17315
17316 2011-05-22  Bruno Haible  <bruno@clisp.org>
17317
17318         wcsspn: Move AC_LIBOBJ invocations to module description.
17319         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
17320         * modules/wcsspn (configure.ac): ... to here.
17321
17322 2011-05-22  Bruno Haible  <bruno@clisp.org>
17323
17324         wcsrtombs: Move AC_LIBOBJ invocations to module description.
17325         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
17326         gl_PREREQ_WCSRTOMBS invocations from here...
17327         * modules/wcsrtombs (configure.ac): ... to here.
17328
17329 2011-05-22  Bruno Haible  <bruno@clisp.org>
17330
17331         wcsrchr: Move AC_LIBOBJ invocations to module description.
17332         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
17333         here...
17334         * modules/wcsrchr (configure.ac): ... to here.
17335
17336 2011-05-22  Bruno Haible  <bruno@clisp.org>
17337
17338         wcspbrk: Move AC_LIBOBJ invocations to module description.
17339         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
17340         here...
17341         * modules/wcspbrk (configure.ac): ... to here.
17342
17343 2011-05-22  Bruno Haible  <bruno@clisp.org>
17344
17345         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
17346         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
17347         gl_PREREQ_WCSNRTOMBS invocations from here...
17348         * modules/wcsnrtombs (configure.ac): ... to here.
17349
17350 2011-05-22  Bruno Haible  <bruno@clisp.org>
17351
17352         wcsnlen: Move AC_LIBOBJ invocations to module description.
17353         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
17354         here...
17355         * modules/wcsnlen (configure.ac): ... to here.
17356
17357 2011-05-22  Bruno Haible  <bruno@clisp.org>
17358
17359         wcsncpy: Move AC_LIBOBJ invocations to module description.
17360         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
17361         here...
17362         * modules/wcsncpy (configure.ac): ... to here.
17363
17364 2011-05-22  Bruno Haible  <bruno@clisp.org>
17365
17366         wcsncmp: Move AC_LIBOBJ invocations to module description.
17367         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
17368         here...
17369         * modules/wcsncmp (configure.ac): ... to here.
17370
17371 2011-05-22  Bruno Haible  <bruno@clisp.org>
17372
17373         wcsncat: Move AC_LIBOBJ invocations to module description.
17374         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
17375         here...
17376         * modules/wcsncat (configure.ac): ... to here.
17377
17378 2011-05-22  Bruno Haible  <bruno@clisp.org>
17379
17380         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
17381         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
17382         from here...
17383         * modules/wcsncasecmp (configure.ac): ... to here.
17384
17385 2011-05-22  Bruno Haible  <bruno@clisp.org>
17386
17387         wcslen: Move AC_LIBOBJ invocations to module description.
17388         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
17389         * modules/wcslen (configure.ac): ... to here.
17390
17391 2011-05-22  Bruno Haible  <bruno@clisp.org>
17392
17393         wcsdup: Move AC_LIBOBJ invocations to module description.
17394         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
17395         * modules/wcsdup (configure.ac): ... to here.
17396
17397 2011-05-22  Bruno Haible  <bruno@clisp.org>
17398
17399         wcscspn: Move AC_LIBOBJ invocations to module description.
17400         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
17401         here...
17402         * modules/wcscspn (configure.ac): ... to here.
17403
17404 2011-05-22  Bruno Haible  <bruno@clisp.org>
17405
17406         wcscpy: Move AC_LIBOBJ invocations to module description.
17407         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
17408         * modules/wcscpy (configure.ac): ... to here.
17409
17410 2011-05-22  Bruno Haible  <bruno@clisp.org>
17411
17412         wcscoll: Move AC_LIBOBJ invocations to module description.
17413         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
17414         here...
17415         * modules/wcscoll (configure.ac): ... to here.
17416
17417 2011-05-22  Bruno Haible  <bruno@clisp.org>
17418
17419         wcscmp: Move AC_LIBOBJ invocations to module description.
17420         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
17421         * modules/wcscmp (configure.ac): ... to here.
17422
17423 2011-05-22  Bruno Haible  <bruno@clisp.org>
17424
17425         wcschr: Move AC_LIBOBJ invocations to module description.
17426         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
17427         * modules/wcschr (configure.ac): ... to here.
17428
17429 2011-05-22  Bruno Haible  <bruno@clisp.org>
17430
17431         wcscat: Move AC_LIBOBJ invocations to module description.
17432         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
17433         * modules/wcscat (configure.ac): ... to here.
17434
17435 2011-05-22  Bruno Haible  <bruno@clisp.org>
17436
17437         wcscasecmp: Move AC_LIBOBJ invocations to module description.
17438         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
17439         here...
17440         * modules/wcscasecmp (configure.ac): ... to here.
17441
17442 2011-05-22  Bruno Haible  <bruno@clisp.org>
17443
17444         wcrtomb: Move AC_LIBOBJ invocations to module description.
17445         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
17446         invocations from here...
17447         * modules/wcrtomb (configure.ac): ... to here.
17448
17449 2011-05-22  Bruno Haible  <bruno@clisp.org>
17450
17451         wcpncpy: Move AC_LIBOBJ invocations to module description.
17452         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
17453         here...
17454         * modules/wcpncpy (configure.ac): ... to here.
17455
17456 2011-05-22  Bruno Haible  <bruno@clisp.org>
17457
17458         wcpcpy: Move AC_LIBOBJ invocations to module description.
17459         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
17460         * modules/wcpcpy (configure.ac): ... to here.
17461
17462 2011-05-22  Bruno Haible  <bruno@clisp.org>
17463
17464         waitpid: Move AC_LIBOBJ invocations to module description.
17465         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
17466         invocation from here...
17467         * modules/waitpid (configure.ac): ... to here.
17468
17469 2011-05-22  Bruno Haible  <bruno@clisp.org>
17470
17471         utimensat: Move AC_LIBOBJ invocations to module description.
17472         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
17473         here...
17474         * modules/utimensat (configure.ac): ... to here.
17475
17476 2011-05-22  Bruno Haible  <bruno@clisp.org>
17477
17478         usleep: Move AC_LIBOBJ invocations to module description.
17479         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
17480         here...
17481         * modules/usleep (configure.ac): ... to here.
17482
17483 2011-05-22  Bruno Haible  <bruno@clisp.org>
17484
17485         unlockpt: Move AC_LIBOBJ invocations to module description.
17486         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
17487         gl_PREREQ_UNLOCKPT invocations from here...
17488         * modules/unlockpt (configure.ac): ... to here.
17489
17490 2011-05-22  Bruno Haible  <bruno@clisp.org>
17491
17492         unlink: Respect rules for use of AC_LIBOBJ.
17493         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
17494         * modules/unlink (configure.ac): ... to here.
17495
17496 2011-05-22  Bruno Haible  <bruno@clisp.org>
17497
17498         uname: Move AC_LIBOBJ invocations to module description.
17499         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
17500         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
17501         here...
17502         * modules/uname (configure.ac): ... to here.
17503
17504 2011-05-22  Bruno Haible  <bruno@clisp.org>
17505
17506         ttyname_r: Move AC_LIBOBJ invocations to module description.
17507         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
17508         gl_PREREQ_TTYNAME_R invocations from here...
17509         * modules/ttyname_r (configure.ac): ... to here.
17510
17511 2011-05-22  Bruno Haible  <bruno@clisp.org>
17512
17513         tsearch: Move AC_LIBOBJ invocations to module description.
17514         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
17515         invocations from here...
17516         * modules/tsearch (configure.ac): ... to here.
17517
17518 2011-05-22  Bruno Haible  <bruno@clisp.org>
17519
17520         towctrans: Move AC_LIBOBJ invocations to module description.
17521         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
17522         AC_LIBOBJ invocation from here...
17523         * modules/towctrans (configure.ac): ... to here.
17524
17525 2011-05-22  Bruno Haible  <bruno@clisp.org>
17526
17527         tmpfile: Move AC_LIBOBJ invocations to module description.
17528         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
17529         invocations from here...
17530         * modules/tmpfile (configure.ac): ... to here.
17531
17532 2011-05-22  Bruno Haible  <bruno@clisp.org>
17533
17534         times: Move AC_LIBOBJ invocations to module description.
17535         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
17536         * modules/times (configure.ac): ... to here.
17537
17538 2011-05-22  Bruno Haible  <bruno@clisp.org>
17539
17540         time_r: Move AC_LIBOBJ invocations to module description.
17541         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
17542         invocations from here...
17543         * modules/time_r (configure.ac): ... to here.
17544
17545 2011-05-22  Bruno Haible  <bruno@clisp.org>
17546
17547         timegm: Move AC_LIBOBJ invocations to module description.
17548         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
17549         invocations from here...
17550         * modules/timegm (configure.ac): ... to here.
17551
17552 2011-05-22  Bruno Haible  <bruno@clisp.org>
17553
17554         tcgetsid: Move AC_LIBOBJ invocations to module description.
17555         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
17556         and gl_PREREQ_TCGETSID invocations from here...
17557         * modules/tcgetsid (configure.ac): ... to here.
17558         (Depends-on): Update conditions.
17559
17560 2011-05-22  Bruno Haible  <bruno@clisp.org>
17561
17562         symlinkat: Move AC_LIBOBJ invocations to module description.
17563         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
17564         here...
17565         * modules/symlinkat (configure.ac): ... to here.
17566
17567 2011-05-22  Bruno Haible  <bruno@clisp.org>
17568
17569         symlink: Move AC_LIBOBJ invocations to module description.
17570         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
17571         here...
17572         * modules/symlink (configure.ac): ... to here.
17573
17574 2011-05-22  Bruno Haible  <bruno@clisp.org>
17575
17576         strverscmp: Move AC_LIBOBJ invocations to module description.
17577         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
17578         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
17579         from here...
17580         * modules/strverscmp (configure.ac): ... to here.
17581
17582 2011-05-22  Bruno Haible  <bruno@clisp.org>
17583
17584         strtok_r: Move AC_LIBOBJ invocations to module description.
17585         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
17586         and gl_PREREQ_STRTOK_R invocations from here...
17587         * modules/strtok_r (configure.ac): ... to here.
17588         (Depends-on): Update conditions.
17589
17590 2011-05-22  Bruno Haible  <bruno@clisp.org>
17591
17592         strtoumax: Move AC_LIBOBJ invocations to module description.
17593         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
17594         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
17595         from here...
17596         * modules/strtoumax (configure.ac): ... to here.
17597
17598 2011-05-22  Bruno Haible  <bruno@clisp.org>
17599
17600         strtoimax: Move AC_LIBOBJ invocations to module description.
17601         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
17602         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
17603         from here...
17604         * modules/strtoimax (configure.ac): ... to here.
17605
17606 2011-05-22  Bruno Haible  <bruno@clisp.org>
17607
17608         strtoull: Move AC_LIBOBJ invocations to module description.
17609         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
17610         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
17611         from here...
17612         * modules/strtoull (configure.ac): ... to here.
17613
17614 2011-05-22  Bruno Haible  <bruno@clisp.org>
17615
17616         strtoll: Move AC_LIBOBJ invocations to module description.
17617         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
17618         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
17619         here...
17620         * modules/strtoll (configure.ac): ... to here.
17621
17622 2011-05-22  Bruno Haible  <bruno@clisp.org>
17623
17624         strtoul: Move AC_LIBOBJ invocations to module description.
17625         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
17626         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17627         * modules/strtoul (configure.ac): ... to here.
17628
17629 2011-05-22  Bruno Haible  <bruno@clisp.org>
17630
17631         strtol: Move AC_LIBOBJ invocations to module description.
17632         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
17633         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17634         * modules/strtol (configure.ac): ... to here.
17635
17636 2011-05-22  Bruno Haible  <bruno@clisp.org>
17637
17638         strtod: Move AC_LIBOBJ invocations to module description.
17639         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
17640         invocations from here...
17641         * modules/strtod (configure.ac): ... to here.
17642
17643 2011-05-22  Bruno Haible  <bruno@clisp.org>
17644
17645         strstr*: Move AC_LIBOBJ invocations to module description.
17646         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
17647         invocations from here...
17648         * modules/strstr-simple (configure.ac): ... to here.
17649         * modules/strstr (configure.ac): ... and here.
17650
17651 2011-05-22  Bruno Haible  <bruno@clisp.org>
17652
17653         strsignal: Move AC_LIBOBJ invocations to module description.
17654         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
17655         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
17656         * modules/strsignal (configure.ac): ... to here.
17657         (Depends-on): Update conditions.
17658
17659 2011-05-22  Bruno Haible  <bruno@clisp.org>
17660
17661         strsep: Move AC_LIBOBJ invocations to module description.
17662         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
17663         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
17664         here...
17665         * modules/strsep (configure.ac): ... to here.
17666
17667 2011-05-22  Bruno Haible  <bruno@clisp.org>
17668
17669         strptime: Move AC_LIBOBJ invocations to module description.
17670         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
17671         gl_PREREQ_STRPTIME invocations from here...
17672         * modules/strptime (configure.ac): ... to here.
17673
17674 2011-05-22  Bruno Haible  <bruno@clisp.org>
17675
17676         strpbrk: Move AC_LIBOBJ invocations to module description.
17677         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
17678         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
17679         here...
17680         * modules/strpbrk (configure.ac): ... to here.
17681
17682 2011-05-22  Bruno Haible  <bruno@clisp.org>
17683
17684         strnlen: Move AC_LIBOBJ invocations to module description.
17685         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
17686         invocations from here...
17687         * modules/strnlen (configure.ac): ... to here.
17688
17689 2011-05-22  Bruno Haible  <bruno@clisp.org>
17690
17691         strndup: Move AC_LIBOBJ invocations to module description.
17692         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
17693         invocations from here...
17694         * modules/strndup (configure.ac): ... to here.
17695         (Depends-on): Update conditions.
17696
17697 2011-05-22  Bruno Haible  <bruno@clisp.org>
17698
17699         strncat: Move AC_LIBOBJ invocations to module description.
17700         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
17701         invocations from here...
17702         * modules/strncat (configure.ac): ... to here.
17703
17704 2011-05-22  Bruno Haible  <bruno@clisp.org>
17705
17706         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
17707         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
17708         invocations from here...
17709         * modules/strdup (configure.ac): ... to here.
17710         * modules/strdup-posix (configure.ac): ... and here.
17711
17712 2011-05-22  Bruno Haible  <bruno@clisp.org>
17713
17714         strcspn: Move AC_LIBOBJ invocations to module description.
17715         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
17716         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
17717         here...
17718         * modules/strcspn (configure.ac): ... to here.
17719
17720 2011-05-22  Bruno Haible  <bruno@clisp.org>
17721
17722         strchrnul: Move AC_LIBOBJ invocations to module description.
17723         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
17724         gl_PREREQ_STRCHRNUL invocations from here...
17725         * modules/strchrnul (configure.ac): ... to here.
17726
17727 2011-05-22  Bruno Haible  <bruno@clisp.org>
17728
17729         strcasestr*: Move AC_LIBOBJ invocations to module description.
17730         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17731         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
17732         * modules/strcasestr-simple (configure.ac): ... to here.
17733         * modules/strcasestr (configure.ac): ... and here.
17734
17735 2011-05-22  Bruno Haible  <bruno@clisp.org>
17736
17737         strcase: Move AC_LIBOBJ invocations to module description.
17738         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
17739         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
17740         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
17741         gl_PREREQ_STRNCASECMP invocations from here...
17742         * modules/strcase (configure.ac): ... to here.
17743
17744 2011-05-22  Bruno Haible  <bruno@clisp.org>
17745
17746         stpncpy: Move AC_LIBOBJ invocations to module description.
17747         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
17748         here...
17749         * modules/stpncpy (configure.ac): ... to here.
17750
17751 2011-05-22  Bruno Haible  <bruno@clisp.org>
17752
17753         stpcpy: Move AC_LIBOBJ invocations to module description.
17754         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
17755         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
17756         here...
17757         * modules/stpcpy (configure.ac): ... to here.
17758
17759 2011-05-21  Bruno Haible  <bruno@clisp.org>
17760
17761         stat: Move AC_LIBOBJ invocations to module description.
17762         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
17763         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
17764         here...
17765         * modules/stat (configure.ac): ... to here.
17766
17767 2011-05-21  Bruno Haible  <bruno@clisp.org>
17768
17769         sleep: Move AC_LIBOBJ invocations to module description.
17770         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
17771         * modules/sleep (configure.ac): ... to here.
17772
17773 2011-05-21  Bruno Haible  <bruno@clisp.org>
17774
17775         signbit: Move AC_LIBOBJ invocations to module description.
17776         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
17777         * modules/signbit (configure.ac): ... to here.
17778
17779 2011-05-21  Bruno Haible  <bruno@clisp.org>
17780
17781         sigprocmask: Move AC_LIBOBJ invocations to module description.
17782         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
17783         gl_PREREQ_SIGPROMASK invocations from here...
17784         * modules/sigprocmask (configure.ac): ... to here.
17785
17786 2011-05-21  Bruno Haible  <bruno@clisp.org>
17787
17788         sigaction: Move AC_LIBOBJ invocations to module description.
17789         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
17790         gl_PREREQ_SIGACTION invocations from here...
17791         * modules/sigaction (configure.ac): ... to here.
17792
17793 2011-05-21  Bruno Haible  <bruno@clisp.org>
17794
17795         sig2str: Move AC_LIBOBJ invocations to module description.
17796         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
17797         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
17798         here...
17799         * modules/sig2str (configure.ac): ... to here.
17800
17801 2011-05-21  Bruno Haible  <bruno@clisp.org>
17802
17803         setlocale: Move AC_LIBOBJ invocations to module description.
17804         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
17805         gl_PREREQ_SETLOCALE invocations from here...
17806         * modules/setlocale (configure.ac): ... to here.
17807
17808 2011-05-21  Bruno Haible  <bruno@clisp.org>
17809
17810         unsetenv: Move AC_LIBOBJ invocations to module description.
17811         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
17812         and gl_PREREQ_UNSETENV invocations from here...
17813         * modules/unsetenv (configure.ac): ... to here.
17814         (Depends-on): Update.
17815
17816 2011-05-21  Bruno Haible  <bruno@clisp.org>
17817
17818         setenv: Move AC_LIBOBJ invocations to module description.
17819         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
17820         here...
17821         * modules/setenv (configure.ac): ... to here.
17822
17823 2011-05-21  Bruno Haible  <bruno@clisp.org>
17824
17825         selinux-h: Move AC_LIBOBJ invocations to module description.
17826         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
17827         AC_LIBOBJ invocation from here...
17828         * modules/selinux-h (configure.ac): ... to here.
17829
17830 2011-05-21  Bruno Haible  <bruno@clisp.org>
17831
17832         select: Respect rules for use of AC_LIBOBJ.
17833         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
17834         here...
17835         * modules/select (configure.ac): ... to here.
17836
17837 2011-05-21  Bruno Haible  <bruno@clisp.org>
17838
17839         scandir: Move AC_LIBOBJ invocations to module description.
17840         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
17841         invocations from here...
17842         * modules/scandir (configure.ac): ... to here.
17843
17844 2011-05-21  Bruno Haible  <bruno@clisp.org>
17845
17846         rpmatch: Move AC_LIBOBJ invocations to module description.
17847         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
17848         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
17849         here...
17850         * modules/rpmatch (configure.ac): ... to here.
17851
17852 2011-05-21  Bruno Haible  <bruno@clisp.org>
17853
17854         rmdir: Respect rules for use of AC_LIBOBJ.
17855         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
17856         * modules/rmdir (configure.ac): ... to here.
17857
17858 2011-05-21  Bruno Haible  <bruno@clisp.org>
17859
17860         renameat: Move AC_LIBOBJ invocations to module description.
17861         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
17862         here...
17863         * modules/renameat (configure.ac): ... to here.
17864
17865 2011-05-21  Bruno Haible  <bruno@clisp.org>
17866
17867         rename: Respect rules for use of AC_LIBOBJ.
17868         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
17869         here...
17870         * modules/rename (configure.ac): ... to here.
17871
17872 2011-05-21  Bruno Haible  <bruno@clisp.org>
17873
17874         remove: Move AC_LIBOBJ invocations to module description.
17875         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
17876         here...
17877         * modules/remove (configure.ac): ... to here.
17878
17879 2011-05-21  Bruno Haible  <bruno@clisp.org>
17880
17881         relocatable-lib: Move AC_LIBOBJ invocations to module description.
17882         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
17883         macro.
17884         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
17885         * modules/relocatable-lib (configure.ac): ... to here.
17886         * modules/relocatable-prog-wrapper (configure.ac): Invoke
17887         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
17888
17889 2011-05-21  Bruno Haible  <bruno@clisp.org>
17890
17891         relocatable-prog: Move AC_LIBOBJ invocations to module description.
17892         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
17893         here...
17894         * modules/relocatable-prog (configure.ac): ... to here.
17895
17896 2011-05-21  Bruno Haible  <bruno@clisp.org>
17897
17898         regex: Move AC_LIBOBJ invocations to module description.
17899         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
17900         invocations from here...
17901         * modules/regex (configure.ac): ... to here.
17902
17903 2011-05-21  Bruno Haible  <bruno@clisp.org>
17904
17905         realloc-*: Move AC_LIBOBJ invocations to module description.
17906         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
17907         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
17908         AC_LIBOBJ invocations from here...
17909         * modules/realloc-gnu (configure.ac): ... to here.
17910         * modules/realloc-posix (configure.ac): ... and here.
17911
17912 2011-05-21  Bruno Haible  <bruno@clisp.org>
17913
17914         readutmp: Move AC_LIBOBJ invocations to module description.
17915         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
17916         * modules/readutmp (configure.ac): ... to here.
17917
17918 2011-05-21  Bruno Haible  <bruno@clisp.org>
17919
17920         readlinkat: Move AC_LIBOBJ invocations to module description.
17921         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
17922         here...
17923         * modules/readlinkat (configure.ac): ... to here.
17924
17925 2011-05-21  Bruno Haible  <bruno@clisp.org>
17926
17927         readlink: Move AC_LIBOBJ invocations to module description.
17928         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
17929         gl_PREREQ_READLINK invocations from here...
17930         * modules/readlink (configure.ac): ... to here.
17931
17932 2011-05-21  Bruno Haible  <bruno@clisp.org>
17933
17934         readline: Move AC_LIBOBJ invocations to module description.
17935         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
17936         gl_PREREQ_READLINE invocations from here...
17937         * modules/readline (configure.ac): ... to here.
17938
17939 2011-05-21  Bruno Haible  <bruno@clisp.org>
17940
17941         read: Move AC_LIBOBJ invocations to module description.
17942         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
17943         * modules/read (configure.ac): ... to here.
17944
17945 2011-05-21  Bruno Haible  <bruno@clisp.org>
17946
17947         rawmemchr: Move AC_LIBOBJ invocations to module description.
17948         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
17949         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
17950         from here...
17951         * modules/rawmemchr (configure.ac): ... to here.
17952
17953 2011-05-21  Bruno Haible  <bruno@clisp.org>
17954
17955         random_r: Move AC_LIBOBJ invocations to module description.
17956         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
17957         gl_PREREQ_RANDOM_R invocations from here...
17958         * modules/random_r (configure.ac): ... to here.
17959
17960 2011-05-21  Bruno Haible  <bruno@clisp.org>
17961
17962         pwrite: Move AC_LIBOBJ invocations to module description.
17963         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
17964         * modules/pwrite (configure.ac): ... to here.
17965
17966 2011-05-21  Bruno Haible  <bruno@clisp.org>
17967
17968         putenv: Move AC_LIBOBJ invocations to module description.
17969         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
17970         * modules/putenv (configure.ac): ... to here.
17971
17972 2011-05-21  Bruno Haible  <bruno@clisp.org>
17973
17974         login_tty: Move AC_LIBOBJ invocations to module description.
17975         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
17976         * modules/login_tty (configure.ac): ... to here.
17977
17978 2011-05-21  Bruno Haible  <bruno@clisp.org>
17979
17980         openpty: Move AC_LIBOBJ invocations to module description.
17981         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
17982         * modules/openpty (configure.ac): ... to here.
17983
17984 2011-05-21  Bruno Haible  <bruno@clisp.org>
17985
17986         forkpty: Move AC_LIBOBJ invocations to module description.
17987         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
17988         * modules/forkpty (configure.ac): ... to here.
17989
17990 2011-05-21  Bruno Haible  <bruno@clisp.org>
17991
17992         ptsname: Move AC_LIBOBJ invocations to module description.
17993         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
17994         invocations from here...
17995         * modules/ptsname (configure.ac): ... to here.
17996
17997 2011-05-21  Bruno Haible  <bruno@clisp.org>
17998
17999         pread: Move AC_LIBOBJ invocations to module description.
18000         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
18001         * modules/pread (configure.ac): ... to here.
18002
18003 2011-05-21  Bruno Haible  <bruno@clisp.org>
18004
18005         posix_spawn*: Move AC_LIBOBJ invocations to module description.
18006         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
18007         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
18008         * modules/posix_spawn (configure.ac): ... to here.
18009         * modules/posix_spawnp (configure.ac): ... and here.
18010
18011 2011-05-21  Bruno Haible  <bruno@clisp.org>
18012
18013         popen: Move AC_LIBOBJ invocations to module description.
18014         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
18015         invocations from here...
18016         * modules/popen (configure.ac): ... to here.
18017
18018 2011-05-21  Bruno Haible  <bruno@clisp.org>
18019
18020         poll: Move AC_LIBOBJ invocations to module description.
18021         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
18022         invocations from here...
18023         * modules/poll (configure.ac): ... to here.
18024
18025 2011-05-21  Bruno Haible  <bruno@clisp.org>
18026
18027         pipe-posix: Move AC_LIBOBJ invocations to module description.
18028         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
18029         * modules/pipe-posix (configure.ac): ... to here.
18030
18031 2011-05-21  Bruno Haible  <bruno@clisp.org>
18032
18033         openat: Respect rules for use of AC_LIBOBJ.
18034         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
18035         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18036         * modules/openat (configure.ac): ... to here.
18037
18038 2011-05-21  Bruno Haible  <bruno@clisp.org>
18039
18040         obstack-printf*: Move AC_LIBOBJ invocations to module description.
18041         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
18042         invocation from here...
18043         * modules/obstack-printf (configure.ac): ... to here.
18044         * modules/obstack-printf-posix (configure.ac): ... and here.
18045
18046 2011-05-21  Bruno Haible  <bruno@clisp.org>
18047
18048         nl_langinfo: Move AC_LIBOBJ invocations to module description.
18049         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
18050         from here...
18051         * modules/nl_langinfo (configure.ac): ... to here.
18052
18053 2011-05-21  Bruno Haible  <bruno@clisp.org>
18054
18055         nanosleep: Move AC_LIBOBJ invocations to module description.
18056         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
18057         gl_PREREQ_NANOSLEEP invocations from here...
18058         * modules/nanosleep (configure.ac): ... to here.
18059
18060 2011-05-21  Bruno Haible  <bruno@clisp.org>
18061
18062         mountlist: Move AC_LIBOBJ invocations to module description.
18063         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
18064         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
18065         * modules/mountlist (configure.ac): ... to here.
18066
18067 2011-05-21  Bruno Haible  <bruno@clisp.org>
18068
18069         mktime: Respect rules for use of AC_LIBOBJ.
18070         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
18071         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
18072         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
18073         (gl_FUNC_MKTIME_INTERNAL): ... and here...
18074         * modules/mktime (configure.ac): ... to here.
18075         * modules/mktime-internal (configure.ac): ... and here.
18076         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
18077
18078 2011-05-21  Bruno Haible  <bruno@clisp.org>
18079
18080         mkstemps: Move AC_LIBOBJ invocations to module description.
18081         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
18082         here...
18083         * modules/mkstemps (configure.ac): ... to here.
18084
18085 2011-05-21  Bruno Haible  <bruno@clisp.org>
18086
18087         mkstemp: Move AC_LIBOBJ invocations to module description.
18088         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
18089         gl_PREREQ_MKSTEMP invocations from here...
18090         * modules/mkstemp (configure.ac): ... to here.
18091
18092 2011-05-21  Bruno Haible  <bruno@clisp.org>
18093
18094         mkostemps: Move AC_LIBOBJ invocations to module description.
18095         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
18096         here...
18097         * modules/mkostemps (configure.ac): ... to here.
18098
18099 2011-05-21  Bruno Haible  <bruno@clisp.org>
18100
18101         mkostemp: Move AC_LIBOBJ invocations to module description.
18102         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
18103         gl_PREREQ_MKOSTEMP invocations from here...
18104         * modules/mkostemp (configure.ac): ... to here.
18105
18106 2011-05-21  Bruno Haible  <bruno@clisp.org>
18107
18108         mknod: Move AC_LIBOBJ invocations to module description.
18109         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
18110         * modules/mknod (configure.ac): ... to here.
18111
18112 2011-05-21  Bruno Haible  <bruno@clisp.org>
18113
18114         mkfifoat: Move AC_LIBOBJ invocations to module description.
18115         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
18116         here...
18117         * modules/mkfifoat (configure.ac): ... to here.
18118
18119 2011-05-21  Bruno Haible  <bruno@clisp.org>
18120
18121         mkfifo: Respect rules for use of AC_LIBOBJ.
18122         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
18123         here...
18124         * modules/mkfifo (configure.ac): ... to here.
18125
18126 2011-05-21  Bruno Haible  <bruno@clisp.org>
18127
18128         mkdtemp: Move AC_LIBOBJ invocations to module description.
18129         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
18130         invocations from here...
18131         * modules/mkdtemp (configure.ac): ... to here.
18132
18133 2011-05-21  Bruno Haible  <bruno@clisp.org>
18134
18135         mkdir: Move AC_LIBOBJ invocations to module description.
18136         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
18137         * modules/mkdir (configure.ac): ... to here.
18138
18139 2011-05-21  Bruno Haible  <bruno@clisp.org>
18140
18141         memset: Move AC_LIBOBJ invocations to module description.
18142         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
18143         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
18144         here...
18145         * modules/memset (configure.ac): ... to here.
18146
18147 2011-05-21  Bruno Haible  <bruno@clisp.org>
18148
18149         memrchr: Move AC_LIBOBJ invocations to module description.
18150         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
18151         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
18152         here...
18153         * modules/memrchr (configure.ac): ... to here.
18154
18155 2011-05-21  Bruno Haible  <bruno@clisp.org>
18156
18157         mempcpy: Move AC_LIBOBJ invocations to module description.
18158         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
18159         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
18160         here...
18161         * modules/mempcpy (configure.ac): ... to here.
18162
18163 2011-05-21  Bruno Haible  <bruno@clisp.org>
18164
18165         memmove: Move AC_LIBOBJ invocations to module description.
18166         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
18167         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
18168         here...
18169         * modules/memmove (configure.ac): ... to here.
18170
18171 2011-05-21  Bruno Haible  <bruno@clisp.org>
18172
18173         memmem*: Move AC_LIBOBJ invocations to module description.
18174         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
18175         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
18176         here...
18177         (gl_FUNC_MEMMEM): ... and here...
18178         * modules/memmem-simple (configure.ac): ... to here.
18179         * modules/memmem (configure.ac): ... and here.
18180
18181 2011-05-21  Bruno Haible  <bruno@clisp.org>
18182
18183         memcpy: Move AC_LIBOBJ invocations to module description.
18184         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
18185         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
18186         here...
18187         * modules/memcpy (configure.ac): ... to here.
18188
18189 2011-05-21  Bruno Haible  <bruno@clisp.org>
18190
18191         memcmp: Simplify autoconf macro.
18192         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
18193         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
18194         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
18195
18196 2011-05-21  Bruno Haible  <bruno@clisp.org>
18197
18198         memcmp: Move AC_LIBOBJ invocations to module description.
18199         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
18200         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
18201         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
18202         * modules/memcmp (configure.ac): ... to here.
18203         (Depends-on): Update conditions.
18204
18205 2011-05-21  Bruno Haible  <bruno@clisp.org>
18206
18207         memchr: Respect rules for use of AC_LIBOBJ.
18208         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
18209         invocations from here...
18210         * modules/memchr (configure.ac): ... to here.
18211
18212 2011-05-21  Bruno Haible  <bruno@clisp.org>
18213
18214         mbtowc: Move AC_LIBOBJ invocations to module description.
18215         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
18216         invocations from here...
18217         * modules/mbtowc (configure.ac): ... to here.
18218
18219 2011-05-21  Bruno Haible  <bruno@clisp.org>
18220
18221         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
18222         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
18223         gl_PREREQ_MBSRTOWCS invocations from here...
18224         * modules/mbsrtowcs (configure.ac): ... to here.
18225
18226 2011-05-21  Bruno Haible  <bruno@clisp.org>
18227
18228         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
18229         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
18230         gl_PREREQ_MBSNRTOWCS invocations from here...
18231         * modules/mbsnrtowcs (configure.ac): ... to here.
18232
18233 2011-05-21  Bruno Haible  <bruno@clisp.org>
18234
18235         mbsinit: Move AC_LIBOBJ invocations to module description.
18236         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
18237         invocations from here...
18238         * modules/mbsinit (configure.ac): ... to here.
18239
18240 2011-05-21  Bruno Haible  <bruno@clisp.org>
18241
18242         mbrlen: Move AC_LIBOBJ invocations to module description.
18243         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
18244         invocations from here...
18245         * modules/mbrlen (configure.ac): ... to here.
18246
18247 2011-05-21  Bruno Haible  <bruno@clisp.org>
18248
18249         mbrtowc: Respect rules for use of AC_LIBOBJ.
18250         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
18251         invocations from here...
18252         * modules/mbrtowc (configure.ac): ... to here.
18253
18254 2011-05-21  Bruno Haible  <bruno@clisp.org>
18255
18256         malloc-*: Move AC_LIBOBJ invocations to module description.
18257         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
18258         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
18259         AC_LIBOBJ invocations from here...
18260         * modules/malloc-gnu (configure.ac): ... to here.
18261         * modules/malloc-posix (configure.ac): ... and here.
18262
18263 2011-05-21  Bruno Haible  <bruno@clisp.org>
18264
18265         lstat, openat: Respect rules for use of AC_LIBOBJ.
18266         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
18267         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
18268         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
18269         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
18270         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
18271         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
18272         here.
18273         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
18274
18275 2011-05-21  Bruno Haible  <bruno@clisp.org>
18276
18277         lseek: Move AC_LIBOBJ invocations to module description.
18278         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
18279         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18280         * modules/lseek (configure.ac): ... to here.
18281
18282 2011-05-21  Bruno Haible  <bruno@clisp.org>
18283
18284         linkat: Move AC_LIBOBJ invocations to module description.
18285         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
18286         here...
18287         * modules/linkat (configure.ac): ... to here.
18288
18289 2011-05-21  Bruno Haible  <bruno@clisp.org>
18290
18291         link: Respect rules for use of AC_LIBOBJ.
18292         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
18293         * modules/link (configure.ac): ... to here.
18294
18295 2011-05-21  Bruno Haible  <bruno@clisp.org>
18296
18297         lchown: Move AC_LIBOBJ invocations to module description.
18298         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18299         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18300         * modules/lchown (configure.ac): ... to here.
18301
18302 2011-05-21  Bruno Haible  <bruno@clisp.org>
18303
18304         iswctype: Move AC_LIBOBJ invocations to module description.
18305         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
18306         here...
18307         * modules/iswctype (configure.ac): ... to here.
18308
18309 2011-05-21  Bruno Haible  <bruno@clisp.org>
18310
18311         iswblank: Move AC_LIBOBJ invocations to module description.
18312         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
18313         here...
18314         * modules/iswblank (configure.ac): ... to here.
18315
18316 2011-05-21  Bruno Haible  <bruno@clisp.org>
18317
18318         atanl: Move AC_LIBOBJ invocations to module description.
18319         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
18320         * modules/atanl (configure.ac): ... to here.
18321
18322 2011-05-21  Bruno Haible  <bruno@clisp.org>
18323
18324         acosl: Move AC_LIBOBJ invocations to module description.
18325         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
18326         * modules/acosl (configure.ac): ... to here.
18327
18328 2011-05-21  Bruno Haible  <bruno@clisp.org>
18329
18330         asinl: Respect rules for use of AC_LIBOBJ.
18331         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
18332         * modules/asinl (configure.ac): ... to here.
18333
18334 2011-05-21  Bruno Haible  <bruno@clisp.org>
18335
18336         tanl: Move AC_LIBOBJ invocations to module description.
18337         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
18338         * modules/tanl (configure.ac): ... to here.
18339
18340 2011-05-21  Bruno Haible  <bruno@clisp.org>
18341
18342         cosl: Move AC_LIBOBJ invocations to module description.
18343         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
18344         * modules/cosl (configure.ac): ... to here.
18345
18346 2011-05-21  Bruno Haible  <bruno@clisp.org>
18347
18348         sinl: Move AC_LIBOBJ invocations to module description.
18349         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
18350         * modules/sinl (configure.ac): ... to here.
18351
18352 2011-05-21  Bruno Haible  <bruno@clisp.org>
18353
18354         logl: Move AC_LIBOBJ invocations to module description.
18355         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
18356         * modules/logl (configure.ac): ... to here.
18357
18358 2011-05-21  Bruno Haible  <bruno@clisp.org>
18359
18360         expl: Move AC_LIBOBJ invocations to module description.
18361         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
18362         * modules/expl (configure.ac): ... to here.
18363
18364 2011-05-21  Bruno Haible  <bruno@clisp.org>
18365
18366         roundl: Move AC_LIBOBJ invocations to module description.
18367         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
18368         * modules/roundl (configure.ac): ... to here.
18369
18370 2011-05-21  Bruno Haible  <bruno@clisp.org>
18371
18372         round: Move AC_LIBOBJ invocations to module description.
18373         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
18374         * modules/round (configure.ac): ... to here.
18375
18376 2011-05-21  Bruno Haible  <bruno@clisp.org>
18377
18378         roundf: Move AC_LIBOBJ invocations to module description.
18379         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
18380         * modules/roundf (configure.ac): ... to here.
18381
18382 2011-05-21  Bruno Haible  <bruno@clisp.org>
18383
18384         truncl: Move AC_LIBOBJ invocations to module description.
18385         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
18386         * modules/truncl (configure.ac): ... to here.
18387
18388 2011-05-21  Bruno Haible  <bruno@clisp.org>
18389
18390         trunc: Move AC_LIBOBJ invocations to module description.
18391         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
18392         * modules/trunc (configure.ac): ... to here.
18393
18394 2011-05-21  Bruno Haible  <bruno@clisp.org>
18395
18396         truncf: Move AC_LIBOBJ invocations to module description.
18397         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
18398         * modules/truncf (configure.ac): ... to here.
18399
18400 2011-05-21  Bruno Haible  <bruno@clisp.org>
18401
18402         ceill: Move AC_LIBOBJ invocations to module description.
18403         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
18404         * modules/ceill (configure.ac): ... to here.
18405
18406 2011-05-21  Bruno Haible  <bruno@clisp.org>
18407
18408         ceil: Move AC_LIBOBJ invocations to module description.
18409         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
18410         * modules/ceil (configure.ac): ... to here.
18411
18412 2011-05-21  Bruno Haible  <bruno@clisp.org>
18413
18414         ceilf: Move AC_LIBOBJ invocations to module description.
18415         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
18416         * modules/ceilf (configure.ac): ... to here.
18417
18418 2011-05-21  Bruno Haible  <bruno@clisp.org>
18419
18420         floorl: Respect rules for use of AC_LIBOBJ.
18421         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
18422         * modules/floorl (configure.ac): ... to here.
18423
18424 2011-05-21  Bruno Haible  <bruno@clisp.org>
18425
18426         floor: Respect rules for use of AC_LIBOBJ.
18427         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
18428         * modules/floor (configure.ac): ... to here.
18429
18430 2011-05-21  Bruno Haible  <bruno@clisp.org>
18431
18432         floorf: Move AC_LIBOBJ invocations to module description.
18433         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
18434         * modules/floorf (configure.ac): ... to here.
18435
18436 2011-05-20  Bruno Haible  <bruno@clisp.org>
18437
18438         sqrtl: Respect rules for use of AC_LIBOBJ.
18439         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
18440         * modules/sqrtl (configure.ac): ... to here.
18441
18442 2011-05-20  Bruno Haible  <bruno@clisp.org>
18443
18444         ldexpl: Respect rules for use of AC_LIBOBJ.
18445         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
18446         * modules/ldexpl (configure.ac): ... to here.
18447
18448 2011-05-20  Bruno Haible  <bruno@clisp.org>
18449
18450         frexpl*: Respect rules for use of AC_LIBOBJ.
18451         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
18452         invocation from here...
18453         * modules/frexpl (configure.ac): ... to here.
18454         * modules/frexpl-nolibm (configure.ac): ... and here.
18455
18456 2011-05-20  Bruno Haible  <bruno@clisp.org>
18457
18458         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
18459         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
18460         invocation from here...
18461         * modules/frexp (configure.ac): ... to here.
18462         * modules/frexp-nolibm (configure.ac): ... and here.
18463
18464 2011-05-20  Bruno Haible  <bruno@clisp.org>
18465
18466         isnan: Respect rules for use of AC_LIBOBJ.
18467         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
18468         invocations here.
18469         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
18470         REPLACE_ISNAN.
18471         * modules/isnand (configure.ac): Likewise.
18472         * modules/isnanl (configure.ac): Likewise.
18473
18474 2011-05-20  Bruno Haible  <bruno@clisp.org>
18475
18476         isnanl*: Respect rules for use of AC_LIBOBJ.
18477         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
18478         invocation from here...
18479         * modules/isnanl (configure.ac): ... to here.
18480         * modules/isnanl-nolibm (configure.ac): ... and here.
18481
18482 2011-05-20  Bruno Haible  <bruno@clisp.org>
18483
18484         isnand*: Move AC_LIBOBJ invocations to module description.
18485         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
18486         invocation from here...
18487         * modules/isnand (configure.ac): ... to here.
18488         * modules/isnand-nolibm (configure.ac): ... and here.
18489
18490 2011-05-20  Bruno Haible  <bruno@clisp.org>
18491
18492         isnanf*: Move AC_LIBOBJ invocations to module description.
18493         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
18494         invocation from here...
18495         * modules/isnanf (configure.ac): ... to here.
18496         * modules/isnanf-nolibm (configure.ac): ... and here.
18497
18498 2011-05-20  Bruno Haible  <bruno@clisp.org>
18499
18500         isnan*: Separate the AC_LIBOBJ invocations.
18501         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
18502         AC_LIBOBJ invocation.
18503         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
18504         here.
18505         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
18506         AC_LIBOBJ invocation.
18507         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
18508         here.
18509         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
18510         AC_LIBOBJ invocation.
18511         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
18512         here.
18513         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
18514
18515 2011-05-08  Bruno Haible  <bruno@clisp.org>
18516
18517         isinf: Move AC_LIBOBJ invocations to module description.
18518         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
18519         * modules/isinf (configure.ac): ... to here.
18520
18521 2011-05-08  Bruno Haible  <bruno@clisp.org>
18522
18523         isfinite: Move AC_LIBOBJ invocations to module description.
18524         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
18525         * modules/isfinite (configure.ac): ... to here.
18526
18527 2011-05-08  Bruno Haible  <bruno@clisp.org>
18528
18529         isblank: Move AC_LIBOBJ invocations to module description.
18530         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
18531         here...
18532         * modules/isblank (configure.ac): ... to here.
18533
18534 2011-05-08  Bruno Haible  <bruno@clisp.org>
18535
18536         isapipe: Move AC_LIBOBJ invocations to module description.
18537         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
18538         gl_PREREQ_ISAPIPE invocations from here...
18539         * modules/isapipe (configure.ac): ... to here.
18540         (Depends-on): Update condition.
18541
18542 2011-05-08  Bruno Haible  <bruno@clisp.org>
18543
18544         ioctl: Move AC_LIBOBJ invocations to module description.
18545         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
18546         invocations from here...
18547         * modules/ioctl (configure.ac): ... to here.
18548         (Depends-on): Update condition.
18549
18550 2011-05-08  Bruno Haible  <bruno@clisp.org>
18551
18552         imaxdiv: Move AC_LIBOBJ invocations to module description.
18553         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
18554         invocations from here...
18555         * modules/imaxdiv (configure.ac): ... to here.
18556
18557 2011-05-08  Bruno Haible  <bruno@clisp.org>
18558
18559         imaxabs: Move AC_LIBOBJ invocations to module description.
18560         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
18561         invocations from here...
18562         * modules/imaxabs (configure.ac): ... to here.
18563
18564 2011-05-08  Bruno Haible  <bruno@clisp.org>
18565
18566         getaddrinfo: Move AC_LIBOBJ invocations to module description.
18567         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
18568         AC_LIBOBJ invocations from here...
18569         * modules/getaddrinfo (configure.ac): ... to here.
18570         (Depends-on): Add conditions.
18571
18572 2011-05-08  Bruno Haible  <bruno@clisp.org>
18573
18574         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18575         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
18576         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18577         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
18578         (gl_PREREQ_INET_PTON): ... from here.
18579         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
18580         gl_PREREQ_INET_PTON here.
18581         (Depends-on): Update condition.
18582
18583 2011-05-08  Bruno Haible  <bruno@clisp.org>
18584
18585         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18586         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
18587         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18588         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
18589         (gl_PREREQ_INET_NTOP): ... from here.
18590         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
18591         gl_PREREQ_INET_NTOP here.
18592         (Depends-on): Update condition.
18593
18594 2011-05-08  Bruno Haible  <bruno@clisp.org>
18595
18596         iconv_open: Move AC_LIBOBJ invocations to module description.
18597         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
18598         AC_LIBOBJ invocations from here...
18599         * modules/iconv_open (configure.ac): ... to here.
18600
18601 2011-05-08  Bruno Haible  <bruno@clisp.org>
18602
18603         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
18604         If module 'iconv_open' is among the main modules and module
18605         'iconv_open-utf' is among the tests dependencies, then
18606         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
18607         return the special iconv_t values. Therefore iconv() and iconv_close()
18608         must support these special iconv_t values, already in lib, not only in
18609         tests.
18610         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
18611         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
18612         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
18613         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
18614         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
18615         (Depends-on): Add the dependencies of iconv_open-utf.
18616         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
18617         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
18618         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
18619
18620 2011-05-08  Bruno Haible  <bruno@clisp.org>
18621
18622         group-member: Move AC_LIBOBJ invocations to module description.
18623         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
18624         gl_PREREQ_GROUP_MEMBER invocations from here...
18625         * modules/group-member (configure.ac): ... to here.
18626
18627 2011-05-08  Bruno Haible  <bruno@clisp.org>
18628
18629         grantpt: Move AC_LIBOBJ invocations to module description.
18630         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
18631         invocations from here...
18632         * modules/grantpt (configure.ac): ... to here.
18633
18634 2011-05-08  Bruno Haible  <bruno@clisp.org>
18635
18636         glob: Move AC_LIBOBJ invocations to module description.
18637         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
18638         from here...
18639         * modules/glob (configure.ac): ... to here.
18640
18641 2011-05-08  Bruno Haible  <bruno@clisp.org>
18642
18643         getusershell: Move AC_LIBOBJ invocations to module description.
18644         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
18645         Move AC_LIBOBJ invocation from here...
18646         * modules/getusershell (configure.ac): ... to here.
18647         (Depends-on): Update condition.
18648
18649 2011-05-08  Bruno Haible  <bruno@clisp.org>
18650
18651         gettimeofday: Move AC_LIBOBJ invocations to module description.
18652         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
18653         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
18654         gl_PREREQ_GETTIMEOFDAY invocations from here...
18655         * modules/gettimeofday (configure.ac): ... to here.
18656
18657 2011-05-08  Bruno Haible  <bruno@clisp.org>
18658
18659         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
18660         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
18661         just gl_FUNC_TZSET.
18662         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
18663         (gl_FUNC_TZSET_CLOBBER): Remove actions.
18664         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
18665         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
18666
18667 2011-05-08  Bruno Haible  <bruno@clisp.org>
18668
18669         getsubopt: Move AC_LIBOBJ invocations to module description.
18670         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
18671         gl_PREREQ_GETSUBOPT invocations from here...
18672         * modules/getsubopt (configure.ac): ... to here.
18673
18674 2011-05-08  Bruno Haible  <bruno@clisp.org>
18675
18676         getpass-gnu: Move AC_LIBOBJ invocations to module description.
18677         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
18678         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
18679         * modules/getpass-gnu (configure.ac): ... to here.
18680
18681 2011-05-08  Bruno Haible  <bruno@clisp.org>
18682
18683         getpass: Move AC_LIBOBJ invocations to module description.
18684         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
18685         gl_PREREQ_GETPASS invocations from here...
18686         * modules/getpass (configure.ac): ... to here.
18687
18688 2011-05-08  Bruno Haible  <bruno@clisp.org>
18689
18690         getpagesize: Move AC_LIBOBJ invocations to module description.
18691         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
18692         from here...
18693         * modules/getpagesize (configure.ac): ... to here.
18694
18695 2011-05-08  Bruno Haible  <bruno@clisp.org>
18696
18697         getopt: Move AC_LIBOBJ invocations to module description.
18698         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
18699         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
18700         invocations from here...
18701         * modules/getopt-gnu (configure.ac): ... to here.
18702         * modules/getopt-posix (configure.ac): ... and here.
18703         (Depends-on): Update condition.
18704
18705 2011-05-08  Bruno Haible  <bruno@clisp.org>
18706
18707         getopt, argp: Respect rules for use of AC_LIBOBJ.
18708         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
18709         (gl_REPLACE_GETOPT_ALWAYS): New macro.
18710         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
18711         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
18712
18713 2011-05-08  Bruno Haible  <bruno@clisp.org>
18714
18715         getlogin_r: Move AC_LIBOBJ invocations to module description.
18716         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
18717         gl_PREREQ_GETLOGIN_R invocations from here...
18718         * modules/getlogin_r (configure.ac): ... to here.
18719
18720 2011-05-08  Bruno Haible  <bruno@clisp.org>
18721
18722         getlogin: Move AC_LIBOBJ invocations to module description.
18723         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
18724         here...
18725         * modules/getlogin (configure.ac): ... to here.
18726
18727 2011-05-08  Bruno Haible  <bruno@clisp.org>
18728
18729         getloadavg: Move AC_LIBOBJ invocations to module description.
18730         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
18731         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
18732         * modules/getloadavg (configure.ac): ... to here.
18733
18734 2011-05-08  Bruno Haible  <bruno@clisp.org>
18735
18736         gethrxtime: Move AC_LIBOBJ invocations to module description.
18737         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
18738         LIB_GETHRXTIME from here...
18739         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
18740         invocations from here...
18741         * modules/gethrxtime (configure.ac): ... to here.
18742
18743 2011-05-08  Bruno Haible  <bruno@clisp.org>
18744
18745         gethostname: Move AC_LIBOBJ invocations to module description.
18746         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
18747         gl_PREREQ_GETHOSTNAME invocations from here...
18748         * modules/gethostname (configure.ac): ... to here.
18749
18750 2011-05-08  Bruno Haible  <bruno@clisp.org>
18751
18752         getgroups: Move AC_LIBOBJ invocations to module description.
18753         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
18754         here...
18755         * modules/getgroups (configure.ac): ... to here.
18756
18757 2011-05-08  Bruno Haible  <bruno@clisp.org>
18758
18759         getdtablesize: Move AC_LIBOBJ invocations to module description.
18760         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
18761         invocation from here...
18762         * modules/getdtablesize (configure.ac): ... to here.
18763
18764 2011-05-08  Bruno Haible  <bruno@clisp.org>
18765
18766         getdomainname: Move AC_LIBOBJ invocations to module description.
18767         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
18768         gl_PREREQ_GETDOMAINNAME invocations from here...
18769         * modules/getdomainname (configure.ac): ... to here.
18770
18771 2011-05-08  Bruno Haible  <bruno@clisp.org>
18772
18773         getline: Move AC_LIBOBJ invocations to module description.
18774         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
18775         invocations from here...
18776         * modules/getline (configure.ac): ... to here.
18777
18778 2011-05-08  Bruno Haible  <bruno@clisp.org>
18779
18780         getline: Simplify.
18781         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
18782         It's already handled through the module dependency.
18783
18784 2011-05-08  Bruno Haible  <bruno@clisp.org>
18785
18786         getdelim: Move AC_LIBOBJ invocations to module description.
18787         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
18788         and gl_PREREQ_GETDELIM invocations from here...
18789         * modules/getdelim (configure.ac): ... to here.
18790         (Depends-on): Fix condition.
18791
18792 2011-05-08  Bruno Haible  <bruno@clisp.org>
18793
18794         getcwd: Move AC_LIBOBJ invocations to module description.
18795         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
18796         invocations from here...
18797         * modules/getcwd (configure.ac): ... to here.
18798
18799 2011-05-08  Bruno Haible  <bruno@clisp.org>
18800
18801         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
18802         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
18803         here...
18804         * modules/getcwd-lgpl (configure.ac): ... to here.
18805
18806 2011-05-07  Bruno Haible  <bruno@clisp.org>
18807
18808         crypto/gc: Move AC_LIBOBJ invocations to module description.
18809         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
18810         * modules/crypto/gc (configure.ac): ... to here.
18811
18812 2011-05-07  Bruno Haible  <bruno@clisp.org>
18813
18814         fwriting: Move AC_LIBOBJ invocations to module description.
18815         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
18816         here...
18817         * modules/fwriting (configure.ac): ... to here.
18818
18819 2011-05-07  Bruno Haible  <bruno@clisp.org>
18820
18821         fwritable: Move AC_LIBOBJ invocations to module description.
18822         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
18823         here...
18824         * modules/fwritable (configure.ac): ... to here.
18825
18826 2011-05-07  Bruno Haible  <bruno@clisp.org>
18827
18828         futimens: Move AC_LIBOBJ invocations to module description.
18829         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
18830         here...
18831         * modules/futimens (configure.ac): ... to here.
18832
18833 2011-05-07  Bruno Haible  <bruno@clisp.org>
18834
18835         ftruncate: Move AC_LIBOBJ invocations to module description.
18836         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
18837         gl_PREREQ_FTRUNCATE invocations from here...
18838         * modules/ftruncate (configure.ac): ... to here.
18839
18840 2011-05-07  Bruno Haible  <bruno@clisp.org>
18841
18842         fsync: Move AC_LIBOBJ invocations to module description.
18843         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
18844         invocations from here...
18845         * modules/fsync (configure.ac): ... to here.
18846
18847 2011-05-07  Bruno Haible  <bruno@clisp.org>
18848
18849         fsusage: Move AC_LIBOBJ invocations to module description.
18850         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
18851         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
18852         * modules/fsusage (configure.ac): ... to here.
18853
18854 2011-05-07  Bruno Haible  <bruno@clisp.org>
18855
18856         freopen: Move AC_LIBOBJ invocations to module description.
18857         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
18858         invocations from here...
18859         * modules/freopen (configure.ac): ... to here.
18860
18861 2011-05-07  Bruno Haible  <bruno@clisp.org>
18862
18863         free: Move AC_LIBOBJ invocations to module description.
18864         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
18865         invocations from here...
18866         * modules/free (configure.ac): ... to here.
18867
18868 2011-05-07  Bruno Haible  <bruno@clisp.org>
18869
18870         freadable: Move AC_LIBOBJ invocations to module description.
18871         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
18872         here...
18873         * modules/freadable (configure.ac): ... to here.
18874
18875 2011-05-07  Bruno Haible  <bruno@clisp.org>
18876
18877         fpurge: Move AC_LIBOBJ invocations to module description.
18878         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
18879         invocations from here...
18880         * modules/fpurge (configure.ac): ... to here.
18881
18882 2011-05-07  Bruno Haible  <bruno@clisp.org>
18883
18884         fpending: Move AC_LIBOBJ invocations to module description.
18885         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
18886         gl_FUNC_FPENDING.
18887         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
18888         invocations from here...
18889         * modules/fpending (configure.ac): ... to here.
18890
18891 2011-05-07  Bruno Haible  <bruno@clisp.org>
18892
18893         fopen: Move AC_LIBOBJ invocations to module description.
18894         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
18895         invocations from here...
18896         * modules/fopen (configure.ac): ... to here.
18897
18898 2011-05-07  Bruno Haible  <bruno@clisp.org>
18899
18900         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
18901         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
18902         gl_FUNC_FNMATCH_POSIX.
18903         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
18904         invocations from here...
18905         * modules/fnmatch (configure.ac): ... to here.
18906         * modules/fnmatch-gnu (configure.ac): ... and here.
18907
18908 2011-05-07  Bruno Haible  <bruno@clisp.org>
18909
18910         flock: Move AC_LIBOBJ invocations to module description.
18911         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
18912         invocations from here...
18913         * modules/flock (configure.ac): ... to here.
18914
18915 2011-05-07  Bruno Haible  <bruno@clisp.org>
18916
18917         fileblocks: Move AC_LIBOBJ invocations to module description.
18918         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
18919         gl_PREREQ_FILEBLOCKS invocations from here...
18920         * modules/fileblocks (configure.ac): ... to here.
18921
18922 2011-05-06  Bruno Haible  <bruno@clisp.org>
18923
18924         fflush: Move AC_LIBOBJ invocations to module description.
18925         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
18926         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
18927         invocations from here...
18928         * modules/fflush (configure.ac): ... to here.
18929
18930 2011-05-06  Bruno Haible  <bruno@clisp.org>
18931
18932         fdopendir: Move AC_LIBOBJ invocations to module description.
18933         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
18934         here...
18935         * modules/fdopendir (configure.ac): ... to here.
18936         (Depends-on): Improve conditions.
18937
18938 2011-05-06  Bruno Haible  <bruno@clisp.org>
18939
18940         _Exit: Move AC_LIBOBJ invocations to module description.
18941         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
18942         invocations from here...
18943         * modules/_Exit (configure.ac): ... to here.
18944
18945 2011-05-21  Bruno Haible  <bruno@clisp.org>
18946
18947         euidaccess: Respect rules for use of AC_LIBOBJ.
18948         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18949         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
18950         from here...
18951         * modules/euidaccess (configure.ac): ... to here.
18952
18953 2011-05-06  Bruno Haible  <bruno@clisp.org>
18954
18955         error: Move AC_LIBOBJ invocations to module description.
18956         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
18957         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
18958         invocations from here...
18959         * modules/error (configure.ac): ... to here.
18960
18961 2011-05-06  Bruno Haible  <bruno@clisp.org>
18962
18963         duplocale: Move AC_LIBOBJ invocations to module description.
18964         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
18965         gl_PREREQ_DUPLOCALE invocations from here...
18966         * modules/duplocale (configure.ac): ... to here.
18967
18968 2011-05-05  Bruno Haible  <bruno@clisp.org>
18969
18970         dirfd: Move AC_LIBOBJ invocations to module description.
18971         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
18972         gl_FUNC_DIRFD.
18973         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
18974         here...
18975         * modules/dirfd (configure.ac): ... to here.
18976         (Depends-on): Fix condition.
18977
18978 2011-05-05  Bruno Haible  <bruno@clisp.org>
18979
18980         chown: Respect rules for use of AC_LIBOBJ.
18981         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
18982         * modules/chown (configure.ac): ... to here.
18983
18984 2011-05-05  Bruno Haible  <bruno@clisp.org>
18985
18986         chdir-long: Move AC_LIBOBJ invocations to module description.
18987         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
18988         gl_PREREQ_CHDIR_LONG invocations from here...
18989         * modules/chdir-long (configure.ac): ... to here.
18990
18991 2011-05-05  Bruno Haible  <bruno@clisp.org>
18992
18993         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
18994         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
18995         from here...
18996         * modules/canonicalize-lgpl (configure.ac): ... to here.
18997
18998 2011-05-05  Bruno Haible  <bruno@clisp.org>
18999
19000         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
19001         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
19002         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
19003         REPLACE_CALLOC.
19004         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
19005         * modules/calloc-gnu (configure.ac): Likewise.
19006
19007 2011-05-05  Bruno Haible  <bruno@clisp.org>
19008
19009         btowc: Move AC_LIBOBJ invocations to module description.
19010         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
19011         invocations from here...
19012         * modules/btowc (configure.ac): ... to here.
19013
19014 2011-05-21  Bruno Haible  <bruno@clisp.org>
19015
19016         atexit: Move AC_LIBOBJ invocations to module description.
19017         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
19018         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
19019         here...
19020         * modules/atexit (configure.ac): ... to here.
19021
19022 2011-05-05  Bruno Haible  <bruno@clisp.org>
19023
19024         atoll: Move AC_LIBOBJ invocations to module description.
19025         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
19026         invocations from here...
19027         * modules/atoll (configure.ac): ... to here.
19028
19029 2011-05-05  Bruno Haible  <bruno@clisp.org>
19030
19031         argz: Move AC_LIBOBJ invocations to module description.
19032         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
19033         * modules/argz (configure.ac): ... to here.
19034
19035 2011-05-05  Bruno Haible  <bruno@clisp.org>
19036
19037         alphasort: Move AC_LIBOBJ invocations to module description.
19038         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
19039         gl_PREREQ_ALPHASORT invocations from here...
19040         * modules/alphasort (configure.ac): ... to here.
19041
19042 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19043
19044         verify: new macro verify_expr; verify_true deprecated
19045         * NEWS: Mention this.
19046         * doc/verify.texi (Compile-time Assertions): Document this.
19047         * lib/verify.h (verify_true): Deprecate.
19048         (verify_expr): New macro.
19049         * tests/test-verify.c (function): Test verify_expr.
19050
19051 2011-06-14  Jim Meyering  <meyering@redhat.com>
19052
19053         init.sh: give more portable redirection-related advice in a comment
19054         * tests/init.sh (stderr_fileno_): Update the advice in comments.
19055         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
19056         for lots of discussion.  Stefano Lattarini suggested the solution
19057         of putting "9>&2" after the command.  Reported by Bruno Haible.
19058
19059 2011-06-13  Bruno Haible  <bruno@clisp.org>
19060
19061         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
19062         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
19063         'none'.
19064
19065 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
19066
19067         ftoastr: use strtof only if HAVE_STRTOF
19068         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
19069         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
19070         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
19071         * modules/ftoastr (configure.ac): Check for strtof.
19072
19073 2011-06-13  Bruno Haible  <bruno@clisp.org>
19074
19075         gnulib-tool: Addendum to 2011-06-08 commit.
19076         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
19077         and --witness-c-macro have been given, augment AM_CPPFLAGS.
19078
19079 2011-06-13  Bruno Haible  <bruno@clisp.org>
19080
19081         fseeko: Provide a non-inline replacement of fseek().
19082         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
19083         * modules/fseeko (Depends-on): Add fseek.
19084         * modules/fseek (License): Change to LGPLv2+.
19085
19086 2011-06-13  Bruno Haible  <bruno@clisp.org>
19087
19088         ftello: Provide a non-inline replacement of ftell().
19089         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
19090         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
19091         not have ftello() (such as on mingw).
19092         * modules/ftello (Depends-on): Add ftell.
19093         * modules/ftell (License): Change to LGPLv2+.
19094
19095 2011-05-07  Bruno Haible  <bruno@clisp.org>
19096
19097         ftell: Move AC_LIBOBJ invocations to module description.
19098         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
19099         * modules/ftell (configure.ac): ... to here.
19100
19101 2011-05-07  Bruno Haible  <bruno@clisp.org>
19102
19103         ftello: Respect rules for use of AC_LIBOBJ.
19104         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
19105         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
19106         here...
19107         * modules/ftello (configure.ac): ... to here.
19108
19109 2011-05-07  Bruno Haible  <bruno@clisp.org>
19110
19111         fseeko: Simplify.
19112         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
19113         (gl_FUNC_FSEEKO): Inline it here.
19114
19115 2011-05-07  Bruno Haible  <bruno@clisp.org>
19116
19117         fseek: Move AC_LIBOBJ invocations to module description.
19118         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
19119         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
19120         * modules/fseek (configure.ac): ... to here.
19121
19122 2011-05-07  Bruno Haible  <bruno@clisp.org>
19123
19124         fseek: Respect rules for use of AC_LIBOBJ.
19125         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
19126         here...
19127         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
19128
19129 2011-05-07  Bruno Haible  <bruno@clisp.org>
19130
19131         fseeko: Respect rules for use of AC_LIBOBJ.
19132         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
19133         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
19134         here...
19135         * modules/fseeko (configure.ac): ... to here.
19136
19137 2011-06-13  Bruno Haible  <bruno@clisp.org>
19138
19139         gnulib-tool: Allow comments in the 'Depends-on' section.
19140         * doc/gnulib.texi (Module description): Mention comment syntax in the
19141         Depends-on section.
19142         * gnulib-tool (func_get_dependencies): Filter out comment lines.
19143
19144 2011-06-13  Bruno Haible  <bruno@clisp.org>
19145
19146         file-set.h: guard __attibute__ use, now that it's not always defined
19147         * lib/file-set.h (record_file): Use __attribute__ only with compiler
19148         versions that support it.  This fixes a coreutils build failure with
19149         the vendor cc on HP-UX 11.31.
19150
19151 2011-06-12  Bruno Haible  <bruno@clisp.org>
19152
19153         acl: Add support for HP-UX >= 11.11 JFS ACLs.
19154         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
19155         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
19156         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
19157         (acl, aclsort): New declarations.
19158         (aclv_nontrivial): New declaration.
19159         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
19160         (file_has_acl): Read also the second kind of HP-UX ACLs.
19161         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
19162         kind of HP-UX ACLs if the first kind fails.
19163         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
19164         second kind of HP-UX ACLs.
19165         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
19166         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
19167         agree.
19168         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19169         hpuxjfs.
19170         Handle hpuxjfs.
19171         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19172         hpuxjfs.
19173         Handle hpuxjfs.
19174         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19175         (func_test_same_acls): Use both lsacl and getacl.
19176         Handle hpuxjfs.
19177         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19178         (func_test_same_acls): Use both lsacl and getacl.
19179         Handle hpuxjfs.
19180
19181 2011-06-12  Bruno Haible  <bruno@clisp.org>
19182
19183         acl: Complete the 2010-08-10 fix.
19184         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
19185         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
19186         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
19187         explicitly.
19188         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
19189         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
19190
19191 2011-06-12  Bruno Haible  <bruno@clisp.org>
19192
19193         spawn-pipe tests: Comments.
19194         * tests/test-spawn-pipe-child.c (main): Update comment.
19195         Reported by James Youngman <jay@gnu.org>.
19196
19197 2011-06-11  James Youngman  <jay@gnu.org>
19198
19199         New module 'stat-size'.
19200         * modules/stat-size: New module.  Provides macros for accessing
19201         file size information in instances of struct stat.  Depends on the
19202         fileblocks module because it calls st_blocks.
19203         * lib/stat-size.h: New file, adapted from coreutils' system.h.
19204         * doc/gnulib.texi: Include stat-size.texi.
19205         * doc/stat-size.texi: Documentation for this module.
19206         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
19207         * m4/fileblocks.m4: Mention that stat-size depends on the call to
19208         AC_STRUCT_ST_BLOCKS.
19209
19210 2011-06-09  Bruno Haible  <bruno@clisp.org>
19211
19212         thread: Support pthreads-win32.
19213         * lib/glthread/thread.h (gl_thread_self): Define differently on
19214         pthreads-win32.
19215         (gl_null_thread): New declaration.
19216         (gl_thread_self_pointer): New macro.
19217         * lib/glthread/thread.c (gl_null_thread): New constant.
19218         * tests/test-lock.c: Use gl_thread_self_pointer instead of
19219         gl_thread_self.
19220         * tests/test-tls.c: Likewise.
19221         Suggested by Paul Eggert. Reported by Eric Blake.
19222
19223 2011-06-09  Bruno Haible  <bruno@clisp.org>
19224
19225         thread: Fix confusion between NULL and 0.
19226         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
19227         Reported by Paul Eggert.
19228
19229 2011-06-09  Bruno Haible  <bruno@clisp.org>
19230
19231         spawn-pipe tests: Avoid test failure on HP-UX 11.
19232         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
19233         is closed.
19234
19235 2011-06-09  Bruno Haible  <bruno@clisp.org>
19236
19237         acl tests: Fix compilation error on HP-UX 11.
19238         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
19239
19240 2011-06-09  Bruno Haible  <bruno@clisp.org>
19241
19242         rmdir: Avoid test failure on HP-UX 10.20.
19243         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
19244         EEXIST.
19245
19246 2011-06-08  Eric Blake  <eblake@redhat.com>
19247
19248         perror: fix test on mingw
19249         * modules/perror-tests (Depends-on): Add dup2.
19250
19251         strerror_r-posix: fix on MacOS
19252         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
19253         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
19254         logic bug.
19255         * lib/strerror_r.c (strerror_r): Fix the bug.
19256         * lib/strerror.c (strerror): Likewise.
19257         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19258         problem.
19259         * doc/posix-functions/strerror.texi (strerror): Likewise.
19260         * doc/posix-functions/perror.texi (perror): Likewise.
19261         * tests/test-strerror.c (main): Enhance test.
19262         * tests/test-strerror_r.c (main): Likewise.
19263
19264 2011-06-08  Bruno Haible  <bruno@clisp.org>
19265
19266         gnulib-tool: Better isolation between different gnulib-tool invocations.
19267         * gnulib-tool: New option --witness-c-macro.
19268         (witness_c_macro): New variable.
19269         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
19270         AM_CPPFLAGS define it as a C macro.
19271         (func_emit_tests_Makefile_am): Likewise.
19272         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
19273         read it from there.
19274         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
19275         m4_define, not AC_DEFUN.
19276         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
19277         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
19278         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
19279         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
19280         s|...|...|, to substitute the values of the GNULIB_* module indicator
19281         variables.
19282         * modules/dirent (Makefile.am): Likewise.
19283         * modules/fcntl-h (Makefile.am): Likewise.
19284         * modules/iconv-h (Makefile.am): Likewise.
19285         * modules/langinfo (Makefile.am): Likewise.
19286         * modules/locale (Makefile.am): Likewise.
19287         * modules/math (Makefile.am): Likewise.
19288         * modules/netdb (Makefile.am): Likewise.
19289         * modules/poll-h (Makefile.am): Likewise.
19290         * modules/pty (Makefile.am): Likewise.
19291         * modules/search (Makefile.am): Likewise.
19292         * modules/signal (Makefile.am): Likewise.
19293         * modules/spawn (Makefile.am): Likewise.
19294         * modules/stdio (Makefile.am): Likewise.
19295         * modules/stdlib (Makefile.am): Likewise.
19296         * modules/string (Makefile.am): Likewise.
19297         * modules/sys_ioctl (Makefile.am): Likewise.
19298         * modules/sys_select (Makefile.am): Likewise.
19299         * modules/sys_socket (Makefile.am): Likewise.
19300         * modules/sys_stat (Makefile.am): Likewise.
19301         * modules/sys_times (Makefile.am): Likewise.
19302         * modules/sys_utsname (Makefile.am): Likewise.
19303         * modules/sys_wait (Makefile.am): Likewise.
19304         * modules/termios (Makefile.am): Likewise.
19305         * modules/time (Makefile.am): Likewise.
19306         * modules/unistd (Makefile.am): Likewise.
19307         * modules/wchar (Makefile.am): Likewise.
19308
19309 2011-06-08  Eric Blake  <eblake@redhat.com>
19310
19311         strerror: simplify replacement
19312         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
19313         * modules/strerror (configure.ac): No prereqs needed here...
19314         * modules/strerror-override (configure.ac): ...but this needs it.
19315         (Files): Add file for needed prereq macro.
19316
19317 2011-06-08  Bruno Haible  <bruno@clisp.org>
19318
19319         strerror_r-posix: Tweaks.
19320         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
19321         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
19322         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
19323         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
19324         (gl_FUNC_STRERROR_R): ... to here.
19325         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
19326
19327 2011-06-07  Eric Blake  <eblake@redhat.com>
19328
19329         perror: document fixed bugs
19330         * doc/posix-functions/perror.texi (perror): Document recent
19331         patches.
19332
19333 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
19334
19335         stat-time: get_stat_birthtime failure is better-defined
19336         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
19337         return a timestamp whose tv_sec and tv_nsec values are both -1.
19338         Previously, the spec said only that the tv_nsec value was negative.
19339         This upward-compatible change simplifies GNU tar a bit.
19340
19341 2011-06-07  Eric Blake  <eblake@redhat.com>
19342
19343         strerror_r-posix: work around cygwin 1.7.9
19344         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
19345         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
19346         bug without replacing strerror_r.
19347         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
19348         strerror_r is buggy, but without requiring strerror_r compilation.
19349         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
19350
19351         test-perror: relax test to ignore cygwin bug
19352         * tests/test-perror2.c (main): Relax test on requiring detection
19353         of stream errors, and use unbuffered stream.
19354         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
19355         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
19356         * doc/posix-functions/fputc.texi (fputc): Likewise.
19357         * doc/posix-functions/fputs.texi (fputs): Likewise.
19358         * doc/posix-functions/fputws.texi (fputws): Likewise.
19359         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
19360         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
19361         * doc/posix-functions/getopt.texi (getopt): Likewise.
19362         * doc/posix-functions/perror.texi (perror): Likewise.
19363         * doc/posix-functions/printf.texi (printf): Likewise.
19364         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
19365         * doc/posix-functions/psignal.texi (psignal): Likewise.
19366         * doc/posix-functions/putc.texi (putc): Likewise.
19367         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
19368         Likewise.
19369         * doc/posix-functions/putchar.texi (putchar): Likewise.
19370         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
19371         Likewise.
19372         * doc/posix-functions/puts.texi (puts): Likewise.
19373         * doc/posix-functions/putwc.texi (putwc): Likewise.
19374         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
19375         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
19376         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19377         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
19378         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19379         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
19380         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
19381         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
19382
19383 2011-05-22  Bruno Haible  <bruno@clisp.org>
19384
19385         strerror: Move AC_LIBOBJ invocations to module description.
19386         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
19387         gl_PREREQ_STRERROR invocations from here...
19388         * modules/strerror (configure.ac): ... to here.
19389
19390 2011-05-21  Bruno Haible  <bruno@clisp.org>
19391
19392         perror: Use common idiom.
19393         * modules/perror (configure.ac): Reorder statements.
19394
19395 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19396
19397         tests: fix usage message in 'mktempd_'
19398         * tests/init.sh (mktempd_): In the usage message, use literal
19399         'mktempd_', not '$ME' (which is even undefined), as the name of
19400         the subroutine.
19401
19402 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19403
19404         tests init: new function 'fatal_', for hard errors
19405         Before this patch, the only way offered by tests/init.sh to
19406         properly signal a hard error was the `framework_failure_'
19407         function.  But the error message issued by that function,
19408         as its name would suggest, refers to a set-up failure in the
19409         testsuite, while hard errors can obviously also be due to
19410         other reasons.  The best way to fix this inconsistency is to
19411         introduce a new function with a more general error message.
19412         * tests/init.sh (fatal_): New function.
19413
19414 2011-06-06  Eric Blake  <eblake@redhat.com>
19415
19416         canonicalize-lgpl: use common idiom
19417         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
19418         over newer POSIX -Rf.
19419         Reported by Bruno Haible.
19420
19421         canonicalize-lgpl: work around AIX realpath bug
19422         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
19423         * doc/posix-functions/realpath.texi (realpath): Document it.
19424         Reported by Bruno Haible.
19425
19426         strerror: work around FreeBSD bug
19427         * lib/strerror.c (strerror): Special case 0.
19428         Reported by Bruno Haible.
19429
19430         strerror-override: avoid bloating errno module
19431         * modules/errno (Files, configure.ac): Move replacement strings...
19432         * modules/strerror-override: ...to new module.
19433         * modules/strerror (Depends-on): Add strerror-override.
19434         * modules/strerror_r-posix (Depends-on): Likewise.
19435         * MODULES.html.sh: Document new module.
19436         Reported by Bruno Haible.
19437
19438 2011-06-06  Bruno Haible  <bruno@clisp.org>
19439
19440         spawn-pipe tests: Rename program.
19441         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
19442         * tests/test-spawn-pipe-child.c: Update comment.
19443         * tests/test-spawn-pipe.sh: Update.
19444         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
19445
19446         spawn-pipe tests: Link the child program only against libc.
19447         * tests/test-spawn-pipe-child.c: New file, extracted from
19448         tests/test-spawn-pipe.c.
19449         (main): Expect only one argument.
19450         (is_open): New function, copied from tests/test-pipe.c.
19451         * tests/test-spawn-pipe.c: Don't include <errno.h>.
19452         (child_main): Remove function.
19453         (test_pipe): Pass only one argument to the child program.
19454         (main): Remove child process code. Expect the child program's name as
19455         first argument.
19456         * tests/test-spawn-pipe.sh: Pass the child program's name as first
19457         argument.
19458         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
19459         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
19460         test-spawn-pipe-child against no libraries.
19461
19462 2011-06-06  Bruno Haible  <bruno@clisp.org>
19463
19464         careadlinkat: Avoid mismatch between ssize_t and int.
19465         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
19466         * lib/careadlinkat.c (careadlinkatcwd): Define always.
19467
19468 2011-06-06  Jim Meyering  <meyering@redhat.com>
19469
19470         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
19471         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
19472         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
19473
19474 2011-06-05  Bruno Haible  <bruno@clisp.org>
19475
19476         ansi-c++-opt: Interoperability with libtool.
19477         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
19478         set the variable to "no", not to ":".
19479         * NEWS: Mention the change.
19480
19481 2011-06-05  Bruno Haible  <bruno@clisp.org>
19482
19483         acl: Fix test failure on AIX 7.
19484         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
19485         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
19486
19487 2011-06-05  Bruno Haible  <bruno@clisp.org>
19488
19489         pipe-filter-ii: Fix test failure on AIX and IRIX.
19490         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
19491         with EAGAIN, retry with a smaller buffer size.
19492
19493 2011-06-05  Bruno Haible  <bruno@clisp.org>
19494
19495         localename: Fix link dependencies.
19496         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
19497         * modules/localename-tests (Makefile.am): Link test-localename with
19498         $(LIBTHREAD).
19499
19500 2011-06-05  Bruno Haible  <bruno@clisp.org>
19501
19502         error: Avoid gcc warning.
19503         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
19504
19505 2011-06-05  Bruno Haible  <bruno@clisp.org>
19506
19507         unsetenv: Avoid gcc warning.
19508         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
19509
19510 2011-06-05  Bruno Haible  <bruno@clisp.org>
19511
19512         setenv: Avoid gcc warning.
19513         * lib/setenv.c (setenv): Provide declaration if system lacks it.
19514
19515 2011-06-05  Bruno Haible  <bruno@clisp.org>
19516
19517         sys_select: Ensure memset is declared also on AIX 7.
19518         * lib/sys_select.in.h: Include <string.h> also on AIX.
19519         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
19520         self-contained also on AIX 7.1.
19521
19522 2011-06-04  Jim Meyering  <meyering@redhat.com>
19523
19524         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
19525         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
19526         function name, "error".
19527         (_gl_translatable_diag_func_re): New configurable variable.
19528
19529 2011-06-04  Bruno Haible  <bruno@clisp.org>
19530
19531         getopt: Avoid gcc warning.
19532         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
19533
19534 2011-06-04  Bruno Haible  <bruno@clisp.org>
19535
19536         strerror_r: Fix comments.
19537         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
19538         commit.
19539
19540 2011-06-04  Bruno Haible  <bruno@clisp.org>
19541
19542         perror: Fix compilation error.
19543         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
19544         Undefine fprintf, not sprintf.
19545         * modules/perror (Depends-on): Remove intprops, verify.
19546
19547 2011-06-04  Bruno Haible  <bruno@clisp.org>
19548
19549         setlocale: Enable replacement on Cygwin 1.5.
19550         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
19551         Cygwin 1.5.x.
19552         * doc/posix-functions/setlocale.texi: Mention that the problem with the
19553         LC_CTYPE category also exists on Cygwin 1.5.x.
19554
19555 2011-06-04  Bruno Haible  <bruno@clisp.org>
19556
19557         strerror-override: Don't disable symbol renamings.
19558         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
19559         * lib/strerror-override.c: Include config.h.
19560         (strerror_override): Don't undefine.
19561
19562 2011-06-03  Bruno Haible  <bruno@clisp.org>
19563
19564         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
19565         * lib/localename.h: Update copyright header.
19566         * lib/localename.c: Likewise.
19567         * lib/relocatable.h: Likewise.
19568         * lib/relocatable.c: Likewise.
19569
19570 2011-06-02  Bruno Haible  <bruno@clisp.org>
19571
19572         doc: Fix a module name.
19573         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
19574
19575 2011-06-02  Bruno Haible  <bruno@clisp.org>
19576
19577         pipe2: Remove dependency on 'nonblocking' module.
19578         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
19579         O_NONBLOCK is defined by gnulib.
19580         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
19581         is zero.
19582         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
19583         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
19584         defined by gnulib.
19585         (get_nonblocking_flag): New function.
19586         (main): Test O_NONBLOCK flag only if it is nonzero.
19587         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
19588
19589 2011-06-03  Jim Meyering  <meyering@redhat.com>
19590
19591         maint: three new prohibit-header-without-use rules
19592         Prohibit use of cloexec.h, posixver.h, same.h without use.
19593         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
19594         (sc_prohibit_posixver_without_use): Likewise.
19595         (sc_prohibit_same_without_use): Likewise.
19596
19597 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19598
19599         allocator: 'die' routine is now given requested size
19600         * lib/allocator.h (struct allocator.die): New size arg.
19601         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
19602         If the actual problem is an ssize_t limitation, not a size_t or
19603         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
19604
19605 2011-06-01  Eric Blake  <eblake@redhat.com>
19606
19607         strerror: drop strerror_r dependency
19608         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
19609         * lib/strerror-override.c (strerror_override): ...to new file.
19610         * lib/strerror-override.h: Add prototype.
19611         * lib/strerror-impl.h: Delete.
19612         * lib/strerror.c (strerror): New implementation.
19613         * modules/errno (Files): Add new files.
19614         (configure.ac): Compile new file as appropriate.
19615         * modules/strerror (Files): Drop unused file.
19616         (Depends-on): Drop strerror_r-posix.
19617         * MODULES.html.sh: Document strerror_r-posix.
19618         Requested by Sam Steingold.
19619
19620         perror: call strerror_r directly
19621         * modules/perror (Files): Drop strerror-impl.h.
19622         * lib/perror.c (perror): Use our own stack buffer, rather than
19623         calling a wrapper that uses static storage.
19624         * doc/posix-functions/perror.texi (perror): Document a limitation
19625         of our replacement.
19626
19627         strerror_r: fix includes for FreeBSD
19628         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
19629         since we use abort on some platforms.
19630         Reported by Matthias Bolte.
19631
19632 2011-05-31  Bruno Haible  <bruno@clisp.org>
19633
19634         Fix link errors in tests: openat-die uses gettext-h.
19635         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
19636         against $(LIBINTL).
19637         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
19638         against $(LIBINTL).
19639         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
19640         $(LIBINTL).
19641         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
19642         against $(LIBINTL).
19643         * modules/linkat-tests (Makefile.am): Link test-linkat against
19644         $(LIBINTL).
19645         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
19646         $(LIBINTL).
19647         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
19648         against $(LIBINTL).
19649         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
19650         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
19651         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
19652         $(LIBINTL).
19653         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
19654         $(LIBINTL).
19655         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
19656         $(LIBINTL).
19657         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19658
19659 2011-05-31  Bruno Haible  <bruno@clisp.org>
19660
19661         Fix link errors in tests: wait-process uses gettext-h.
19662         * modules/nonblocking-pipe-tests (Makefile.am): Set
19663         test_nonblocking_pipe_main_LDADD.
19664         * modules/nonblocking-socket-tests (Makefile.am): Link
19665         test-nonblocking-socket-main against $(LIBINTL).
19666         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19667
19668 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
19669
19670         assert-h: work around 'verify' incompatibility
19671         * lib/verify.h: Use @...@ directives, not ifdef.
19672         * modules/assert-h (assert.h): Implement the directives.
19673         (assert.h): Substitute the symbol-prefix more consistently.
19674
19675 2011-05-29  Jim Meyering  <meyering@redhat.com>
19676
19677         trim: remove three superfluous assignments
19678         * lib/trim.c (trim2): Remove three superfluous assignments
19679         and correct brace positioning.
19680
19681 2011-05-29  Bruno Haible  <bruno@clisp.org>
19682
19683         wctype-h: Avoid namespace pollution on Solaris 2.6.
19684         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
19685         identifiers.
19686         * doc/posix-headers/wctype.texi: Mention the problem.
19687         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19688
19689 2011-05-28  Jim Meyering  <meyering@redhat.com>
19690
19691         parse-datetime.y: accommodate -Wstrict-overflow
19692         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
19693         placate -Wstrict-overflow.
19694
19695         trim: avoid a warning from -O2 -Wstrict-overflow
19696         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
19697
19698 2011-05-29  Bruno Haible  <bruno@clisp.org>
19699
19700         gnulib-tool: Fix bug in yesterday's commit.
19701         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
19702         twice.
19703
19704 2011-05-29  Bruno Haible  <bruno@clisp.org>
19705
19706         Allow multiple gnulib generated include files to be combined.
19707         * gnulib-tool (func_compute_include_guard_prefix): New function.
19708         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
19709         ${gl_include_guard_prefix} references.
19710         (func_import, func_create_testdir): Invoke
19711         func_compute_include_guard_prefix.
19712         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
19713         * lib/ctype.in.h: Likewise.
19714         * lib/dirent.in.h: Likewise.
19715         * lib/errno.in.h: Likewise.
19716         * lib/fcntl.in.h: Likewise.
19717         * lib/float.in.h: Likewise.
19718         * lib/getopt.in.h: Likewise.
19719         * lib/iconv.in.h: Likewise.
19720         * lib/langinfo.in.h: Likewise.
19721         * lib/locale.in.h: Likewise.
19722         * lib/math.in.h: Likewise.
19723         * lib/netdb.in.h: Likewise.
19724         * lib/netinet_in.in.h: Likewise.
19725         * lib/poll.in.h: Likewise.
19726         * lib/pthread.in.h: Likewise.
19727         * lib/pty.in.h: Likewise.
19728         * lib/sched.in.h: Likewise.
19729         * lib/se-selinux.in.h: Likewise.
19730         * lib/search.in.h: Likewise.
19731         * lib/signal.in.h: Likewise.
19732         * lib/spawn.in.h: Likewise.
19733         * lib/stdarg.in.h: Likewise.
19734         * lib/stddef.in.h: Likewise.
19735         * lib/stdint.in.h: Likewise.
19736         * lib/stdio.in.h: Likewise.
19737         * lib/stdlib.in.h: Likewise.
19738         * lib/string.in.h: Likewise.
19739         * lib/strings.in.h: Likewise.
19740         * lib/sys_file.in.h: Likewise.
19741         * lib/sys_ioctl.in.h: Likewise.
19742         * lib/sys_select.in.h: Likewise.
19743         * lib/sys_socket.in.h: Likewise.
19744         * lib/sys_stat.in.h: Likewise.
19745         * lib/sys_time.in.h: Likewise.
19746         * lib/sys_times.in.h: Likewise.
19747         * lib/sys_uio.in.h: Likewise.
19748         * lib/sys_utsname.in.h: Likewise.
19749         * lib/sys_wait.in.h: Likewise.
19750         * lib/sysexits.in.h: Likewise.
19751         * lib/termios.in.h: Likewise.
19752         * lib/time.in.h: Likewise.
19753         * lib/unistd.in.h: Likewise.
19754         * lib/wchar.in.h: Likewise.
19755         * lib/wctype.in.h: Likewise.
19756         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
19757         * modules/ctype (Makefile.am): Likewise.
19758         * modules/dirent (Makefile.am): Likewise.
19759         * modules/errno (Makefile.am): Likewise.
19760         * modules/fcntl-h (Makefile.am): Likewise.
19761         * modules/float (Makefile.am): Likewise.
19762         * modules/getopt-posix (Makefile.am): Likewise.
19763         * modules/iconv-h (Makefile.am): Likewise.
19764         * modules/langinfo (Makefile.am): Likewise.
19765         * modules/locale (Makefile.am): Likewise.
19766         * modules/math (Makefile.am): Likewise.
19767         * modules/netdb (Makefile.am): Likewise.
19768         * modules/netinet_in (Makefile.am): Likewise.
19769         * modules/poll-h (Makefile.am): Likewise.
19770         * modules/pthread (Makefile.am): Likewise.
19771         * modules/pty (Makefile.am): Likewise.
19772         * modules/sched (Makefile.am): Likewise.
19773         * modules/search (Makefile.am): Likewise.
19774         * modules/selinux-h (Makefile.am): Likewise.
19775         * modules/signal (Makefile.am): Likewise.
19776         * modules/spawn (Makefile.am): Likewise.
19777         * modules/stdarg (Makefile.am): Likewise.
19778         * modules/stddef (Makefile.am): Likewise.
19779         * modules/stdint (Makefile.am): Likewise.
19780         * modules/stdio (Makefile.am): Likewise.
19781         * modules/stdlib (Makefile.am): Likewise.
19782         * modules/string (Makefile.am): Likewise.
19783         * modules/strings (Makefile.am): Likewise.
19784         * modules/sys_file (Makefile.am): Likewise.
19785         * modules/sys_ioctl (Makefile.am): Likewise.
19786         * modules/sys_select (Makefile.am): Likewise.
19787         * modules/sys_socket (Makefile.am): Likewise.
19788         * modules/sys_stat (Makefile.am): Likewise.
19789         * modules/sys_time (Makefile.am): Likewise.
19790         * modules/sys_times (Makefile.am): Likewise.
19791         * modules/sys_uio (Makefile.am): Likewise.
19792         * modules/sys_utsname (Makefile.am): Likewise.
19793         * modules/sys_wait (Makefile.am): Likewise.
19794         * modules/sysexits (Makefile.am): Likewise.
19795         * modules/termios (Makefile.am): Likewise.
19796         * modules/time (Makefile.am): Likewise.
19797         * modules/unistd (Makefile.am): Likewise.
19798         * modules/wchar (Makefile.am): Likewise.
19799         * modules/wctype-h (Makefile.am): Likewise.
19800         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
19801
19802 2011-05-29  Bruno Haible  <bruno@clisp.org>
19803
19804         assert-h: Allow multiple gnulib generated replacements to coexist.
19805         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
19806
19807 2011-05-29  Bruno Haible  <bruno@clisp.org>
19808
19809         argp: Allow coexistence with strerror_r-posix module.
19810         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
19811         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
19812         by gnulib's <string.h> replacement), assume it has the POSIX signature,
19813         not the glibc signature.
19814
19815 2011-05-28  Bruno Haible  <bruno@clisp.org>
19816
19817         gnulib-tool: Alternative structure of testdirs, similar to --import.
19818         * gnulib-tool: New option --single-configure.
19819         (func_usage): Document it.
19820         (single_configure): New variable.
19821         (func_modules_transitive_closure_separately,
19822         func_modules_transitive_closure_separately,
19823         func_determine_use_libtests, func_modules_add_dummy_separately,
19824         func_modules_to_filelist_separately): New functions, extracted from
19825         func_import.
19826         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
19827         (func_import): Use the new functions.
19828         (func_create_testdir): Set final_modules. Handle $single_configure =
19829         true case.
19830
19831 2011-05-28  Bruno Haible  <bruno@clisp.org>
19832
19833         getloadavg: Remove an unreliable safety check.
19834         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
19835         getloadavg.c is in place.
19836         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
19837         Reported by Sam Steingold <sds@gnu.org>.
19838
19839 2011-05-28  Bruno Haible  <bruno@clisp.org>
19840
19841         doc: Cleanup yet another file produced by texinfo.tex.
19842         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
19843
19844 2011-05-28  Bruno Haible  <bruno@clisp.org>
19845
19846         Finish the conditional dependencies mechanism.
19847         * gnulib-tool: New option --no-conditional-dependencies.
19848         (func_usage): Document it. Don't mark --conditional-dependencies as
19849         experimental.
19850         (cond_dependencies): The possible values can now be true, false, empty.
19851         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
19852         (func_import): Store setting in gnulib-cache.m4 and read it from there.
19853         * doc/gnulib-tool.texi (Conditional dependencies): New section.
19854
19855 2011-05-28  Bruno Haible  <bruno@clisp.org>
19856
19857         doc: Use a recent texinfo.tex.
19858         * doc/Makefile (tex_opts): New variable.
19859         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
19860
19861 2011-05-28  Jim Meyering  <meyering@redhat.com>
19862
19863         intprops.h: adjust comment to match code change
19864         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
19865         only once, it *may* have side effects.  Also fix an unrelated typo.
19866         (_GL_INT_SIGNED): Likewise.
19867
19868 2011-05-26  Simon Josefsson  <simon@josefsson.org>
19869
19870         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
19871
19872 2011-05-26  Bruno Haible  <bruno@clisp.org>
19873
19874         mbsrchr: Avoid collision with system function on Interix.
19875         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
19876         Reported by Markus Duft <mduft@gentoo.org>.
19877
19878 2011-05-15  James Youngman  <jay@gnu.org>
19879
19880         getopt: for ambiguous options, enumerate the possibilities.
19881         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
19882         the ambiguous options when an ambiguous prefix is given. This was
19883         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
19884         glibc change was
19885         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
19886
19887 2011-05-25  Eric Blake  <eblake@redhat.com>
19888
19889         getcwd: work around mingw bug
19890         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
19891         * doc/posix-functions/getcwd.texi (getcwd): Document it.
19892         Reported by Matthias Bolte.
19893
19894 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
19895
19896         test-intprops: disable -Wtype-limits diagnostics
19897         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
19898         diagnostics.  Otherwise, the integer overflow macros generate many
19899         diagnostics.  Reported by Jim Meyering in
19900         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19901
19902         intprops: shorten, to pacify gcc -Woverlength-strings
19903         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
19904         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
19905         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
19906         likely to run afoul of C compiler limits for string constant lengths.
19907         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19908
19909 2011-05-24  Eric Blake  <eblake@redhat.com>
19910
19911         docs: document recently fixed glibc printf bug
19912         * doc/posix-functions/fprintf.texi (fprintf): Document it.
19913         * doc/posix-functions/printf.texi (printf): Likewise.
19914         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19915         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19916
19917         closein-tests: convert to init.sh
19918         * modules/closein-tests (Files): Add init.sh
19919         * tests/test-closein.sh Use it.
19920
19921         yesno-tests: convert to init.sh
19922         * modules/yesno-tests (Files): Add init.sh.
19923         * tests/test-yesno.sh: Use it.
19924
19925         atexit-tests: ensure reliable exit status
19926         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
19927         Reported by Bruno Haible.
19928
19929 2011-05-24  Bruno Haible  <bruno@clisp.org>
19930
19931         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
19932         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
19933         gl_PREREQ_STRERROR_R invocations from here...
19934         * modules/strerror_r-posix (configure.ac): ... to here.
19935
19936 2011-05-24  Eric Blake  <eblake@redhat.com>
19937
19938         strerror_r: fix missing header
19939         * lib/strerror_r.c: Avoid compiler warning about snprintf.
19940
19941         strerror_r: fix AIX test failures
19942         * lib/strerror_r.c (strerror_r): Convert silent truncation to
19943         ERANGE failure.
19944
19945         strerror_r: fix Solaris test failures
19946         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
19947         failures.
19948         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
19949
19950         strerror_r: enforce POSIX recommendations
19951         * lib/strerror_r.c (safe_copy): New helper method.
19952         (strerror_r): Guarantee a non-empty string.
19953         * tests/test-strerror_r.c (main): Enhance tests to incorporate
19954         recent POSIX rulings and to match our strerror guarantees.
19955         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
19956
19957 2011-05-24  Jim Meyering  <meyering@redhat.com>
19958
19959         test-perror2.c: avoid warning about unused variable
19960         * tests/test-perror2.c (main): Remove declaration of unused "fp".
19961
19962 2011-05-24  Eric Blake  <eblake@redhat.com>
19963
19964         perror: avoid spurious test failure on HP-UX
19965         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
19966
19967         tests: fix logic bug in init.sh
19968         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
19969         shell.
19970
19971 2011-05-24  Jim Meyering  <meyering@redhat.com>
19972
19973         utimensat: do not reference an out-of-scope buffer
19974         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
19975         declared in an inner scope, yet "times" would be dereferenced outside
19976         the scope in which "ts" was valid.
19977         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
19978         of ts[2] "out/up", so that the use of aliased "times" (via
19979         "times = ts;") does not end up referencing an out-of-scope "ts"
19980
19981         opendir-safer.c: don't clobber errno; don't close negative FD
19982         * lib/opendir-safer.c (opendir_safer):
19983         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
19984         file descriptor, and more importantly, don't clobber the
19985         offending errno value with EINVAL.  Before, upon failure
19986         of dup_safer, we would pass the negative file descriptor to
19987         fdopendir, which would clobber errno.
19988
19989 2011-05-23  Bruno Haible  <bruno@clisp.org>
19990
19991         idcache: Fix module description.
19992         * modules/idcache (Include): Set to "idcache.h".
19993
19994 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
19995
19996         gnulib-tool: fix portability problem with MacOS sed
19997         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
19998         before the "}".  Problem reported by Leo in
19999         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
20000         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
20001         sed_extract_condition1, sed_extract_condition2.
20002
20003 2011-05-23  Bruno Haible  <bruno@clisp.org>
20004
20005         hash: Simplify autoconf macro.
20006         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
20007
20008 2011-05-23  Bruno Haible  <bruno@clisp.org>
20009
20010         getugroups: Fix module description.
20011         * modules/getugroups (Include): Set to "getugroups.h".
20012
20013 2011-05-23  Bruno Haible  <bruno@clisp.org>
20014
20015         linkat: Simplify autoconf macro.
20016         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
20017
20018 2011-05-23  Bruno Haible  <bruno@clisp.org>
20019             Eric Blake  <eblake@redhat.com>
20020
20021         linkat, renameat: Update dependencies.
20022         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
20023         * modules/linkat (Depends-on): Likewise. Remove also readlink,
20024         symlinkat.
20025
20026 2011-05-23  Jim Meyering  <meyering@redhat.com>
20027
20028         maint.mk: more tight_scope improvements
20029         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
20030         (_gl_TS_headers): Define only in if-0'd block.
20031         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
20032         sometimes we must *not* use it.  Adjust uses accordingly.
20033         (sc_tight_scope): Use much simpler grep-based test to determine
20034         whether we skip this rule.
20035
20036         maint.mk: generalize/improve the tight-scope rule
20037         * top/maint.mk: Emit a warning when the test is skipped.
20038         (_gl_TS_dir): Add $(srcdir)/ prefix.
20039         (_gl_TS_function_match): Simplify, rather than trying
20040         to enumerate common types.  Otherwise, it would fail to match an
20041         "extern unsigned char const *" declaration in idutils.
20042         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
20043         a way to support use of that type of macro.
20044         (_gl_TS_var_match): Simplify regexp.
20045         (_gl_TS_obj_files): New configurable variable.
20046         (_gl_TS_headers): Likewise.
20047
20048 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
20049
20050         verify: fix bug when gnulib <assert.h> is also included
20051         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
20052         is defined, not if _GL_STATIC_ASSERT_H is not defined.
20053         Perhaps there's a better way, but this fixes the immediate problem.
20054         Problem reported by Bruno Haible in
20055         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
20056
20057 2011-05-22  Bruno Haible  <bruno@clisp.org>
20058
20059         xgetcwd: Simplify autoconf macro.
20060         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
20061
20062 2011-05-22  Bruno Haible  <bruno@clisp.org>
20063
20064         New module 'mktime-internal'.
20065         * modules/mktime-internal: New file.
20066         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
20067         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
20068         mktime_internal as a C macro if libc has __mktime_internal.
20069         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
20070         conditions.
20071         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
20072
20073 2011-05-22  Bruno Haible  <bruno@clisp.org>
20074
20075         timegm: Correct mktime replacement statements.
20076         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
20077         defining mktime as a C macro. This completes a 2009-07-28 commit.
20078
20079 2011-05-22  Bruno Haible  <bruno@clisp.org>
20080
20081         timegm: Simplify autoconf macro.
20082         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
20083
20084 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
20085
20086         clock-time: change to LGPLv2+.
20087         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
20088         BSD-like but we have no mark for that; this is good enough for now.
20089
20090 2011-05-21  Bruno Haible  <bruno@clisp.org>
20091
20092         strerror_r: Fix comments.
20093         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
20094
20095 2011-05-21  Bruno Haible  <bruno@clisp.org>
20096
20097         relocatable-prog-wrapper: Fix possible link error.
20098         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
20099         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
20100         (gl_FUNC_SETENV): ... to here.
20101         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
20102         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
20103
20104 2011-05-21  Bruno Haible  <bruno@clisp.org>
20105
20106         relocatable-prog-wrapper: Assume strerror() exists.
20107         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
20108         m4/strerror.m4.
20109         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
20110         * lib/relocwrapper.c: Remove mention of strerror module.
20111         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
20112         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
20113         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
20114         C macro.
20115
20116 2011-05-21  Bruno Haible  <bruno@clisp.org>
20117
20118         select: Simplify replacement idiom.
20119         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
20120         Win32 platforms.
20121         * lib/sys_select.in.h (select): Simplify accordingly.
20122         * modules/select (Depends-on): Likewise.
20123
20124 2011-05-21  Bruno Haible  <bruno@clisp.org>
20125
20126         mkdir-p: Simplify autoconf macro.
20127         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
20128         gl_FUNC_LCHOWN.
20129
20130 2011-05-21  Eric Blake  <eblake@redhat.com>
20131
20132         strerror_r: avoid clobbering strerror on cygwin
20133         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
20134         fall back instead to sys_errlist.
20135         * modules/strerror (configure.ac): Add witness.
20136         * tests/test-strerror_r.c (main): Enhance test.
20137         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20138         * tests/test-perror2.c (main): Free memory before exit.
20139
20140 2011-05-21  Bruno Haible  <bruno@clisp.org>
20141
20142         mkdtemp: Use gnulib naming conventions.
20143         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
20144         * modules/mkdtemp (configure.ac): Update.
20145
20146 2011-05-20  Eric Blake  <eblake@redhat.com>
20147
20148         strerror_r: avoid corrupting errno on Solaris
20149         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
20150         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20151
20152         strerror_r: avoid compiler warning
20153         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
20154
20155         strerror_r: simplify AIX code
20156         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
20157
20158         test-perror: avoid spurious failure on FreeBSD
20159         * modules/perror-tests (Depends-on): Add strerror, now that
20160         strerror_r no longer pulls it in.
20161
20162 2011-05-20  Bruno Haible  <bruno@clisp.org>
20163
20164         strerror_r-posix: Remove unused dependencies.
20165         * modules/strerror_r-posix (Depends-on): Remove strerror.
20166         Reported by Eric Blake.
20167
20168 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
20169
20170         intprops: remove assumption about A|B representation
20171         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
20172         is a valid integer if both A and B are.  Although this is true for
20173         all known practical hosts, the C standard doesn't guarantee it,
20174         and the code need not assume it.  Also, this change may work around
20175         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
20176         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
20177
20178 2011-05-20  Eric Blake  <eblake@redhat.com>
20179
20180         perror: work around FreeBSD bug
20181         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
20182         is broken.  Move AC_LIBOBJ...
20183         * modules/perror (configure.ac): Here.
20184         * doc/posix-functions/perror.texi (perror): Document this.
20185         * tests/test-perror2.c (main): Enhance test.
20186
20187         test-perror: check for strerror interactions
20188         * tests/macros.h (STREQ): Add macro.
20189         * modules/perror-tests (Files): Add second test.
20190         * tests/test-perror2.c (main): New file.
20191         * doc/posix-functions/perror.texi (perror): Document glibc bug.
20192
20193         test-perror: rewrite to use init script
20194         * modules/perror-tests (Files): Add init.sh.
20195         * tests/test-perror.sh: Use temporary directory.
20196
20197 2011-05-20  Jim Meyering  <meyering@redhat.com>
20198
20199         maint: replace misused "a" with "an"
20200         * doc/intprops.texi: "a integer"
20201         * doc/regex.texi: "a explanation"
20202         * lib/alignof.h: "a object"
20203         * lib/argmatch.h: "a explanation"
20204         * lib/argp-help.c: "a option" and "a OPTION_DOC"
20205         * lib/stdint.in.h: "a integer"
20206         * lib/userspec.c: "a owner"
20207         * doc/gnulib.texi: Fix "a idea", and reword.
20208
20209 2011-05-19  Jim Meyering  <meyering@redhat.com>
20210
20211         maint: correct misuse of "a" and "an"
20212         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
20213         * lib/argp-help.c: "an docum...": s/an/a/
20214         * lib/argp-parse.c: "An vector": s/An/A/
20215         * lib/execute.c: "an native": s/an/a/
20216         * lib/spawn-pipe.c: Likewise.
20217         * lib/gc.h: "an Gc_rc": s/an/a/
20218         * lib/unigbrk.in.h: "an grapheme": s/an/a/
20219         * lib/fts.c: "an stat.st_dev": s/an/a/
20220
20221 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20222
20223         intprops-tests: work around HP-UX 11.23 cc bug with constants
20224         * tests/test-intprops.c (VERIFY): New macro.
20225         (main): Use it, instead of verify, to work around the compiler bug; see
20226         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20227
20228         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
20229         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
20230         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
20231         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
20232         (_GL_REMAINDER_OVERFLOW): Use it.
20233
20234         intprops-tests: revert unsigned part of previous change
20235         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
20236         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
20237         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
20238         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
20239
20240 2011-05-19  Bruno Haible  <bruno@clisp.org>
20241
20242         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
20243         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
20244         strerror_r() returned without filling the buffer.
20245         Reported by Eric Blake.
20246
20247 2011-05-19  Eric Blake  <eblake@redhat.com>
20248
20249         strerror_r: guarantee unchanged errno
20250         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
20251         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
20252         failure.
20253         * tests/test-strerror_r.c (main): Enhance test.
20254
20255 2011-05-19  Bruno Haible  <bruno@clisp.org>
20256
20257         strerror_r: Reorder #if blocks.
20258         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
20259         for consistency with the previous commit.
20260
20261 2011-05-19  Bruno Haible  <bruno@clisp.org>
20262
20263         perror: Avoid clobbering the strerror buffer when possible.
20264         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
20265         * lib/strerror.c: Include it.
20266         * modules/strerror (Files): Add lib/strerror-impl.h.
20267         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
20268         (my_strerror): New function, defined through lib/strerror-impl.h.
20269         (perror): Use it instead of strerror.
20270         * modules/perror (Files): Add lib/strerror-impl.h.
20271         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
20272
20273 2011-05-19  Eric Blake  <eblake@redhat.com>
20274
20275         strerror_r: fix on newer cygwin
20276         * lib/strerror_r.c (strerror_r): Cygwin now has
20277         __xpg_strerror_r, use it.
20278
20279 2011-05-19  Bruno Haible  <bruno@clisp.org>
20280
20281         strerror_r: Avoid clobbering the strerror buffer when possible.
20282         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
20283         (sys_nerr, sys_errlist): New declarations.
20284         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
20285         HP-UX, native Win32, IRIX, and 32-bit Solaris.
20286         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
20287
20288 2011-05-19  Bruno Haible  <bruno@clisp.org>
20289
20290         strerror_r: Fix test failure on mingw.
20291         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
20292         EXTEND_STRERROR_R.
20293         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
20294         macros from errno.in.h instead.
20295
20296 2011-05-19  Eric Blake  <eblake@redhat.com>
20297
20298         strerror: relax test for Solaris
20299         * tests/test-strerror.c (main): Permit Solaris behavior.
20300         * tests/test-strerror_r.c (main): Likewise.
20301
20302         strerror: enforce POSIX ruling on strerror(0)
20303         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
20304         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20305         * lib/strerror_r.c (rpl_strerror_r): Work around it.
20306         * doc/posix-functions/strerror.texi (strerror): Document it.
20307         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
20308         * tests/test-strerror.c (main): Strengthen test.
20309         * tests/test-strerror_r.c (main): Likewise.
20310
20311 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20312
20313         intprop-tests: port to older and more-pedantic compilers
20314         * modules/intprops-tests (Files): Add tests/macros.h.
20315         * tests/test-intprops.c: Include macros.h.
20316         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
20317         it's no longer documented to expand to an integer constant expression.
20318         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
20319         argument is floating point, as it's no longer documented to expand
20320         to an integer constant expression in that case.
20321         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
20322         compiler bugs reported by Bruno Haible.  See
20323         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20324         (U0, U1): New constants, to work around the same bugs.  Also,
20325         in tests, use e.g., "(unsigned int) 39" rather than "39u".
20326
20327         intprops: work around C compiler bugs
20328         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
20329         bug in Sun C 5.11 2010/08/13 and other compilers; see
20330         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20331
20332         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
20333         * doc/intprops.texi (Integer Type Determination): Fix
20334         documentation for TYPE_IS_INTEGER: it returns an constant
20335         expression, not an integer constant expression.  Fix doc for
20336         TYPE_SIGNED: it returns an integer constant expression only if its
20337         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
20338         hardly worth documented that way....)
20339
20340 2011-05-18  Bruno Haible  <bruno@clisp.org>
20341
20342         strerror_r: Avoid clobbering the strerror buffer when possible.
20343         * lib/strerror_r.c (strerror_r): Merge the three implementations.
20344         Handle gnulib defined errno values here. When strerror() returns NULL
20345         or an empty string, return EINVAL.
20346         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
20347         gnulib defined errno values here.
20348         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
20349
20350 2011-05-18  Eric Blake  <eblake@redhat.com>
20351
20352         fnmatch: avoid compiler warning
20353         * lib/fnmatch_loop.c (FCT): Use correct type.
20354         Reported by Matthias Bolte.
20355
20356 2011-05-13  Jim Meyering  <meyering@redhat.com>
20357
20358         maint.mk: three new prohibit_<HDR>_without_use rules
20359         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
20360         (sc_prohibit_stdio-safer_without_use): Likewise.
20361         (sc_prohibit_xfreopen_without_use): Likewise.
20362
20363 2011-05-17  Jim Meyering  <meyering@redhat.com>
20364
20365         announce-gen: fail if the NEWS delta is empty
20366         If there's nothing noteworthy in NEWS, then either you forgot
20367         or you shouldn't be releasing.
20368         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
20369
20370 2011-05-17  Pádraig Brady <P@draigBrady.com>
20371
20372         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
20373         reserved symbols starting with double underscore from the check.
20374
20375 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
20376
20377         intprops: add doc
20378         * doc/intprops.texi: New file, documenting intprops.
20379         * doc/gnulib.texi (Particular Modules): Include it.
20380
20381         verify: add doc to gnulib manual and fix example
20382         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
20383         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
20384         (Compile-time Assertions): Fix example so it can't overflow.
20385
20386 2011-05-17  Jim Meyering  <meyering@redhat.com>
20387
20388         warnings.m4: don't usurp save_CPPFLAGS variable name
20389         * m4/warnings.m4: Prefix local temporary variable name with gl_.
20390
20391         doc: fix typo
20392         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
20393
20394 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20395             Bruno Haible  <bruno@clisp.org>
20396
20397         doc: Tweak recent change.
20398         * README (Portability guidelines): Tweak new text.
20399         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
20400         Interix 6.1.
20401
20402 2011-05-16  Eric Blake  <eblake@redhat.com>
20403
20404         inttypes: avoid autoconf warning
20405         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
20406         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20407
20408 2011-05-16  Sam Steingold <sds@gnu.org>
20409         and Eric Blake  <eblake@redhat.com>
20410
20411         vc-list-files: accept multiple directory operands
20412         * build-aux/vc-list-files: Iterate over all remaining operands.
20413
20414 2011-05-16  Bruno Haible  <bruno@clisp.org>
20415
20416         Fix confusion regarding deprecated modules.
20417         * modules/calloc (Status, Notice): Mark module as deprecated, not
20418         obsolete.
20419         * modules/fnmatch-posix (Status, Notice): Likewise.
20420         * modules/getdate (Status, Notice): Likewise.
20421         * modules/getopt (Status, Notice): Likewise.
20422         * modules/malloc (Status, Notice): Likewise.
20423         * modules/pipe (Status, Notice): Likewise.
20424         * modules/realloc (Status, Notice): Likewise.
20425         * modules/rename-dest-slash (Status, Notice): Likewise.
20426         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
20427         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
20428         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
20429         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
20430         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
20431
20432 2011-05-16  Bruno Haible  <bruno@clisp.org>
20433
20434         doc: List the target platforms.
20435         * doc/gnulib-intro.texi (Target Platforms): New section.
20436         * doc/gnulib.texi (Introduction): Update menu.
20437         * README (Portability guidelines): Refer to the new section. Update
20438         statement about oldest supported environment. Remove rationale why
20439         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
20440         unportable C89 function.
20441         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
20442         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
20443
20444 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20445
20446         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
20447
20448 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
20449
20450         intprops-tests: new module
20451         * modules/intprops-tests, tests/test-intprops.c: New files.
20452
20453         intprops: add safe, portable integer overflow checking
20454         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
20455         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
20456         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
20457         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
20458         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
20459         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
20460         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
20461         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
20462         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
20463         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
20464         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
20465
20466 2011-05-12  James Youngman  <jay@gnu.org>
20467
20468         Add a test for glibc's Bugzilla bug #12378.
20469         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
20470         doesn't allow the literal matching of a lone "[" (which is
20471         required by POSIX).
20472         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
20473
20474 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
20475
20476         Sync glibc change fixing Bugzilla bug #12378.
20477         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
20478         beginning and fall back to matching as normal character if the
20479         string ends before the matching ']' is found.  This is what POSIX
20480         requires.
20481
20482 2011-05-13  Eric Blake  <eblake@redhat.com>
20483
20484         getcwd-lgpl: relax test for FreeBSD
20485         * doc/posix-functions/getcwd.texi (getcwd): Document portability
20486         issue.
20487         * tests/test-getcwd-lgpl.c (main): Relax test.
20488         Reported by Matthias Bolte.
20489
20490 2011-05-11  Eric Blake  <eblake@redhat.com>
20491
20492         test-fflush: silence compiler warning
20493         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
20494
20495 2011-05-11  Bruno Haible  <bruno@clisp.org>
20496
20497         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
20498         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
20499         * modules/canonicalize (Depends-on): Add 'nocrash'.
20500         * modules/canonicalize-lgpl (Depends-on): Likewise.
20501         * doc/posix-functions/realpath.texi: Update platforms list.
20502         Reported by Ryan Schmidt <ryandesign@macports.org>.
20503
20504 2011-05-11  Bruno Haible  <bruno@clisp.org>
20505
20506         group-member: Declare function in <unistd.h>.
20507         * lib/unistd.in.h (group_member): New declaration.
20508         * lib/group-member.h: Remove file.
20509         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
20510         * tests/test-unistd-c++.cc: Check signature of group_member.
20511         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
20512         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
20513         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
20514         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
20515         HAVE_GROUP_MEMBER.
20516         * modules/group-member (Files): Remove lib/group-member.h.
20517         (Depends-on): Add unistd. Specify conditions.
20518         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20519         (Include): Change to <unistd.h>.
20520         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
20521         HAVE_GROUP_MEMBER.
20522         * NEWS: Mention the change.
20523         * lib/euidaccess.c: Don't include group-member.h.
20524
20525 2011-05-11  Bruno Haible  <bruno@clisp.org>
20526
20527         group-member: Document module.
20528         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
20529         module.
20530
20531 2011-05-11  Bruno Haible  <bruno@clisp.org>
20532
20533         fclose: Fix mistake earlier today.
20534         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
20535
20536 2011-05-11  Eric Blake  <eblake@redhat.com>
20537
20538         fclose: preserve fflush errors
20539         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
20540         Reported by Jim Meyering.
20541
20542         bootstrap: support a prereq of 'rpcgen -' on RHEL5
20543         * build-aux/bootstrap (check_versions): When no specific version
20544         is required, merely check that the app produces an exit status
20545         that indicates its existence.
20546
20547         maint.mk: drop redundant check
20548         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
20549         the same but better.
20550
20551 2011-05-11  Bruno Haible  <bruno@clisp.org>
20552
20553         fclose: Fix possible link error.
20554         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
20555         unregister_shadow_fd. Improve comments.
20556         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
20557         Eric Blake.
20558
20559 2011-05-11  Jim Meyering  <meyering@redhat.com>
20560
20561         maint.mk: improve "can not" detection and generalize rule name
20562         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
20563         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
20564         Use the same technique as in sc_prohibit_doubled_word, so that
20565         we recognize "can not" also when the words are separated by a newline.
20566         Suggested by Eric Blake.
20567         (perl_filename_lineno_text_): Define.  Factored out of...
20568         (prohibit_doubled_word_): ...here.  Use the new definition.
20569         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
20570         (prohibit_undesirable_word_seq_RE_): New overridable variable.
20571         (ignore_undesirable_word_sequence_RE_): New overridable variable.
20572
20573 2011-05-10  Eric Blake  <eblake@redhat.com>
20574
20575         fclose: avoid double close race when possible
20576         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
20577         all but WINDOWS_SOCKETS.
20578
20579 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
20580
20581         openat: correct new comment
20582         * lib/openat-proc.c (openat_proc_name): Correct the comment.
20583
20584 2011-05-10  Jim Meyering  <meyering@redhat.com>
20585
20586         openat: add comments
20587         * lib/openat-proc.c (openat_proc_name): Add comments,
20588         mostly from Eric Blake.
20589
20590 2011-05-09  Eric Blake  <eblake@redhat.com>
20591
20592         openat: reduce syscalls in first probe of /proc
20593         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
20594         be a directory.  Simplify the probe for .. bugs.
20595         * modules/openat (Depends-on): Drop same-inode.
20596         Reported by Bastien ROUCARIES.
20597
20598 2011-05-09  Jim Meyering  <meyering@redhat.com>
20599
20600         maint.mk: change semantics/name of tight_scope variables
20601         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
20602         Rename variables to align with semantics that make them more useful.
20603
20604         maint.mk: tweak new rule's name not to impinge
20605         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
20606         (sc_tight_scope): Use new rule name rather than $@-0.
20607
20608         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
20609         * top/maint.mk (sc_tight_scope): New rule.
20610         (sc_tight_scope-0): New rule, ifdef'd out.
20611         (_gl_TS_dir): Default.
20612         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
20613         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
20614
20615 2011-05-09  Simon Josefsson  <simon@josefsson.org>
20616
20617         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
20618         Haible <bruno@clisp.org>.
20619
20620 2011-05-08  Bruno Haible  <bruno@clisp.org>
20621
20622         Comments.
20623         * m4/isnanf.m4: Add comment.
20624         * m4/isnanl.m4: Likewise.
20625
20626 2011-05-08  Bruno Haible  <bruno@clisp.org>
20627
20628         glob: Remove obsolete macro.
20629         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
20630
20631 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
20632
20633         intprops: Sun C 5.11 supports __typeof__
20634         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
20635         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
20636         which is new.
20637         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
20638
20639         intprops: switch to usual gnulib indenting and naming
20640         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
20641         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
20642
20643         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
20644
20645 2011-05-08  Jim Meyering  <meyering@redhat.com>
20646
20647         maint.mk: suppress "Entering/Leaving directory" diag in announcement
20648         * top/maint.mk (release-prep): Use make's --no-print-directory
20649         option when generating the announcement.  This eliminates the
20650         pesky "make[2]: Entering/Leaving directory" diagnostics in the
20651         generated announcement template.
20652
20653 2011-05-08  Bruno Haible  <bruno@clisp.org>
20654
20655         tzset: Fix gettimeofday wrapper on Solaris 2.6.
20656         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
20657         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
20658
20659 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
20660
20661         ignore-value, verify: Omit include files from lib_SOURCES.
20662         * modules/ignore-value, modules/verify (Makefile.am):
20663         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
20664         that leads Automake to duplicate use of am__objects_... variables
20665         in Makefile.in.  See
20666         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
20667
20668 2011-05-07  Bruno Haible  <bruno@clisp.org>
20669
20670         fclose: Simplify autoconf macro.
20671         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
20672         defined.
20673
20674 2011-05-07  Bruno Haible  <bruno@clisp.org>
20675
20676         canonicalize-lgpl: Fix autoconf macro ordering bug.
20677         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
20678         gl_STDLIB_H_DEFAULTS.
20679
20680 2011-05-06  Eric Blake  <eblake@redhat.com>
20681
20682         maintainer-makefile: make sc_po_check easier to tune
20683         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
20684         to probe for strings, such as an alternate location for gnulib.
20685
20686         fclose: guarantee behavior on seekable stdin
20687         * modules/fclose (Depends-on): Add fflush.
20688         * doc/posix-functions/fclose.texi (fclose): Document this.
20689         * tests/test-fclose.c (main): Make test for this unconditional.
20690
20691 2011-05-06  Bruno Haible  <bruno@clisp.org>
20692
20693         fflush, fpurge: Relicense under LGPLv2+.
20694         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
20695         * modules/fpurge (License): Likewise.
20696         With permission from Eric Blake and Jim Meyering.
20697         Suggested by Eric Blake.
20698
20699 2011-05-06  Karl Berry  <karl@gnu.org>
20700
20701         * MODULES.html.sh (func_all_modules): remove exit.
20702
20703 2011-05-06  Jim Meyering  <meyering@redhat.com>
20704
20705         maint.mk: use info-gnu@ as the default only for a stable release
20706         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
20707         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
20708         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
20709         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
20710
20711 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20712
20713         assert-h: new module, which supports C1X-style static_assert
20714         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
20715         * lib/verify.h: Revamp so that this can be copied into assert.h,
20716         while retaining the ability to use it standalone as before.
20717         Rename private identifiers so as not to encroach on the
20718         standard C namespace, since this is now used by assert.h.
20719         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
20720         the old verify_true.
20721         (_GL_VERIFY_TRUE): New macro, with much of the contents of
20722         the old verify_true.  Use _GL_VERIFY_TYPE.
20723         (_GL_VERIFY): New macro, with much of the contents of the old verify.
20724         (static_assert): New macro, if _GL_STATIC_ASSERT_H
20725         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
20726         defined when this file is copied into the replacement assert.h.
20727         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
20728         and _Static_assert is not built in.
20729         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
20730         defined, and use the new macros mentioned above.
20731         * doc/posix-headers/assert.texi: Document this.
20732
20733 2011-05-05  Bruno Haible  <bruno@clisp.org>
20734
20735         fclose, fflush: Respect rules for use of AC_LIBOBJ.
20736         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
20737         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
20738         gl_REPLACE_FCLOSE here.
20739         * modules/fflush (Depends-on): Remove fclose.
20740         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
20741         combination with module 'fclose'.
20742
20743 2011-05-05  Bruno Haible  <bruno@clisp.org>
20744
20745         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
20746         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
20747         gl_FUNC_FFLUSH.
20748         (gl_FUNC_FFLUSH): Use it.
20749         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
20750         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
20751         gl_REPLACE_FSEEKO here.
20752
20753 2011-05-05  Bruno Haible  <bruno@clisp.org>
20754
20755         tzset: Relicense under LGPL.
20756         * modules/tzset (License): Change to LGPL.
20757         No agreement needed; it's a no-op.
20758
20759         strtoimax, strtoumax: Relicense under LGPL.
20760         * modules/strtoimax (License): Change to LGPL.
20761         * modules/strtoumax (License): Likewise.
20762         With permission from Jim Meyering, Paul Eggert:
20763         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
20764         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
20765
20766         getgroups: Relicense under LGPL.
20767         * modules/getgroups (License): Change to LGPL.
20768         With permission from Jim Meyering, Paul Eggert, Eric Blake:
20769         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20770         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20771         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20772
20773         nanosleep: Relicense under LGPL.
20774         * modules/nanosleep (License): Change to LGPL.
20775         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
20776         Haible:
20777         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20778         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20779         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20780         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20781
20782         futimens: Relicense under LGPL.
20783         * modules/futimens (License): Change to LGPL.
20784         With permission from Eric Blake:
20785         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20786
20787         fflush: Relicense under LGPL.
20788         * modules/fflush (License): Change to LGPL.
20789         With permission from Eric Blake, Bruno Haible, Jim Meyering:
20790         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20791         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20792         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
20793
20794         tmpfile: Relicense under LGPL.
20795         * modules/tmpfile (License): Change to LGPL.
20796         With permission from Ben Pfaff:
20797         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20798
20799         isfinite: Relicense under LGPL.
20800         * modules/isfinite (License): Change to LGPL.
20801         With permission from Ben Pfaff, Bruno Haible:
20802         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20803         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
20804
20805         acosl..tanl: Relicense under LGPL.
20806         * modules/acosl (License): Change to LGPL.
20807         * modules/asinl (License): Likewise.
20808         * modules/atanl (License): Likewise.
20809         * modules/cosl (License): Likewise.
20810         * modules/expl (License): Likewise.
20811         * modules/logl (License): Likewise.
20812         * modules/sinl (License): Likewise.
20813         * modules/sqrtl (License): Likewise.
20814         * modules/tanl (License): Likewise.
20815         Source code originally from glibc and Paolo Bonzini. Agreements:
20816         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
20817         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
20818
20819 2011-05-05  Bruno Haible  <bruno@clisp.org>
20820
20821         signal: Define sighandler_t.
20822         * lib/signal.in.h (sighandler_t): New type.
20823         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
20824         whether sighandler_t is defined.
20825         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
20826         * modules/signal (Depends-on): Add extensions.
20827         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
20828         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
20829         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
20830
20831 2011-05-05  Eric Blake  <eblake@redhat.com>
20832
20833         maint: remove useless REPLACE_*_H macros
20834         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
20835         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
20836         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
20837         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
20838         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
20839         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
20840         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
20841         * m4/btowc.m4: Update callers.
20842         * m4/dirfd.m4: Likewise.
20843         * m4/duplocale.m4: Likewise.
20844         * m4/fchdir.m4: Likewise.
20845         * m4/fdopendir.m4: Likewise.
20846         * m4/inet_ntop.m4: Likewise.
20847         * m4/inet_pton.m4: Likewise.
20848         * m4/ioctl.m4: Likewise.
20849         * m4/mbrlen.m4: Likewise.
20850         * m4/mbrtowc.m4: Likewise.
20851         * m4/mbsinit.m4: Likewise.
20852         * m4/mbsnrtowcs.m4: Likewise.
20853         * m4/mbsrtowcs.m4: Likewise.
20854         * m4/poll.m4: Likewise.
20855         * m4/setlocale.m4: Likewise.
20856         * m4/wcrtomb.m4: Likewise.
20857         * m4/wcsnrtombs.m4: Likewise.
20858         * m4/wcsrtombs.m4: Likewise.
20859         * m4/wctob.m4: Likewise.
20860         * m4/wcwidth.m4: Likewise.
20861         * modules/posix_spawn: Likewise.
20862         * modules/posix_spawn_file_actions_addclose: Likewise.
20863         * modules/posix_spawn_file_actions_adddup2: Likewise.
20864         * modules/posix_spawn_file_actions_addopen: Likewise.
20865         * modules/posix_spawn_file_actions_destroy: Likewise.
20866         * modules/posix_spawn_file_actions_init: Likewise.
20867         * modules/posix_spawnattr_destroy: Likewise.
20868         * modules/posix_spawnattr_getflags: Likewise.
20869         * modules/posix_spawnattr_getpgroup: Likewise.
20870         * modules/posix_spawnattr_getschedparam: Likewise.
20871         * modules/posix_spawnattr_getschedpolicy: Likewise.
20872         * modules/posix_spawnattr_getsigdefault: Likewise.
20873         * modules/posix_spawnattr_getsigmask: Likewise.
20874         * modules/posix_spawnattr_init: Likewise.
20875         * modules/posix_spawnattr_setflags: Likewise.
20876         * modules/posix_spawnattr_setpgroup: Likewise.
20877         * modules/posix_spawnattr_setschedparam: Likewise.
20878         * modules/posix_spawnattr_setschedpolicy: Likewise.
20879         * modules/posix_spawnattr_setsigdefault: Likewise.
20880         * modules/posix_spawnattr_setsigmask: Likewise.
20881         * modules/posix_spawnp: Likewise.
20882
20883 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
20884
20885         Add option to do-release-commit-and-tag to specify branch.
20886         * build-aux/do-release-commit-and-tag: Add --branch.
20887
20888 2011-05-03  Bruno Haible  <bruno@clisp.org>
20889
20890         Avoid unnecessary compilation units, through conditional dependencies.
20891         * modules/accept (Depends-on): Add conditions to the dependencies.
20892         * modules/acosl (Depends-on): Likewise.
20893         * modules/argz (Depends-on): Likewise.
20894         * modules/asinl (Depends-on): Likewise.
20895         * modules/atanl (Depends-on): Likewise.
20896         * modules/atoll (Depends-on): Likewise.
20897         * modules/bind (Depends-on): Likewise.
20898         * modules/btowc (Depends-on): Likewise.
20899         * modules/canonicalize-lgpl (Depends-on): Likewise.
20900         * modules/ceil (Depends-on): Likewise.
20901         * modules/ceilf (Depends-on): Likewise.
20902         * modules/ceill (Depends-on): Likewise.
20903         * modules/chdir-long (Depends-on): Likewise.
20904         * modules/chown (Depends-on): Likewise.
20905         * modules/close (Depends-on): Likewise.
20906         * modules/connect (Depends-on): Likewise.
20907         * modules/cosl (Depends-on): Likewise.
20908         * modules/dirfd (Depends-on): Likewise.
20909         * modules/dprintf (Depends-on): Likewise.
20910         * modules/dprintf-posix (Depends-on): Likewise.
20911         * modules/error (Depends-on): Likewise.
20912         * modules/euidaccess (Depends-on): Likewise.
20913         * modules/expl (Depends-on): Likewise.
20914         * modules/faccessat (Depends-on): Likewise.
20915         * modules/fchdir (Depends-on): Likewise.
20916         * modules/fclose (Depends-on): Likewise.
20917         * modules/fcntl (Depends-on): Likewise.
20918         * modules/fdopendir (Depends-on): Likewise.
20919         * modules/fflush (Depends-on): Likewise.
20920         * modules/floor (Depends-on): Likewise.
20921         * modules/floorf (Depends-on): Likewise.
20922         * modules/floorl (Depends-on): Likewise.
20923         * modules/fnmatch (Depends-on): Likewise.
20924         * modules/fopen (Depends-on): Likewise.
20925         * modules/fprintf-posix (Depends-on): Likewise.
20926         * modules/frexp (Depends-on): Likewise.
20927         * modules/frexp-nolibm (Depends-on): Likewise.
20928         * modules/frexpl (Depends-on): Likewise.
20929         * modules/frexpl-nolibm (Depends-on): Likewise.
20930         * modules/fseek (Depends-on): Likewise.
20931         * modules/fsusage (Depends-on): Likewise.
20932         * modules/ftell (Depends-on): Likewise.
20933         * modules/ftello (Depends-on): Likewise.
20934         * modules/futimens (Depends-on): Likewise.
20935         * modules/getcwd (Depends-on): Likewise.
20936         * modules/getcwd-lgpl (Depends-on): Likewise.
20937         * modules/getdelim (Depends-on): Likewise.
20938         * modules/getdomainname (Depends-on): Likewise.
20939         * modules/getgroups (Depends-on): Likewise.
20940         * modules/gethostname (Depends-on): Likewise.
20941         * modules/getline (Depends-on): Likewise.
20942         * modules/getlogin_r (Depends-on): Likewise.
20943         * modules/getopt-posix (Depends-on): Likewise.
20944         * modules/getpeername (Depends-on): Likewise.
20945         * modules/getsockname (Depends-on): Likewise.
20946         * modules/getsockopt (Depends-on): Likewise.
20947         * modules/getsubopt (Depends-on): Likewise.
20948         * modules/getusershell (Depends-on): Likewise.
20949         * modules/glob (Depends-on): Likewise.
20950         * modules/grantpt (Depends-on): Likewise.
20951         * modules/iconv_open (Depends-on): Likewise.
20952         * modules/iconv_open-utf (Depends-on): Likewise.
20953         * modules/inet_ntop (Depends-on): Likewise.
20954         * modules/inet_pton (Depends-on): Likewise.
20955         * modules/ioctl (Depends-on): Likewise.
20956         * modules/isapipe (Depends-on): Likewise.
20957         * modules/isfinite (Depends-on): Likewise.
20958         * modules/isinf (Depends-on): Likewise.
20959         * modules/lchown (Depends-on): Likewise.
20960         * modules/ldexpl (Depends-on): Likewise.
20961         * modules/link (Depends-on): Likewise.
20962         * modules/linkat (Depends-on): Likewise.
20963         * modules/listen (Depends-on): Likewise.
20964         * modules/logl (Depends-on): Likewise.
20965         * modules/lstat (Depends-on): Likewise.
20966         * modules/mbrlen (Depends-on): Likewise.
20967         * modules/mbrtowc (Depends-on): Likewise.
20968         * modules/mbsinit (Depends-on): Likewise.
20969         * modules/mbsnrtowcs (Depends-on): Likewise.
20970         * modules/mbsrtowcs (Depends-on): Likewise.
20971         * modules/mbtowc (Depends-on): Likewise.
20972         * modules/memcmp (Depends-on): Likewise.
20973         * modules/mkdir (Depends-on): Likewise.
20974         * modules/mkdtemp (Depends-on): Likewise.
20975         * modules/mkfifo (Depends-on): Likewise.
20976         * modules/mkfifoat (Depends-on): Likewise.
20977         * modules/mknod (Depends-on): Likewise.
20978         * modules/mkostemp (Depends-on): Likewise.
20979         * modules/mkostemps (Depends-on): Likewise.
20980         * modules/mkstemp (Depends-on): Likewise.
20981         * modules/mkstemps (Depends-on): Likewise.
20982         * modules/mktime (Depends-on): Likewise.
20983         * modules/nanosleep (Depends-on): Likewise.
20984         * modules/open (Depends-on): Likewise.
20985         * modules/openat (Depends-on): Likewise.
20986         * modules/perror (Depends-on): Likewise.
20987         * modules/poll (Depends-on): Likewise.
20988         * modules/popen (Depends-on): Likewise.
20989         * modules/posix_spawn (Depends-on): Likewise.
20990         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
20991         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
20992         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
20993         * modules/posix_spawnp (Depends-on): Likewise.
20994         * modules/pread (Depends-on): Likewise.
20995         * modules/printf-posix (Depends-on): Likewise.
20996         * modules/ptsname (Depends-on): Likewise.
20997         * modules/putenv (Depends-on): Likewise.
20998         * modules/pwrite (Depends-on): Likewise.
20999         * modules/readline (Depends-on): Likewise.
21000         * modules/readlink (Depends-on): Likewise.
21001         * modules/readlinkat (Depends-on): Likewise.
21002         * modules/recv (Depends-on): Likewise.
21003         * modules/recvfrom (Depends-on): Likewise.
21004         * modules/regex (Depends-on): Likewise.
21005         * modules/remove (Depends-on): Likewise.
21006         * modules/rename (Depends-on): Likewise.
21007         * modules/renameat (Depends-on): Likewise.
21008         * modules/rmdir (Depends-on): Likewise.
21009         * modules/round (Depends-on): Likewise.
21010         * modules/roundf (Depends-on): Likewise.
21011         * modules/roundl (Depends-on): Likewise.
21012         * modules/rpmatch (Depends-on): Likewise.
21013         * modules/select (Depends-on): Likewise.
21014         * modules/send (Depends-on): Likewise.
21015         * modules/sendto (Depends-on): Likewise.
21016         * modules/setenv (Depends-on): Likewise.
21017         * modules/setlocale (Depends-on): Likewise.
21018         * modules/setsockopt (Depends-on): Likewise.
21019         * modules/shutdown (Depends-on): Likewise.
21020         * modules/sigaction (Depends-on): Likewise.
21021         * modules/signbit (Depends-on): Likewise.
21022         * modules/sigprocmask (Depends-on): Likewise.
21023         * modules/sinl (Depends-on): Likewise.
21024         * modules/sleep (Depends-on): Likewise.
21025         * modules/snprintf (Depends-on): Likewise.
21026         * modules/snprintf-posix (Depends-on): Likewise.
21027         * modules/socket (Depends-on): Likewise.
21028         * modules/sprintf-posix (Depends-on): Likewise.
21029         * modules/sqrtl (Depends-on): Likewise.
21030         * modules/stat (Depends-on): Likewise.
21031         * modules/strchrnul (Depends-on): Likewise.
21032         * modules/strdup-posix (Depends-on): Likewise.
21033         * modules/strerror (Depends-on): Likewise.
21034         * modules/strerror_r-posix (Depends-on): Likewise.
21035         * modules/strndup (Depends-on): Likewise.
21036         * modules/strnlen (Depends-on): Likewise.
21037         * modules/strptime (Depends-on): Likewise.
21038         * modules/strsep (Depends-on): Likewise.
21039         * modules/strsignal (Depends-on): Likewise.
21040         * modules/strstr-simple (Depends-on): Likewise.
21041         * modules/strtod (Depends-on): Likewise.
21042         * modules/strtoimax (Depends-on): Likewise.
21043         * modules/strtok_r (Depends-on): Likewise.
21044         * modules/strtoumax (Depends-on): Likewise.
21045         * modules/symlink (Depends-on): Likewise.
21046         * modules/symlinkat (Depends-on): Likewise.
21047         * modules/tanl (Depends-on): Likewise.
21048         * modules/tcgetsid (Depends-on): Likewise.
21049         * modules/tmpfile (Depends-on): Likewise.
21050         * modules/trunc (Depends-on): Likewise.
21051         * modules/truncf (Depends-on): Likewise.
21052         * modules/truncl (Depends-on): Likewise.
21053         * modules/uname (Depends-on): Likewise.
21054         * modules/unlink (Depends-on): Likewise.
21055         * modules/unlockpt (Depends-on): Likewise.
21056         * modules/unsetenv (Depends-on): Likewise.
21057         * modules/usleep (Depends-on): Likewise.
21058         * modules/utimensat (Depends-on): Likewise.
21059         * modules/vasprintf (Depends-on): Likewise.
21060         * modules/vdprintf (Depends-on): Likewise.
21061         * modules/vdprintf-posix (Depends-on): Likewise.
21062         * modules/vfprintf-posix (Depends-on): Likewise.
21063         * modules/vprintf-posix (Depends-on): Likewise.
21064         * modules/vsnprintf (Depends-on): Likewise.
21065         * modules/vsnprintf-posix (Depends-on): Likewise.
21066         * modules/vsprintf-posix (Depends-on): Likewise.
21067         * modules/wcrtomb (Depends-on): Likewise.
21068         * modules/wcscasecmp (Depends-on): Likewise.
21069         * modules/wcscspn (Depends-on): Likewise.
21070         * modules/wcsdup (Depends-on): Likewise.
21071         * modules/wcsncasecmp (Depends-on): Likewise.
21072         * modules/wcsnrtombs (Depends-on): Likewise.
21073         * modules/wcspbrk (Depends-on): Likewise.
21074         * modules/wcsrtombs (Depends-on): Likewise.
21075         * modules/wcsspn (Depends-on): Likewise.
21076         * modules/wcsstr (Depends-on): Likewise.
21077         * modules/wcstok (Depends-on): Likewise.
21078         * modules/wcswidth (Depends-on): Likewise.
21079         * modules/wctob (Depends-on): Likewise.
21080         * modules/wctomb (Depends-on): Likewise.
21081         * modules/wctype (Depends-on): Likewise.
21082         * modules/wcwidth (Depends-on): Likewise.
21083         * modules/write (Depends-on): Likewise.
21084
21085 2011-05-03  Bruno Haible  <bruno@clisp.org>
21086
21087         Support for conditional dependencies.
21088         * doc/gnulib.texi (Module description): Document the syntax of
21089         conditional dependencies.
21090         * gnulib-tool: New option --conditional-dependencies.
21091         (func_usage): Document it.
21092         (cond_dependencies): New variable.
21093         (func_get_automake_snippet_conditional,
21094         func_get_automake_snippet_unconditional): New functions, extracted from
21095         func_get_automake_snippet.
21096         (func_get_automake_snippet): Use them.
21097         (sed_first_32_chars): New variable.
21098         (func_module_shellfunc_name): New function.
21099         (func_module_shellvar_name): New function.
21100         (func_module_conditional_name): New function.
21101         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
21102         func_cond_module_condition): New functions.
21103         (func_modules_transitive_closure): Add support for conditional
21104         dependencies.
21105         (func_emit_lib_Makefile_am): For a conditional module, enclose the
21106         conditional automake snippet in an automake conditional.
21107         (func_emit_autoconf_snippets): Emit shell functions that contain the
21108         code for conditional modules.
21109         (func_import, func_create_testdir): Update specification.
21110
21111 2011-05-03  Eric Blake  <eblake@redhat.com>
21112
21113         test-getaddrinfo: report error information
21114         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
21115
21116 2011-05-03  Jim Meyering  <meyering@redhat.com>
21117
21118         bootstrap: avoid build failure when $GZIP is set
21119         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
21120         program name.  If defined at all, it is supposed to list gzip options.
21121         Reported by Alan Curry in http://debbugs.gnu.org/8609
21122
21123 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
21124
21125         readme-release: new module with release instructions
21126         * modules/readme-release: New module.
21127         * top/README-release: New file, from coreutils, grep, diffutils.
21128         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21129
21130 2011-05-02  Eric Blake  <eblake@redhat.com>
21131
21132         fflush: also replace fclose when fixing fflush
21133         * modules/fflush (Depends-on): Add fclose.
21134         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
21135         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
21136         memstreams with no backing fd.
21137         * doc/posix-functions/fclose.texi (fclose): Document the use of
21138         fflush module to fix the bug.
21139         * tests/test-fclose.c (main): Relax test when fclose is used in
21140         isolation.
21141
21142         fclose: add some tests
21143         * modules/fclose-tests: New test module.
21144         * tests/test-fclose.c: New file.
21145         * doc/posix-functions/fclose.texi (fclose): Document the bug.
21146
21147         fclose: reduced dependencies
21148         * modules/fclose (Depends-on): Switch from fflush/fseeko to
21149         simpler lseek.
21150         * lib/fclose.c (rpl_fclose): Likewise.
21151         Reported by Simon Josefsson.
21152
21153         exit: drop remaining clients
21154         * modules/argmatch (Depends-on): Replace exit with stdlib.
21155         * modules/copy-file (Depends-on): Likewise.
21156         * modules/execute (Depends-on): Likewise.
21157         * modules/exitfail (Depends-on): Likewise.
21158         * modules/obstack (Depends-on): Likewise.
21159         * modules/pagealign_alloc (Depends-on): Likewise.
21160         * modules/pipe-filter-gi (Depends-on): Likewise.
21161         * modules/pipe-filter-ii (Depends-on): Likewise.
21162         * modules/savewd (Depends-on): Likewise.
21163         * modules/spawn-pipe (Depends-on): Likewise.
21164         * modules/wait-process (Depends-on): Likewise.
21165         * modules/xsetenv (Depends-on): Likewise.
21166         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
21167         * modules/git-merge-changelog (Depends-on): Likewise.
21168         * modules/long-options (Depends-on): Likewise.
21169         * modules/pt_chown (Depends-on): Likewise.
21170         * modules/sysexits (Depends-on): Likewise.
21171
21172         freading: relax license from LGPLv3+ to LGPLv2+
21173         * modules/freading (License): Relax LGPL version.
21174
21175 2011-05-02  Bruno Haible  <bruno@clisp.org>
21176
21177         fchdir: Remove unused dependencies.
21178         * modules/fchdir (Depends-on): Remove include_next.
21179
21180 2011-05-02  Bruno Haible  <bruno@clisp.org>
21181
21182         gnulib-tool: Refactor.
21183         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
21184         from func_emit_autoconf_snippets.
21185         (func_emit_autoconf_snippets): Use it.
21186
21187 2011-05-02  Simon Josefsson  <simon@josefsson.org>
21188
21189         * NEWS: Document removal of 'exit'.
21190         * modules/exit: Remove file.
21191
21192 2011-05-01  Bruno Haible  <bruno@clisp.org>
21193
21194         Update DEPENDENCIES.
21195         * DEPENDENCIES (gettext): Recommend the newest release.
21196         Reported by Simon Josefsson.
21197
21198 2011-05-01  Bruno Haible  <bruno@clisp.org>
21199
21200         gnulib-tool: Reduce code duplication.
21201         * gnulib-tool (func_emit_autoconf_snippets): New function.
21202         (func_import, func_create_testdir): Use it.
21203
21204 2011-04-30  Eric Blake  <eblake@redhat.com>
21205
21206         fclose: don't fail on non-seekable input stream
21207         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
21208         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
21209         since fflush is allowed to fail in that case.
21210
21211 2011-04-30  Bruno Haible  <bruno@clisp.org>
21212
21213         dup3: cleanup
21214         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
21215
21216 2011-04-30  Bruno Haible  <bruno@clisp.org>
21217
21218         netdb: Make it work in C++ mode.
21219         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
21220         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
21221         module.
21222         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
21223         gl_MODULE_INDICATOR_FOR_TESTS.
21224         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
21225         * modules/netdb-c++-tests: New file.
21226         * tests/test-netdb-c++.cc: New file.
21227
21228 2011-04-30  Bruno Haible  <bruno@clisp.org>
21229
21230         New modules 'vfscanf', 'vscanf'.
21231         * modules/vfscanf: New file.
21232         * modules/vscanf: New file.
21233         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
21234         here.
21235         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
21236         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
21237
21238 2011-04-30  Bruno Haible  <bruno@clisp.org>
21239
21240         passfd: Add comments.
21241         * lib/passfd.c: Add comments about platforms.
21242
21243 2011-04-30  Bruno Haible  <bruno@clisp.org>
21244
21245         sys_uio: Make <sys/uio.h> self-contained.
21246         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
21247         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
21248
21249 2011-04-30  Bruno Haible  <bruno@clisp.org>
21250
21251         sys_socket: Ensure 'struct iovec' definition.
21252         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
21253         <sys/socket.h>.
21254         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
21255
21256 2011-04-30  Bruno Haible  <bruno@clisp.org>
21257
21258         sys_uio: Protect definition of 'struct iovec'.
21259         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
21260         it as a C struct.
21261
21262 2011-04-30  Bruno Haible  <bruno@clisp.org>
21263
21264         manywarnings: fix indentation
21265         * m4/manywarnings.m4: Indent by 2 spaces consistently.
21266
21267 2011-04-30  Pádraig Brady <P@draigBrady.com>
21268
21269         manywarnings: add -Wno-missing-field-initializers if needed.
21270         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
21271         option if it's needed to allow initialization with { 0, }
21272
21273 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
21274
21275         announce-gen: cosmetic improvement
21276         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
21277
21278 2011-04-29  Jim Meyering  <meyering@redhat.com>
21279
21280         vc-list-files: indent with spaces, not TABs
21281         * build-aux/vc-list-files: Convert leading TABs to spaces,
21282         to match the style of most other files in gnulib.
21283
21284         announce-gen: indent with spaces, not TABs
21285         * build-aux/announce-gen: Convert all TABs to spaces, to match
21286         the style of most other files in gnulib.
21287
21288 2011-04-29  Eric Blake  <eblake@redhat.com>
21289
21290         quotearg: avoid uninitialized variable use
21291         * lib/quotearg.c (quoting_options_from_style): Initialize
21292         remaining fields, and ensure that custom styles are only used via
21293         quoting_options rather than quoting_style.
21294
21295 2011-04-29  Jim Meyering  <meyering@redhat.com>
21296
21297         maint.mk: remove unused VC-tag variable
21298         * top/maint.mk (VC-tag): Remove unused variable.
21299
21300 2011-04-29  Bruno Haible  <bruno@clisp.org>
21301
21302         netdb: fix gai_strerror replacements
21303         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
21304         * modules/netdb: Substitute it.
21305
21306 2011-04-29  Jim Meyering  <meyering@redhat.com>
21307
21308         test-getcwd.c: avoid new set-but-not-used warning
21309         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
21310         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
21311         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
21312         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
21313
21314         test-hash.c: avoid a new shadowing warning
21315         * tests/test-hash.c (main): Don't shadow "dup".
21316
21317 2011-04-28  Eric Blake  <eblake@redhat.com>
21318
21319         getaddrinfo: fix gai_strerror signature
21320         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
21321         and work around mingw with UNICODE defined.
21322         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
21323         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
21324         * modules/netdb (Makefile.am): Substitute it.
21325         * lib/netdb.in.h (gai_strerror): Declare replacement.
21326         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
21327         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
21328         the fix.
21329
21330         getsockopt: avoid compiler warning
21331         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
21332         Reported by Matthias Bolte.
21333
21334         tests: drop unused link dependency
21335         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
21336         * modules/dirent-safer-tests (Makefile.am): Likewise.
21337         * modules/fdopendir-tests (Makefile.am): Likewise.
21338         * modules/mkfifoat-tests (Makefile.am): Likewise.
21339         * modules/openat-safer-tests (Makefile.am): Likewise.
21340         * modules/openat-tests (Makefile.am): Likewise.
21341         * modules/readlinkat-tests (Makefile.am): Likewise.
21342         * modules/symlinkat-tests (Makefile.am): Likewise.
21343         * modules/linkat-tests (Makefile.am): Likewise.
21344         (Depends-on): Switch to filenamecat-lgpl.
21345         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
21346         LIBINTL.
21347         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
21348         * tests/test-linkat.c (main): Don't require xalloc.
21349
21350         hash, mgetgroups: drop xalloc dependency
21351         * lib/hash.c (includes): Adjust includes.
21352         * lib/mgetgroups.c (includes): Likewise.
21353         (xgetgroups): Move...
21354         * lib/xgetgroups.c: ...to new file.
21355         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
21356         * modules/xgetgroups: New file, split from...
21357         * modules/mgetgroups: ...here.
21358         (Depends-on): Add xalloc-oversized.
21359         * modules/hash (Depends-on): Likewise.
21360         * modules/hash-tests (Depends-on): Drop xalloc.
21361         (test_hash_LDADD): Drop unused library.
21362         * tests/test-hash.c (main): Break xalloc dependency.
21363         (includes): Drop unused include.
21364
21365         xalloc-oversized: new module
21366         * modules/xalloc-oversized: New module.
21367         * modules/xalloc (Depends-on): Add it.
21368         * lib/xalloc.h (xalloc_oversized): Move...
21369         * lib/xalloc-oversized.h: ...into new file.
21370
21371         utimecmp: drop dependency on xmalloc
21372         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
21373         due to memory pressure.
21374         * modules/utimecmp (Depends-on): Drop xalloc.
21375
21376 2011-04-27  Eric Blake  <eblake@redhat.com>
21377
21378         getcwd: fix mingw bugs
21379         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
21380         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
21381         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
21382
21383 2011-04-27  Bruno Haible  <bruno@clisp.org>
21384
21385         mkstemps: Ensure declaration on MacOS X 10.5.
21386         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
21387         * doc/glibc-functions/mkstemps.texi: Document header file problem on
21388         MacOS X.
21389
21390 2011-04-27  Bruno Haible  <bruno@clisp.org>
21391
21392         mkstemp: More documentation.
21393         * doc/posix-functions/mkstemp.texi: Document header file problem on
21394         MacOS X.
21395
21396 2011-04-27  Bruno Haible  <bruno@clisp.org>
21397
21398         mkstemp: Tweak configure message when cross-compiling.
21399         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
21400         result as a guess.
21401
21402 2011-04-27  Bruno Haible  <bruno@clisp.org>
21403
21404         clean-temp: Clarify what it does.
21405         * lib/clean-temp.h: Add more comments.
21406         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
21407         module.
21408         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
21409         * doc/glibc-functions/mkstemps.texi: Likewise.
21410         * doc/glibc-functions/mkostemps.texi: Likewise.
21411
21412 2011-04-27  Eric Blake  <eblake@redhat.com>
21413
21414         fchdir: avoid extra chdir and fix test
21415         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
21416         getcwd-lgpl.
21417         * lib/fchdir.c (get_name): Any absolute name will do; it does not
21418         have to be canonical.
21419         (canonicalize_file_name): Drop unused macro.
21420         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
21421
21422         filenamecat-lgpl: fix licence
21423         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
21424         when it was first created.
21425
21426         linkat, renameat: add missing dependency
21427         * modules/linkat (Depends-on): Require getcwd-lgpl.
21428         * modules/renameat (Depends-on): Likewise.
21429
21430         tests: reduce dependencies
21431         * tests/test-linkat.c (main): Use lighter-weight getcwd.
21432         * tests/test-renameat.c (main): Likewise.
21433         * modules/linkat-tests (Depends-on): Relax dependency.
21434         * modules/renameat-tests (Depends-on): Likewise.
21435         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
21436         dependency explicit.
21437
21438         save-cwd: reduce default dependency
21439         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
21440         * lib/save-cwd.c: Update comments.
21441         * NEWS: Document the semantic change.
21442
21443         getcwd: enhance tests
21444         * tests/test-getcwd-lgpl.c: New file, taken from...
21445         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
21446         repeat long path stress tests from m4 probe.
21447         * modules/getcwd-lgpl-tests: New module.
21448         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
21449         * m4/getcwd-abort-bug.m4: Update comment.
21450         * m4/getcwd-path-max.m4: Likewise.
21451
21452         getcwd-lgpl: new module
21453         * modules/getcwd-lgpl: New module.
21454         * lib/getcwd-lgpl.c: New file.
21455         * doc/posix-functions/getcwd.texi (getcwd): Document it.
21456         * MODULES.html.sh (lacking POSIX:2008): Likewise.
21457         * modules/getcwd (configure.ac): Set C witness.
21458         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
21459
21460         getcwd: tweak comments
21461         * m4/getcwd-abort-bug.m4: Fix comments.
21462         * m4/getcwd-path-max.m4: Likewise.
21463         * m4/getcwd.m4: Likewise.
21464
21465 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21466         and Eric Blake  <eblake@redhat.com>
21467
21468         mkstemp: replace if system version uses wrong permissions
21469         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
21470         read/write mode bits set in file created by mkstemp.
21471         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
21472
21473 2011-04-27  Eric Blake  <eblake@redhat.com>
21474
21475         passfd: avoid compiler warning
21476         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
21477         Reported by Laine Stump.
21478
21479 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
21480
21481         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
21482         required by the NetBSD (and perhaps other 4.4BSD derived) join.
21483
21484 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21485         and Eric Blake  <eblake@redhat.com>
21486
21487         mkstemp: mention clean-temp module
21488         * lib/mkstemp.c: Add comment.
21489         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
21490
21491 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
21492
21493         inttypes: also provide default values for 32-bit tests
21494         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
21495         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
21496
21497 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
21498
21499         strtoumax: remove dependency on strtoimax
21500         This is like the strtoull change of yesterday.
21501         * modules/strtoumax (Files): Add lib/strtoimax.c.
21502         (Depends-on): Remove strtoimax and add verify.
21503
21504         inttypes-incomplete: new module
21505         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
21506         all but the PRI* and SCN* parts of gl_INTTYPES_H.
21507         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
21508         of gl_INTTYPES_H.
21509         (gl_INTTYPES_H): Rewrite in terms of these new macros.
21510         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
21511         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
21512         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
21513         * modules/strtoumax, modules/xstrtol (Depends-on):
21514         Depend on inttypes-incomplete, not inttypes.
21515         * modules/inttypes-incomplete: New module, containing the contents
21516         of the old modules/inttypes module, except that the Files: section
21517         omits m4/inttypes-pri.m4, and the configure.ac section invokes
21518         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
21519         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
21520         (Depends-on): Depend only on inttypes-incomplete.
21521         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
21522
21523         inttypes: omit now-redundant strtoimax and strtoumax work
21524         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
21525         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
21526
21527         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
21528         This supports apps that need pointers to strtoimax and strtoumax,
21529         and ports to HP-UX 11.00 64.bit, which has macros that expand to
21530         nonexistent functions.  See
21531         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
21532         et seq.
21533         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
21534         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
21535         a macro.
21536         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21537
21538 2011-04-25  Simon Josefsson  <simon@josefsson.org>
21539
21540         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
21541
21542 2011-04-25  Bruno Haible  <bruno@clisp.org>
21543
21544         strtol, strtoul: Mark modules as obsolete.
21545         * modules/strtol (Status, Notice): New sections.
21546         * modules/strtoul (Status, Notice): New sections.
21547
21548 2011-04-25  Bruno Haible  <bruno@clisp.org>
21549
21550         strtod: Remove check for strtod, unless supporting old platforms.
21551         * modules/strtod-obsolete: New file.
21552         * m4/strtod-obsolete.m4: New file.
21553         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
21554         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
21555         * modules/strtod (Depends-on): Add strtod-obsolete.
21556         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
21557
21558 2011-04-25  Bruno Haible  <bruno@clisp.org>
21559
21560         strcase: Make module obsolete.
21561         * modules/strcase (Status, Notice): New sections.
21562
21563 2011-04-25  Bruno Haible  <bruno@clisp.org>
21564
21565         dup2: Remove check for dup2, unless supporting old obsolete platforms.
21566         * modules/dup2-obsolete: New file.
21567         * m4/dup2-obsolete.m4: New file.
21568         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
21569         gl_FUNC_DUP2_OBSOLETE is not also defined.
21570         * modules/dup2 (Depends-on): Add dup2-obsolete.
21571         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
21572
21573 2011-04-25  Bruno Haible  <bruno@clisp.org>
21574
21575         strnlen: Avoid memchr related link error on old obsolete platforms.
21576         * modules/memchr-obsolete: New file.
21577         * m4/memchr-obsolete.m4: New file.
21578         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
21579         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
21580         * modules/memchr (Depends-on): Add memchr-obsolete.
21581         * modules/strnlen (Depends-on): Likewise.
21582         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
21583
21584 2011-04-25  Jim Meyering  <meyering@redhat.com>
21585
21586         maint.mk: makefile_at_at_check extend and clean up
21587         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
21588         in addition to */Makefile.am.
21589         Exempt legitimate uses of @VAR@ notation, e.g.,
21590         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
21591         Remove obsolete coreutils-specific comment.
21592         Prompted by discussion here:
21593         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
21594
21595 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
21596
21597         strtoul: remove dependency on strtol
21598         This is so that 'configure' need not check for strtol merely because
21599         the application needs strtoul.
21600         * modules/strtoul (Files): Add lib/strtol.c.
21601         (Depends-on): Remove strtol.
21602
21603         strtoull: remove dependency on strtoul
21604         This is like the strtoll change.
21605         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
21606         (Depends-on): Remove strtoul.
21607
21608         strtoll: remove dependency on strtol
21609         This is so that 'configure' need not check for strtol merely because
21610         the application needs strtoll.
21611         * modules/strtoll (Files): Add lib/strtol.c.
21612         (Depends-on): Remove strtol.
21613
21614 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21615
21616         inttypes: Move some configure check to module 'imaxdiv'.
21617         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
21618         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
21619         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
21620
21621 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21622
21623         inttypes: Move some configure check to module 'imaxabs'.
21624         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
21625         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
21626         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
21627
21628 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21629
21630         inttypes: Remove configure tests that are not needed since 2009-12-31.
21631         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
21632         gl_cv_header_working_inttypes_h.
21633
21634 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21635
21636         * modules/strnlen (Depends-on): Remove memchr.
21637         The strnlen implementation doesn't need the memchr module's fixes; see
21638         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
21639
21640         strtol: remove dependency on wchar
21641         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
21642         * modules/strtol (Depends-on): Remove wchar.
21643
21644 2011-04-21  Eric Blake  <eblake@redhat.com>
21645
21646         passfd: fix test regression on Linux
21647         * modules/passfd-tests (configure.ac): Correct socketpair check.
21648
21649         passfd: speed up configure and drop unused code
21650         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
21651         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
21652         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
21653         Instead of probing at configure for unix_scm_rights_bsd44_way,
21654         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
21655         check to a struct member probe.
21656         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
21657         (sendfd, recvfd): Update preprocessor checks.
21658         * modules/passfd (Files): Reflect rename, and drop unused file.
21659         (Depends-on): Drop unused dependency.
21660
21661         passfd: allow compilation on mingw
21662         * modules/sys_socket (Depends-on): Add sys_uio.
21663         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
21664         iovec and a minimal struct msghdr.
21665         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
21666         * tests/test-sys_socket.c (main): Enhance test.
21667         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
21668         guaranteed to provide what we need.
21669         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
21670         * modules/passfd-tests (Depends-on): Add sys_wait.
21671         * tests/test-passfd.c (main): Skip test on mingw, for now.
21672         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
21673         partial 'struct msghdr' implementation.
21674
21675         sys_uio: new module
21676         * modules/sys_uio: New module.
21677         * modules/sys_uio-tests: Likewise.
21678         * lib/sys_uio.in.h: New file.
21679         * m4/sys_uio_h.m4: Likewise.
21680         * tests/test-sys_uio.c: Likewise.
21681         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
21682         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
21683
21684 2011-04-20  Jim Meyering  <meyering@redhat.com>
21685
21686         useless-if-before-free: avoid false-positive
21687         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
21688         disjunct so that it too requires a terminating ";".  Without that,
21689         this script would identify as useless one statement from gcc that
21690         was not:
21691           if (aligned_ptr)
21692             free (((void **) aligned_ptr) [-1]);
21693
21694 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
21695
21696         doc: update users.txt.
21697         * users.txt: Add barcode.
21698
21699 2011-04-19  Bruno Haible  <bruno@clisp.org>
21700
21701         ioctl: Remove link dependency on native Windows.
21702         * lib/fd-hook.h: Renamed from lib/close-hook.h.
21703         (gl_close_fn, gl_ioctl_fn): New types.
21704         (struct fd_hook): Renamed from struct close_hook. Change type of
21705         private_close_fn field. Add private_ioctl_fn field.
21706         (close_hook_fn): Add parameter for primary close method.
21707         (execute_close_hooks, execute_all_close_hooks): Likewise.
21708         (ioctl_hook_fn): New type.
21709         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
21710         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21711         argument.
21712         (unregister_fd_hook): Renamed from unregister_close_hook.
21713         * lib/fd-hook.c: Renamed from lib/close-hook.c.
21714         Don't include <unistd.h>.
21715         (close): Remove undef.
21716         (anchor): Update.
21717         (execute_close_hooks): Add argument for primary close method.
21718         (execute_all_close_hooks): Likewise.
21719         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
21720         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21721         argument. Allow each argument to be NULL.
21722         (unregister_fd_hook): Renamed from unregister_close_hook.
21723         * lib/close.c (rpl_close): Pass 'close' function pointer to
21724         execute_all_close_hooks.
21725         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
21726         (primary_ioctl): New function.
21727         (ioctl): Don't call ioctlsocket here. Instead, call
21728         execute_all_ioctl_hooks.
21729         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
21730         close method.
21731         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
21732         (fd_sockets_hook): Renamed from close_sockets_hook.
21733         (gl_sockets_startup, gl_sockets_cleanup): Update.
21734         * modules/fd-hook: Renamed from modules/close-hook. Update.
21735         * modules/close (Depends-on): Add fd-hook, remove close-hook.
21736         * modules/sockets (Depends-on): Likewise.
21737         * modules/ioctl (Depends-on): Add fd-hook.
21738         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
21739         GNULIB_SOCKET.
21740
21741 2011-04-19  Bruno Haible  <bruno@clisp.org>
21742
21743         Move the support of O_NONBLOCK in open() to the 'open' module.
21744         * modules/nonblocking (Depends-on): Remove 'open'.
21745         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
21746         gl_cv_have_open_O_NONBLOCK.
21747         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
21748         O_NONBLOCK support.
21749         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
21750
21751 2011-04-17  Bruno Haible  <bruno@clisp.org>
21752
21753         pipe2: Simplify code.
21754         * lib/pipe2.c (pipe2): Reduce code duplication.
21755
21756 2011-04-17  Bruno Haible  <bruno@clisp.org>
21757
21758         nonblocking: Add comment.
21759         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
21760
21761 2011-04-17  Bruno Haible  <bruno@clisp.org>
21762
21763         nonblocking: Add tests for sockets.
21764         * tests/test-nonblocking-socket.sh: New file.
21765         * tests/test-nonblocking-socket-main.c: New file.
21766         * tests/test-nonblocking-socket-child.c: New file.
21767         * tests/test-nonblocking-socket.h: New file.
21768         * tests/socket-server.h: New file.
21769         * tests/socket-client.h: New file.
21770         * modules/nonblocking-socket-tests: New file.
21771         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
21772
21773 2011-04-17  Bruno Haible  <bruno@clisp.org>
21774
21775         nonblocking: Add tests for pipes.
21776         * tests/test-nonblocking-pipe.sh: New file.
21777         * tests/test-nonblocking-pipe-main.c: New file.
21778         * tests/test-nonblocking-pipe-child.c: New file.
21779         * tests/test-nonblocking-pipe.h: New file.
21780         * tests/test-nonblocking-writer.h: New file.
21781         * tests/test-nonblocking-reader.h: New file.
21782         * tests/test-nonblocking-misc.h: New file.
21783         * modules/nonblocking-pipe-tests: New file.
21784         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
21785
21786 2011-04-16  Bruno Haible  <bruno@clisp.org>
21787
21788         gettext: Clarify the needed programmer actions.
21789         * modules/gettext (Notice): New field.
21790         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
21791
21792 2011-04-16  Bruno Haible  <bruno@clisp.org>
21793
21794         strchrnul: Tweak last commit.
21795         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
21796         bug.
21797         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
21798         as in _GL_FUNCDECL_SYS.
21799         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
21800         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
21801
21802 2011-04-15  Eric Blake  <eblake@redhat.com>
21803
21804         strchrnul: work around cygwin bug
21805         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
21806         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
21807         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
21808         * modules/string (Makefile.am): Substitute it.
21809         * lib/string.in.h (strchrnul): Use it.
21810
21811 2011-04-15  Bruno Haible  <bruno@clisp.org>
21812
21813         Don't require lib/stdio-write.c when only module 'stdio' is used.
21814         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
21815         invocation.
21816         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
21817
21818 2011-04-14  Bruno Haible  <bruno@clisp.org>
21819
21820         Support non-blocking pipe I/O in read() on native Windows.
21821         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
21822         (read): New declaration.
21823         * lib/read.c: New file.
21824         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
21825         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
21826         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
21827         vscanf): New declarations.
21828         * lib/stdio-read.c: New file.
21829         * m4/read.m4: New file.
21830         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
21831         REPLACE_READ.
21832         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
21833         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21834         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
21835         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
21836         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
21837         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21838         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21839         * modules/read: New file.
21840         * modules/nonblocking (Files): Add lib/stdio-read.c.
21841         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
21842         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
21843         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21844         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21845         * modules/pread (Depends-on): Add read.
21846         * modules/safe-read (Depends-on): Likewise.
21847         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
21848         gets, scanf, vfscanf, vscanf): Verify signatures.
21849         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
21850         problem with non-blocking pipes.
21851         * doc/posix-functions/fgetc.texi: Likewise.
21852         * doc/posix-functions/fgets.texi: Likewise.
21853         * doc/posix-functions/fread.texi: Likewise.
21854         * doc/posix-functions/fscanf.texi: Likewise.
21855         * doc/posix-functions/getc.texi: Likewise.
21856         * doc/posix-functions/getchar.texi: Likewise.
21857         * doc/posix-functions/gets.texi: Likewise.
21858         * doc/posix-functions/scanf.texi: Likewise.
21859         * doc/posix-functions/vfscanf.texi: Likewise.
21860         * doc/posix-functions/vscanf.texi: Likewise.
21861
21862 2011-04-14  Bruno Haible  <bruno@clisp.org>
21863
21864         Support non-blocking pipe I/O in write() on native Windows.
21865         * lib/write.c (rpl_write): Split a write request that failed merely
21866         because the byte count was larger than the pipe buffer's size.
21867         * doc/posix-functions/write.texi: Mention the problem with large byte
21868         counts.
21869
21870 2011-04-14  Bruno Haible  <bruno@clisp.org>
21871
21872         wchar: Ensure that wchar_t gets defined on uClibc.
21873         * lib/wchar.in.h: On uClibc, include <stddef.h>.
21874         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
21875
21876 2011-04-13  Bruno Haible  <bruno@clisp.org>
21877
21878         safe-write, full-read: Avoid unnecessary compilation units.
21879         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
21880         (Depends-on): Remove safe-read. Add ssize_t.
21881         * modules/full-read (Files): Add lib/full-write.c.
21882         (Depends-on): Add full-write.
21883
21884 2011-04-13  Bruno Haible  <bruno@clisp.org>
21885
21886         Support non-blocking pipe I/O and SIGPIPE in pwrite().
21887         * modules/pwrite (Depends-on): Add 'write'.
21888
21889 2011-04-13  Bruno Haible  <bruno@clisp.org>
21890
21891         Support non-blocking pipe I/O in write() on native Windows.
21892         * lib/unistd.in.h (write): Enable replacement also if
21893         GNULIB_UNISTD_H_NONBLOCKING is 1.
21894         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
21895         (rpl_write): When failing to write on a non-blocking pipe, change
21896         errno from ENOSPC to EAGAIN.
21897         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
21898         putchar, puts, vfprintf, vprintf): Enable replacement also if
21899         GNULIB_STDIO_H_NONBLOCKING is 1.
21900         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
21901         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
21902         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
21903         CALL_WITH_SIGPIPE_EMULATION.
21904         (CALL_WITH_SIGPIPE_EMULATION): Use them.
21905         * m4/nonblocking.m4: New file.
21906         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
21907         for non-blocking I/O support.
21908         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21909         GNULIB_UNISTD_H_NONBLOCKING.
21910         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
21911         required for non-blocking I/O support.
21912         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
21913         * modules/nonblocking (Files): Add m4/nonblocking.m4,
21914         lib/stdio-write.c, m4/asm-underscore.m4.
21915         (Depends-on): Add stdio, unistd.
21916         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
21917         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
21918         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
21919         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
21920         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
21921         problem with non-blocking pipes.
21922         * doc/posix-functions/fputc.texi: Likewise.
21923         * doc/posix-functions/fputs.texi: Likewise.
21924         * doc/posix-functions/fwrite.texi: Likewise.
21925         * doc/posix-functions/printf.texi: Likewise.
21926         * doc/posix-functions/putc.texi: Likewise.
21927         * doc/posix-functions/putchar.texi: Likewise.
21928         * doc/posix-functions/puts.texi: Likewise.
21929         * doc/posix-functions/vfprintf.texi: Likewise.
21930         * doc/posix-functions/vprintf.texi: Likewise.
21931         * doc/posix-functions/write.texi: Likewise.
21932
21933 2011-04-10  Jim Meyering  <meyering@redhat.com>
21934
21935         maint.mk: prohibit doubled words
21936         Detect them also when they're separated by a newline.
21937         There are 3 ways to customize it:
21938           - disable the test on a per file basis, as usual with rules using
21939             $(VC_LIST_EXCEPT)
21940           - replace the default doubled-word-selecting regexp (affects all files)
21941           - ignore a particular file-vs-doubled-word match
21942         I nearly used that last one to ignore the "is is" match in
21943         coreutils' NEWS file, since the text was "ls -is is ..."
21944         To do that, I would have added this line to cfg.mk:
21945           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
21946         but it would have ignored any "is is" match in NEWS.
21947         Low probability, but still...
21948         Instead, I changed the text, slightly:
21949           -  ls -is is now consistent with ls -lis in ignoring values returned
21950           +  "ls -is" is now consistent with ls -lis in ignoring values returned
21951         * top/maint.mk (prohibit_double_word_RE_): Provide default.
21952         (prohibit_doubled_word_): Define.
21953         (sc_prohibit_doubled_word): New rule.
21954         (sc_prohibit_the_the): Remove.  Subsumed by the above.
21955
21956 2011-04-10  Jim Meyering  <meyering@redhat.com>
21957
21958         maint: fix doubled-word typo in comment
21959         * m4/gethostname.m4: s/is is/it is/
21960         * m4/getdomainname.m4: Likewise.
21961
21962 2011-04-10  Jim Meyering  <meyering@redhat.com>
21963
21964         maint: remove doubled word: s/it it/it/
21965         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
21966
21967 2011-04-10  Jim Meyering  <meyering@redhat.com>
21968
21969         maint.mk: remove useless semicolon and backslash
21970         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
21971         semicolon and backslash.
21972
21973 2011-04-10  Bruno Haible  <bruno@clisp.org>
21974
21975         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
21976         * modules/stdint-tests (Depends-on): Add wchar.
21977
21978 2011-04-10  Jim Meyering  <meyering@redhat.com>
21979
21980         maint: remove doubled words in comments, e.g., s/a a/a/
21981         * lib/strptime.c (day_of_the_week): s/the the/the/
21982         * tests/test-chown.h (test_chown): s/a a/a/
21983
21984         test-chown.h: correct a cast
21985         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
21986         when the destination is a stat.st_gid.
21987
21988 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
21989
21990         getaddrinfo: Fix test for sa_len member.
21991         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
21992         include <sys/types.h> before <sys/socket.h>.
21993
21994 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
21995
21996         maint: change "can not" to "cannot"
21997         * doc/posix-functions/iconv.texi (iconv): This one crossed line
21998         boundaries.
21999
22000 2011-04-09  Jim Meyering  <meyering@redhat.com>
22001
22002         maint: change "a a" to "a"
22003         * tests/test-lchown.h (test_lchown): s/a a/a/
22004
22005         maint.mk: prohibit \<the the\>
22006         * top/maint.mk (sc_prohibit_the_the): New rule.
22007
22008         maint: fix "the the" in comment
22009         * lib/count-one-bits.h: s/the the/the/
22010
22011         maint: change "can not" to "cannot"
22012         But do not change the occurrences in maintain.texi or in
22013         build-aux/po/Makefile.in.in, which I presume comes from gettext.
22014         * doc/gnulib-tool.texi: s/can not/cannot/
22015         * doc/posix-functions/accept.texi (accept): Likewise.
22016         * doc/posix-functions/socket.texi (socket): Likewise.
22017         * lib/mbrtowc.c: Likewise.
22018
22019         maint.mk: prohibit use of "can not"
22020         * top/maint.mk (sc_prohibit_can_not): New rule.
22021         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
22022
22023 2011-04-09  Bruno Haible  <bruno@clisp.org>
22024
22025         careadlinkat: Guard against misuse of careadlinkatcwd.
22026         * lib/careadlinkat.c: Include <stdlib.h>.
22027         (careadlinkatcwd): Check that the fd argument is as expected.
22028
22029 2011-04-09  Bruno Haible  <bruno@clisp.org>
22030
22031         careadlinkat: Use common coding style.
22032         * lib/careadlinkat.c: Move gnulib includes after system includes.
22033
22034 2011-04-09  Bruno Haible  <bruno@clisp.org>
22035
22036         careadlinkat: Clarify specification.
22037         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
22038         (careadlinkatcwd): Add comment.
22039         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
22040
22041 2011-04-09  Bruno Haible  <bruno@clisp.org>
22042
22043         areadlinkat: Avoid link error on many platforms.
22044         * modules/areadlinkat (Depends-on): Add areadlink.
22045
22046 2011-04-09  Bruno Haible  <bruno@clisp.org>
22047
22048         allocator, careadlinkat: Fix double-inclusion guard.
22049         * lib/allocator.h: Fix double-inclusion guard.
22050         * lib/careadlinkat.h: Likewise.
22051
22052 2011-04-09  Bruno Haible  <bruno@clisp.org>
22053
22054         relocatable-prog-wrapper: Update after module 'areadlink' changed.
22055         * lib/relocwrapper.c: Update dependencies hierarchy.
22056         * build-aux/install-reloc: Update list of files to be compiled.
22057         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
22058         lib/allocator.[hc].
22059
22060 2011-04-08  Eric Blake  <eblake@redhat.com>
22061
22062         strftime: silence gnulib-tool warning
22063         * modules/strftime-tests (Depends-on): Drop automatic dependency.
22064
22065 2011-04-08  Bruno Haible  <bruno@clisp.org>
22066
22067         verify: Fix syntax error with GCC 4.6 in C++ mode.
22068         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
22069         (HAVE_STATIC_ASSERT): New macro.
22070         (verify_true, verify): Use 'static_assert' if it is supported and
22071         '_Static_assert' is not supported.
22072
22073 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22074
22075         allocator: New module.
22076         * modules/allocator, lib/allocator.c: New files.
22077         * lib/allocator.h (stdlib_allocator): New decl.
22078         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
22079         Remove.  Do not include <stdlib.h>.
22080         (careadlinkat): Use stdlib_allocator instead of rolling our own.
22081         * modules/careadlinkat (Files): Remove lib/allocator.h.
22082         (Depends-on): Add allocator.
22083
22084         stdlib: let modules use system malloc, realloc
22085         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
22086         if !_GL_USE_STDLIB_ALLOC.
22087         (malloc, realloc): Limit this change to a smaller scope.
22088
22089         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
22090         (malloc, realloc): Don't #undef; no longer needed.
22091         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22092         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22093         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22094         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22095         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22096         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22097         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22098         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22099
22100         careadlinkat: rename members to avoid problem
22101         * lib/allocator.h (struct allocator): Rename members from
22102         malloc/realloc to allocate/reallocate, to avoid problems if malloc
22103         and realloc are #define'd.  Reported by Eric Blake in
22104         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
22105         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
22106
22107 2011-04-08  Eric Blake  <eblake@redhat.com>
22108
22109         nonblocking: reduce dependency
22110         * tests/test-nonblocking.c: Only test sockets when in use.
22111         * modules/nonblocking-tests (Depends-on): Drop socket.
22112         (Makefile.am): Link even if sockets are not present.
22113         * modules/pipe2-tests (Makefile.am): Likewise.
22114         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
22115
22116         pipe2: fix O_NONBLOCK support on mingw
22117         * modules/pipe2 (Depends-on): Add nonblocking.
22118         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
22119         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
22120         * tests/test-nonblocking.c (main): Likewise.
22121         * modules/pipe2-tests (Makefile.am): Avoid link failure.
22122
22123         fcntl-h: fix O_ACCMODE on cygwin
22124         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
22125         * lib/fcntl.in.h (O_ACCMODE): Fix it.
22126
22127         pipe-filter: drop O_NONBLOCK workarounds
22128         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
22129         * modules/pipe-filter-ii (Depends-on): Likewise.
22130         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
22131
22132         nonblocking: provide O_NONBLOCK for mingw
22133         * modules/nonblocking (Depends-on): Add open.
22134         (configure.ac): Set new witness macro.
22135         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
22136         * modules/fcntl-h (Makefile.am): Substitute it.
22137         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
22138         nonblocking module is in use.
22139         * lib/nonblocking.c: Adjust portability test.
22140         * lib/open.c (open): Don't let native open see gnulib flag.
22141         * tests/test-fcntl-h.c (main): Enhance test.
22142         * tests/test-open.h (test_open): Likewise.
22143         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
22144
22145         careadlinkat: fix compilation error on mingw
22146         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
22147         within struct allocator.
22148
22149 2011-04-06  Eric Blake  <eblake@redhat.com>
22150
22151         binary-io: relicense under LGPLv2+
22152         * modules/binary-io (License): Relax to LGPLv2+.
22153         Requested for libvirt, and required by pipe2.
22154
22155 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
22156
22157         verify: use _Static_assert if available
22158         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
22159         (verify_true, verify): Use it if available.  This generates better
22160         diagnostics with GCC 4.6.0 and later.
22161
22162 2011-04-05  Bruno Haible  <bruno@clisp.org>
22163
22164         Remove leftover generated .h files after config.status changed.
22165
22166         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
22167         GL_GENERATE_ALLOCA_H.
22168         * modules/alloca-opt (Makefile.am): Remove alloca.h if
22169         GL_GENERATE_ALLOCA_H evaluates to false.
22170
22171         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
22172         GL_GENERATE_ARGZ_H.
22173         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
22174         evaluates to false.
22175
22176         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
22177         GL_GENERATE_BYTESWAP_H.
22178         * modules/byteswap (Makefile.am): Remove byteswap.h if
22179         GL_GENERATE_BYTESWAP_H evaluates to false.
22180
22181         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
22182         GL_GENERATE_ERRNO_H.
22183         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
22184         evaluates to false.
22185
22186         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
22187         GL_GENERATE_FLOAT_H.
22188         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
22189         evaluates to false.
22190
22191         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
22192         GL_GENERATE_FNMATCH_H.
22193         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
22194         GL_GENERATE_FNMATCH_H evaluates to false.
22195
22196         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
22197         GL_GENERATE_GLOB_H.
22198         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
22199         evaluates to false.
22200
22201         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
22202         automake conditional GL_GENERATE_ICONV_H.
22203         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
22204         evaluates to false.
22205
22206         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
22207         GL_GENERATE_NETINET_IN_H.
22208         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
22209         GL_GENERATE_NETINET_IN_H evaluates to false.
22210
22211         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
22212         conditional GL_GENERATE_PTHREAD_H.
22213         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
22214         * modules/pthread (Makefile.am): Remove pthread.h if
22215         GL_GENERATE_PTHREAD_H evaluates to false.
22216
22217         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
22218         GL_GENERATE_SCHED_H.
22219         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
22220         evaluates to false.
22221
22222         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
22223         conditional GL_GENERATE_SELINUX_CONTEXT_H.
22224         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
22225         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
22226
22227         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
22228         GL_GENERATE_STDARG_H.
22229         * modules/stdarg (Makefile.am): Remove stdarg.h if
22230         GL_GENERATE_STDARG_H evaluates to false.
22231
22232         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
22233         GL_GENERATE_STDBOOL_H.
22234         * modules/stdbool (Makefile.am): Remove stdbool.h if
22235         GL_GENERATE_STDBOOL_H evaluates to false.
22236
22237         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
22238         conditional GL_GENERATE_STDDEF_H.
22239         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
22240         * modules/stddef (Makefile.am): Remove stddef.h if
22241         GL_GENERATE_STDDEF_H evaluates to false.
22242
22243         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
22244         GL_GENERATE_STDINT_H.
22245         * modules/stdint (Makefile.am): Remove stdint.h if
22246         GL_GENERATE_STDINT_H evaluates to false.
22247
22248         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
22249         GL_GENERATE_SYSEXITS_H.
22250         * modules/sysexits (Makefile.am): Remove sysexits.h if
22251         GL_GENERATE_SYSEXITS_H evaluates to false.
22252
22253         Reported by Karl Berry and Ralf Wildenhues.
22254
22255 2011-04-05  Bruno Haible  <bruno@clisp.org>
22256
22257         Ensure to rebuild generated .h files when config.status has changed.
22258         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
22259         config.status.
22260         * modules/ctype (Makefile.am): Likewise.
22261         * modules/dirent (Makefile.am): Likewise.
22262         * modules/errno (Makefile.am): Likewise.
22263         * modules/fcntl-h (Makefile.am): Likewise.
22264         * modules/float (Makefile.am): Likewise.
22265         * modules/getopt-posix (Makefile.am): Likewise.
22266         * modules/glob (Makefile.am): Likewise.
22267         * modules/iconv-h (Makefile.am): Likewise.
22268         * modules/inttypes (Makefile.am): Likewise.
22269         * modules/langinfo (Makefile.am): Likewise.
22270         * modules/locale (Makefile.am): Likewise.
22271         * modules/math (Makefile.am): Likewise.
22272         * modules/netdb (Makefile.am): Likewise.
22273         * modules/netinet_in (Makefile.am): Likewise.
22274         * modules/poll-h (Makefile.am): Likewise.
22275         * modules/pthread (Makefile.am): Likewise.
22276         * modules/pty (Makefile.am): Likewise.
22277         * modules/sched (Makefile.am): Likewise.
22278         * modules/search (Makefile.am): Likewise.
22279         * modules/selinux-h (Makefile.am): Likewise.
22280         * modules/signal (Makefile.am): Likewise.
22281         * modules/spawn (Makefile.am): Likewise.
22282         * modules/stdarg (Makefile.am): Likewise.
22283         * modules/stdbool (Makefile.am): Likewise.
22284         * modules/stddef (Makefile.am): Likewise.
22285         * modules/stdint (Makefile.am): Likewise.
22286         * modules/stdio (Makefile.am): Likewise.
22287         * modules/stdlib (Makefile.am): Likewise.
22288         * modules/string (Makefile.am): Likewise.
22289         * modules/strings (Makefile.am): Likewise.
22290         * modules/sys_file (Makefile.am): Likewise.
22291         * modules/sys_ioctl (Makefile.am): Likewise.
22292         * modules/sys_select (Makefile.am): Likewise.
22293         * modules/sys_socket (Makefile.am): Likewise.
22294         * modules/sys_stat (Makefile.am): Likewise.
22295         * modules/sys_time (Makefile.am): Likewise.
22296         * modules/sys_times (Makefile.am): Likewise.
22297         * modules/sys_utsname (Makefile.am): Likewise.
22298         * modules/sys_wait (Makefile.am): Likewise.
22299         * modules/sysexits (Makefile.am): Likewise.
22300         * modules/termios (Makefile.am): Likewise.
22301         * modules/time (Makefile.am): Likewise.
22302         * modules/unistd (Makefile.am): Likewise.
22303         * modules/wchar (Makefile.am): Likewise.
22304         * modules/wctype-h (Makefile.am): Likewise.
22305         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
22306
22307 2011-04-05  Bruno Haible  <bruno@clisp.org>
22308
22309         pipe2: Relicense under LGPLv2+.
22310         * modules/pipe2 (License): Change to LGPLv2+.
22311         Requested by Eric Blake, for libvirt.
22312
22313 2011-04-05  Bruce Korb  <bkorb@gnu.org>
22314
22315         bootstrap: compute gnulib_extra_files after updating build_aux
22316         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
22317         change build_aux or also supply gnulib_extra_files.  Handle correctly.
22318
22319 2011-04-05  Eric Blake  <eblake@redhat.com>
22320
22321         bootstrap: preserve git whitelist item sorting
22322         * build-aux/bootstrap (sort_patterns): New function.
22323         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
22324
22325 2011-04-05  Simon Josefsson  <simon@josefsson.org>
22326
22327         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
22328         sc_space_tab check.
22329
22330 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22331
22332         areadlink, areadlinkat: rewrite in terms of careadlinkat
22333         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
22334         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
22335         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
22336         (malloc, realloc): Remove #undefs.
22337         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
22338         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
22339         readlink, ssize_t, stdint, unistd.
22340         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
22341         areadlink, stdint.
22342
22343         careadlinkat: new module
22344         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
22345         * modules/careadlinkat: New files, written by me with
22346         a review and feedback from Ben Pfaff in
22347         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
22348
22349 2011-04-01  Bruno Haible  <bruno@clisp.org>
22350
22351         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
22352         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
22353         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
22354         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
22355         Reported by Bruce Korb <bruce.korb@gmail.com>.
22356
22357 2011-04-01  Bruno Haible  <bruno@clisp.org>
22358
22359         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
22360         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
22361         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
22362         * modules/wcpcpy (Depends-on): Add extensions.
22363         * modules/wcpncpy (Depends-on): Likewise.
22364         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
22365         systems.
22366         * doc/posix-functions/wcpncpy.texi: Likewise.
22367         * doc/posix-functions/wcwidth.texi: Likewise.
22368
22369 2011-03-31  Eric Blake  <eblake@redhat.com>
22370
22371         nonblocking: fix mingw test failures
22372         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
22373         non-blocking flag on regular file.
22374         (get_nonblocking_flag): Set errno on invalid fd.
22375         * tests/test-nonblocking.c (main): Avoid test failure on
22376         directories if fchdir is not active.
22377         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
22378
22379 2011-03-31  Bruno Haible  <bruno@clisp.org>
22380
22381         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
22382         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
22383         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
22384         Reported by Simon Josefsson <simon@josefsson.org>.
22385
22386 2011-03-31  Bruno Haible  <bruno@clisp.org>
22387         and Eric Blake  <eblake@redhat.com>
22388
22389         nonblocking: new module
22390         * modules/nonblocking: New module.
22391         * modules/nonblocking-tests: Likewise.
22392         * lib/nonblocking.h: New file.
22393         * lib/nonblocking.c: Likewise.
22394         * tests/test-nonblocking.c: New test.
22395         * lib/ioctl.c (ioctl) [mingw]: Update comment.
22396
22397 2011-03-30  Bruno Haible  <bruno@clisp.org>
22398
22399         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
22400         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
22401         instead of 'printf' format for GCC >= 4.4.
22402         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
22403         (fprintf, printf, vfprintf, vprintf): Declare with
22404         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
22405         the system's vfprintf() function.
22406         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
22407
22408 2011-03-30  Eric Blake  <eblake@redhat.com>
22409
22410         passfd: fix scoping bug
22411         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
22412         before sendmsg/recvmsg.
22413
22414         passfd: standardize coding conventions
22415         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
22416         can be learned at compile time.
22417         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
22418         ifdefs.
22419         (sendfd, recvfd): Follow gnulib code conventions.
22420
22421         passfd: fix incorrect sendmsg arguments
22422         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
22423         incorrect msg_controllen value.
22424         * modules/passfd-tests (Depends-on): Check for alarm.
22425         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
22426         Reported by Bastien ROUCARIES.
22427
22428 2011-03-30  Bruno Haible  <bruno@clisp.org>
22429
22430         c-strcasestr: Relicense under LGPLv2+.
22431         * modules/c-strcasestr (License): Change to LGPLv2+.
22432         Requested by Eric Blake, for libvirt.
22433
22434 2011-03-30  Simon Josefsson  <simon@josefsson.org>
22435
22436         * users.txt: Add libidn2.  Fix libtasn1 link.
22437
22438 2011-03-30  Jim Meyering  <meyering@redhat.com>
22439
22440         tests: readlink* ("",... fails with EINVAL on newer kernels
22441         readlink and readlinkat have typically failed with ENOENT for
22442         the invalid, empty file name,  "".  However, with the advent
22443         of linux-2.6.39, they fail with EINVAL.
22444         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
22445         when operating on the empty file name.
22446         * tests/test-readlink.h (test_readlink): Likewise.
22447
22448 2011-03-29  Bruno Haible  <bruno@clisp.org>
22449
22450         Relicense some modules under LGPLv2+, for libidn2.
22451         * modules/array-mergesort (License): Change to LGPLv2+.
22452         * modules/c-strcaseeq (License): Likewise.
22453         * modules/striconveh (License): Likewise.
22454         * modules/striconveha (License): Likewise.
22455         * modules/uniconv/base (License): Likewise.
22456         * modules/uniconv/u8-conv-from-enc (License): Likewise.
22457         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
22458         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
22459         * modules/unictype/base (License): Likewise.
22460         * modules/unictype/bidiclass-of (License): Likewise.
22461         * modules/unictype/category-M (License): Likewise.
22462         * modules/unictype/category-none (License): Likewise.
22463         * modules/unictype/category-of (License): Likewise.
22464         * modules/unictype/category-test (License): Likewise.
22465         * modules/unictype/category-test-withtable (License): Likewise.
22466         * modules/unictype/combining-class (License): Likewise.
22467         * modules/unictype/joiningtype-of (License): Likewise.
22468         * modules/unictype/scripts (License): Likewise.
22469         * modules/uninorm/base (License): Likewise.
22470         * modules/uninorm/canonical-decomposition (License): Likewise.
22471         * modules/uninorm/composition (License): Likewise.
22472         * modules/uninorm/decompose-internal (License): Likewise.
22473         * modules/uninorm/decomposition-table (License): Likewise.
22474         * modules/uninorm/nfc (License): Likewise.
22475         * modules/uninorm/nfd (License): Likewise.
22476         * modules/uninorm/u32-normalize (License): Likewise.
22477         * modules/unistr/base (License): Likewise.
22478         * modules/unistr/u32-cpy (License): Likewise.
22479         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
22480         * modules/unistr/u32-to-u8 (License): Likewise.
22481         * modules/unistr/u32-uctomb (License): Likewise.
22482         * modules/unistr/u8-check (License): Likewise.
22483         * modules/unistr/u8-mblen (License): Likewise.
22484         * modules/unistr/u8-mbtouc (License): Likewise.
22485         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
22486         * modules/unistr/u8-mbtoucr (License): Likewise.
22487         * modules/unistr/u8-prev (License): Likewise.
22488         * modules/unistr/u8-strlen (License): Likewise.
22489         * modules/unistr/u8-to-u32 (License): Likewise.
22490         * modules/unistr/u8-uctomb (License): Likewise.
22491         * modules/unitypes (License): Likewise.
22492         Requested by Simon Josefsson.
22493
22494 2011-03-29  Simon Josefsson  <simon@josefsson.org>
22495
22496         lib-symbol-visibility: Add a notice.
22497         * modules/lib-symbol-visibility (Notice): New field.
22498
22499 2011-03-29  Bruno Haible  <bruno@clisp.org>
22500
22501         getaddrinfo: Doc fix.
22502         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
22503         section "fixed in Gnulib".
22504
22505 2011-03-28  Simon Josefsson  <simon@josefsson.org>
22506
22507         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
22508         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
22509
22510 2011-03-26  Bruno Haible  <bruno@clisp.org>
22511
22512         unictype/property-byname: Reduce the number of load-time relocations.
22513         * lib/unictype/pr_byname.c: Include <stdlib.h>.
22514         (UC_PROPERTY_INDEX_*): New enumeration values.
22515         (uc_property_byname): Convert an index from the lookup table to an
22516         uc_property_t.
22517         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
22518         values.
22519
22520 2011-03-26  Bruno Haible  <bruno@clisp.org>
22521
22522         unictype/property-byname: Allow omitted word separators and aliases.
22523         * lib/unictype/pr_byname.gperf: Add property names without word
22524         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
22525         for 'space'.
22526
22527 2011-03-26  Bruno Haible  <bruno@clisp.org>
22528
22529         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
22530         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
22531         also hyphens to space.
22532         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
22533         without spaces.
22534         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
22535
22536 2011-03-26  Bruno Haible  <bruno@clisp.org>
22537
22538         unictype/joiningtype-byname: Recognize long names as well.
22539         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
22540         a long name.
22541         * lib/unictype/joiningtype_byname.c: Include <string.h>,
22542         unictype/joiningtype_byname.h.
22543         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
22544         * lib/unictype/joiningtype_byname.gperf: New file.
22545         * modules/unictype/joiningtype-byname (Files): Add
22546         lib/unictype/joiningtype_byname.gperf.
22547         (Depends-on): Add gperf.
22548         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
22549         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
22550         long names.
22551
22552         Tests for module 'unictype/joiningtype-longname'.
22553         * modules/unictype/joiningtype-longname-tests: New file.
22554         * tests/unictype/test-joiningtype_longname.c: New file.
22555
22556         New module 'unictype/joiningtype-longname'.
22557         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
22558         * lib/unictype/joiningtype_longname.c: New file.
22559         * modules/unictype/joiningtype-longname: New file.
22560         * modules/unictype/joiningtype-all (Depends-on): Add
22561         unictype/joiningtype-longname.
22562
22563 2011-03-26  Bruno Haible  <bruno@clisp.org>
22564
22565         unictype/bidiclass-byname: Recognize long names as well.
22566         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
22567         name.
22568         * lib/unictype/bidi_byname.c: Include <string.h>,
22569         unictype/bidi_byname.h.
22570         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
22571         * lib/unictype/bidi_byname.gperf: New file.
22572         * modules/unictype/bidiclass-byname (Files): Add
22573         lib/unictype/bidi_byname.gperf.
22574         (Depends-on): Add gperf.
22575         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
22576         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
22577         long names.
22578
22579         Tests for module 'unictype/bidiclass-longname'.
22580         * modules/unictype/bidiclass-longname-tests: New file.
22581         * tests/unictype/test-bidi_longname.c: New file.
22582
22583         New module 'unictype/bidiclass-longname'.
22584         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
22585         * lib/unictype/bidi_longname.c: New file.
22586         * modules/unictype/bidiclass-longname: New file.
22587         * modules/unictype/bidiclass-all (Depends-on): Add
22588         unictype/bidiclass-longname.
22589
22590 2011-03-26  Bruno Haible  <bruno@clisp.org>
22591
22592         unictype/bidi*: Rename modules.
22593         * modules/unictype/bidiclass-all: Renamed from
22594         modules/unictype/bidicategory-all.
22595         * modules/unictype/bidiclass-name: Renamed from
22596         modules/unictype/bidiclass-name.
22597         (Description): Update.
22598         * modules/unictype/bidiclass-name-tests: Renamed from
22599         modules/unictype/bidicategory-name-tests.
22600         * modules/unictype/bidiclass-byname: Renamed from
22601         modules/unictype/bidicategory-byname.
22602         (Description): Update.
22603         * modules/unictype/bidiclass-byname-tests: Renamed from
22604         modules/unictype/bidicategory-byname-tests.
22605         * modules/unictype/bidiclass-of: Renamed from
22606         modules/unictype/bidicategory-of.
22607         (Description): Update.
22608         * modules/unictype/bidiclass-of-tests: Renamed from
22609         modules/unictype/bidicategory-of-tests.
22610         * modules/unictype/bidiclass-test: Renamed from
22611         modules/unictype/bidicategory-test.
22612         (Description): Update.
22613         * modules/unictype/bidiclass-test-tests: Renamed from
22614         modules/unictype/bidicategory-test-tests.
22615         * modules/unictype/bidicategory-all: New file, a simple redirection.
22616         * modules/unictype/bidicategory-name: Likewise.
22617         * modules/unictype/bidicategory-byname: Likewise.
22618         * modules/unictype/bidicategory-of: Likewise.
22619         * modules/unictype/bidicategory-test: Likewise.
22620         * modules/unictype/property-bidi-* (Dependencies): Update.
22621         * lib/unictype/bidi_*.c: Update comment.
22622
22623 2011-03-26  Bruno Haible  <bruno@clisp.org>
22624
22625         unictype/bidi*: Rename functions, part 2.
22626         * modules/unictype/bidicategory-name (configure.ac): Update required
22627         libunistring version.
22628         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
22629
22630 2011-03-25  Bruno Haible  <bruno@clisp.org>
22631
22632         New module 'unictype/combining-class-all'.
22633         * modules/unictype/combining-class-all: New file.
22634
22635         Tests for module 'unictype/combining-class-byname'.
22636         * modules/unictype/combining-class-byname-tests: New file.
22637         * tests/unictype/test-combiningclass_byname.c: New file.
22638
22639         New module 'unictype/combining-class-byname'.
22640         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
22641         * lib/unictype/combiningclass_byname.c: New file.
22642         * lib/unictype/combiningclass_byname.gperf: New file.
22643         * modules/unictype/combining-class-byname: New file.
22644
22645         Tests for module 'unictype/combining-class-longname'.
22646         * modules/unictype/combining-class-longname-tests: New file.
22647         * tests/unictype/test-combiningclass_longname.c: New file.
22648
22649         New module 'unictype/combining-class-longname'.
22650         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
22651         * lib/unictype/combiningclass_longname.c: New file.
22652         * modules/unictype/combining-class-longname: New file.
22653
22654         Tests for module 'unictype/combining-class-name'.
22655         * modules/unictype/combining-class-name-tests: New file.
22656         * tests/unictype/test-combiningclass_name.c: New file.
22657
22658         New module 'unictype/combining-class-name'.
22659         * lib/unictype.in.h (uc_combining_class_name): New declaration.
22660         * lib/unictype/combiningclass_name.c: New file.
22661         * modules/unictype/combining-class-name: New file.
22662
22663 2011-03-25  Bruno Haible  <bruno@clisp.org>
22664
22665         unictype/combining-class: Rename source files.
22666         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
22667         of unictype/combining.h.
22668         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
22669         Update.
22670         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
22671         * modules/unictype/combining-class (Description): Fix.
22672         (Files, Makefile.am): Update.
22673         * tests/unictype/test-combiningclass.c: Renamed from
22674         tests/unictype/test-combining.c.
22675         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
22676
22677 2011-03-25  Bruno Haible  <bruno@clisp.org>
22678
22679         unictype: Update list of canonical combining classes.
22680         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
22681
22682 2011-03-25  Bruno Haible  <bruno@clisp.org>
22683
22684         unictype/category-byname: Recognize long names as well.
22685         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
22686         a long name.
22687         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
22688         unictype/categ_byname.h.
22689         (UC_CATEGORY_INDEX_*): New enumeration values.
22690         (uc_general_category_byname): Use uc_general_category_lookup and
22691         convert from index to value.
22692         * lib/unictype/categ_byname.gperf: New file.
22693         * modules/unictype/category-byname (Files): Add
22694         lib/unictype/categ_byname.gperf.
22695         (Depends-on): Add gperf.
22696         (Makefile.am): Add rule for generating unictype/categ_byname.h.
22697         * tests/unictype/test-categ_byname.c (main): Test the recognition of
22698         long names.
22699
22700         Tests for module 'unictype/category-longname'.
22701         * modules/unictype/category-longname-tests: New file.
22702         * tests/unictype/test-categ_longname.c: New file.
22703
22704         New module 'unictype/category-longname'.
22705         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
22706         * lib/unictype/categ_longname.c: New file.
22707         * modules/unictype/category-longname: New file.
22708         * modules/unictype/category-all (Depends-on): Add it.
22709
22710 2011-03-25  Bruno Haible  <bruno@clisp.org>
22711
22712         Tests for module 'unictype/category-LC'.
22713         * modules/unictype/category-LC-tests: New file.
22714         * tests/unictype/test-categ_LC.c: New file, automatically generated.
22715
22716         New module 'unictype/category-LC'.
22717         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
22718         (UC_CATEGORY_LC): New declaration.
22719         (UC_CASED_LETTER): New macro.
22720         * lib/gen-uni-tables.c (is_category_LC): New function.
22721         (output_categories): Also handle category LC.
22722         (UC_CATEGORY_MASK_LC): New enumeration value.
22723         (general_category_byname): Also handle category LC.
22724         * lib/unictype/categ_LC.c: New file.
22725         * lib/unictype/categ_LC.h: New file, automatically generated.
22726         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
22727         category LC.
22728         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
22729         * modules/unictype/category-LC: New file.
22730         * modules/unictype/category-byname (Depends-on): Add
22731         unictype/category-LC.
22732         * modules/unictype/category-all (Depends-on): Likewise.
22733
22734 2011-03-25  Eric Blake  <eblake@redhat.com>
22735
22736         xmalloc: revert yesterday's regression
22737         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
22738         realloc's underlying behavior (allowing allocation of zero-size
22739         objects, especially if malloc-gnu is also in use).
22740
22741 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
22742
22743         maint.mk: add missing version to VC-tag
22744         * top/maint.mk: git tag was missing actual tag name; add it.
22745
22746         valgrind: do leak checking, and exit with code 1 on error (not 0)
22747         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
22748         to VALGRIND.
22749
22750 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
22751
22752         posix-modules: say what it does.
22753         * posix-modules: Add a line to the --help output saying what it does.
22754
22755 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
22756
22757         xmalloc: Do not leak if underlying realloc is C99 compatible.
22758         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
22759         This avoids a leak on C99-based systems.  See
22760         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
22761
22762 2011-03-24  Eric Blake  <eblake@redhat.com>
22763
22764         realloc: document portability problem
22765         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
22766         passing 0 size to realloc.
22767
22768 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
22769
22770         doc: update users.txt
22771         * users.txt: Add cvsps, tmpwatch
22772
22773 2011-03-23  Matt Rice  <ratmice@gmail.com>
22774
22775         doc: update users.txt
22776         * users.txt: Add gdb.
22777
22778 2011-03-23  Jim Meyering  <meyering@redhat.com>
22779
22780         doc: update users.txt
22781         Looking through matches up to the following URL (there are still
22782         several more pages), I found several projects that use gnulib:
22783         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
22784         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
22785         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
22786
22787 2011-03-22  Bruno Haible  <bruno@clisp.org>
22788
22789         unictype/bidi*: Rename functions.
22790         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
22791         uc_bidi_class, uc_is_bidi_class): New declarations.
22792         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
22793         uc_bidi_category_byname.
22794         (uc_bidi_category_byname): New function.
22795         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
22796         u_bidi_category_name.
22797         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
22798         (uc_bidi_category_name): New function.
22799         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
22800         uc_bidi_category.
22801         (uc_bidi_category): New function.
22802         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
22803         uc_is_bidi_category. Invoke uc_bidi_class.
22804         (uc_is_bidi_category): New function.
22805         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
22806         instead of uc_bidi_category_byname.
22807         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
22808         instead of uc_bidi_category_name.
22809         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
22810         uc_bidi_category.
22811         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
22812         instead of uc_is_bidi_category.
22813
22814 2011-03-21  Bruno Haible  <bruno@clisp.org>
22815
22816         New module 'unictype/joininggroup-all'.
22817         * modules/unictype/joininggroup-all: New file.
22818
22819         Tests for module 'unictype/joininggroup-of'.
22820         * modules/unictype/joininggroup-of-tests: New file.
22821         * tests/unictype/test-joininggroup_of.c: New file.
22822         * tests/unictype/test-joininggroup_of.h: New file, automatically
22823         generated by gen-uni-tables.
22824
22825         New module 'unictype/joininggroup-of'.
22826         * modules/unictype/joininggroup-of: New file.
22827         * lib/unictype/joininggroup_of.c: New file.
22828         * lib/unictype/joininggroup_of.h: New file, automatically generated by
22829         gen-uni-tables.
22830
22831         Tests for module 'unictype/joininggroup-byname'.
22832         * modules/unictype/joininggroup-byname-tests: New file.
22833         * tests/unictype/test-joininggroup_byname.c: New file.
22834
22835         New module 'unictype/joininggroup-byname'.
22836         * modules/unictype/joininggroup-byname: New file.
22837         * lib/unictype/joininggroup_byname.c: New file.
22838         * lib/unictype/joininggroup_byname.gperf: New file.
22839
22840         Tests for module 'unictype/joininggroup-name'.
22841         * modules/unictype/joininggroup-name-tests: New file.
22842         * tests/unictype/test-joininggroup_name.c: New file.
22843
22844         New module 'unictype/joininggroup-name'.
22845         * modules/unictype/joininggroup-name: New file.
22846         * lib/unictype/joininggroup_name.c: New file.
22847         * lib/unictype/joininggroup_name.h: New file.
22848
22849         New module 'unictype/joiningtype-all'.
22850         * modules/unictype/joiningtype-all: New file.
22851
22852         Tests for module 'unictype/joiningtype-of'.
22853         * modules/unictype/joiningtype-of-tests: New file.
22854         * tests/unictype/test-joiningtype_of.c: New file.
22855         * tests/unictype/test-joiningtype_of.h: New file, automatically
22856         generated by gen-uni-tables.
22857
22858         New module 'unictype/joiningtype-of'.
22859         * modules/unictype/joiningtype-of: New file.
22860         * lib/unictype/joiningtype_of.c: New file.
22861         * lib/unictype/joiningtype_of.h: New file, automatically generated by
22862         gen-uni-tables.
22863
22864         Tests for module 'unictype/joiningtype-byname'.
22865         * modules/unictype/joiningtype-byname-tests: New file.
22866         * tests/unictype/test-joiningtype_byname.c: New file.
22867
22868         New module 'unictype/joiningtype-byname'.
22869         * modules/unictype/joiningtype-byname: New file.
22870         * lib/unictype/joiningtype_byname.c: New file.
22871
22872         Tests for module 'unictype/joiningtype-name'.
22873         * modules/unictype/joiningtype-name-tests: New file.
22874         * tests/unictype/test-joiningtype_name.c: New file.
22875
22876         New module 'unictype/joiningtype-name'.
22877         * modules/unictype/joiningtype-name: New file.
22878         * lib/unictype/joiningtype_name.c: New file.
22879
22880         unictype: Add support for Arabic shaping properties.
22881         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
22882         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
22883         declarations.
22884         (UC_JOINING_GROUP_*): New enumeration values.
22885         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
22886         declarations.
22887         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
22888         (unicode_joining_type): New variable.
22889         (UC_JOINING_GROUP_*): New enumeration values.
22890         (unicode_joining_group): New variable.
22891         (fill_arabicshaping, joining_type_as_c_identifier,
22892         output_joining_type_test, output_joining_type,
22893         joining_group_as_c_identifier, output_joining_group_test,
22894         output_joining_group): New functions.
22895         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
22896         fill_arabicshaping and output_joining_type_test, output_joining_type,
22897         output_joining_group_test, output_joining_group.
22898         Reported by Simon Josefsson.
22899
22900 2011-03-21  Jim Meyering  <meyering@redhat.com>
22901
22902         strftime: fix a bug in yesterday's change
22903         * lib/strftime.c (add): Accommodate width's initial value of -1.
22904         Otherwise, nstrftime would copy uninitialized data into
22905         the result buffer.
22906
22907 2011-03-21  Jim Meyering  <meyering@redhat.com>
22908
22909         tests: add strftime-tests module
22910         * tests/test-strftime.c: New file.
22911         * modules/strftime-tests: New module.
22912
22913 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22914
22915         strftime: don't assume a byte count fits in 'int'
22916         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
22917         found this problem by static analysis, using gcc -Wstrict-overflow
22918         (GCC 4.5.2, x86-64).  This reported an optimization that depended
22919         on an integer overflow having undefined behavior, but it turns out
22920         that the argument is a size, which might not fit in 'int' anyway,
22921
22922 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22923
22924         stdio: don't require ignore_value around fwrite
22925
22926         This patch works around libc bug 11959
22927         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
22928         Without this patch, applications must often write
22929         ignore_value (fwrite (...)) even though the ignore_value is
22930         not helpful here.  It's common to write many objects, using
22931         fwrite/printf/etc., and then use ferror to detect output error.
22932
22933         I considered making this patch optional, but decided against it,
22934         because libc is obviously being inconsistent here: there is no
22935         reason libc should insist that user code must inspect fwrite
22936         return's value without also insisting that it inspect printf's,
22937         putchar's, etc.  If user code wants to have a strict style where
22938         all these functions' values are checked (so that ferror need not
22939         be checked), we could add support for that style in a new gnulib
22940         module, but in the meantime it's better to be consistent and to
22941         support common usage.
22942
22943         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
22944         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
22945         that we are compiling in checking mode, and if not C++, and
22946         if not already wrapping fwrite for some other reason.
22947         (fwrite): #define to rpl_fwrite if the latter is defined.
22948
22949 2011-03-20  Bruno Haible  <bruno@clisp.org>
22950
22951         verror: Fix compilation error introduced on 2011-02-13.
22952         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
22953         instead of __attribute__.
22954         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22955
22956 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22957             Bruno Haible  <bruno@clisp.org>
22958
22959         socklen: do not depend on sys_socket
22960         While trying to modify Emacs to use gnulib's socklen module,
22961         I discovered a circular dependency: socklen depends on sys_socket
22962         and vice versa.  Emacs can use socklen, but it does not need
22963         sys_socket because it has its own substitute for sys/socket.h.
22964         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
22965         gl_TYPE_SOCKLEN_T.
22966         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
22967         gl_PREREQ_SYS_H_SOCKET.
22968         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
22969         gl_PREREQ_SYS_H_SOCKET.
22970         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
22971         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
22972         * modules/socklen (Depends-on): Do not depend on sys_socket.
22973         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
22974
22975 2011-03-20  Jim Meyering  <meyering@redhat.com>
22976
22977         maint.mk: sort file names *after* new transformation
22978         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
22979         prefix would have led to an unwarranted failure in GNU parted.
22980         Sort after that transformation.
22981
22982 2011-03-19  Jim Meyering  <meyering@redhat.com>
22983
22984         maint.mk: fix po-file syntax-check rule
22985         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
22986         Patch by Bruno Haible.
22987
22988 2011-03-19  Bruno Haible  <bruno@clisp.org>
22989
22990         socklen: Update comment.
22991         * m4/socklen.m4: Update comment about platforms.
22992
22993 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
22994             Bruno Haible  <bruno@clisp.org>
22995
22996         inet_ntop, inet_pton: Simplify.
22997         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
22998         documented to provide socklen_t and we already depend on sys_socket.
22999         * modules/inet_pton (Depends-on): Likewise.
23000         * lib/arpa_inet.in.h: Adjust comment.
23001
23002 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23003             Bruno Haible  <bruno@clisp.org>
23004
23005         netdb: Simplify.
23006         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
23007         documented to provide socklen_t and we already depend on sys_socket.
23008         * lib/netdb.in.h: Adjust comment.
23009
23010 2011-03-19  Bruno Haible  <bruno@clisp.org>
23011
23012         sys_socket, netdb: Document problem with socklen_t.
23013         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
23014         platforms.
23015         * doc/posix-headers/netdb.texi: Likewise.
23016
23017 2011-03-18  Eric Blake  <eblake@redhat.com>
23018
23019         maint.mk: let po check work in VPATH build
23020         * top/maint.mk (po_file): Allow cfg.mk override.
23021         (sc_po_check): Allow VPATH use.
23022         Reported by Jiri Denemark.
23023
23024 2011-03-16  Jim Meyering  <meyering@redhat.com>
23025
23026         maint.mk: allow fine-grained syntax-check exclusion via Make variables
23027         Before, you would have had to create one .x-sc_ file per rule in order
23028         to exempt offending files.  Now, you may instead use a Make variable --
23029         usually defined in cfg.mk -- whose name identifies the affected rule.
23030         * top/maint.mk (_sc_excl): Define.
23031         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
23032         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
23033
23034 2011-03-13  Bruno Haible  <bruno@clisp.org>
23035
23036         ignore-value tests: Avoid warnings.
23037         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
23038         empty for gcc < 3.4.
23039
23040 2011-03-13  Bruno Haible  <bruno@clisp.org>
23041
23042         passfd: Fix link error on Solaris.
23043         * modules/passfd (Description): Correct.
23044         (Depends-on): Add socketlib.
23045         (Link): New section.
23046         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
23047
23048 2011-03-13  Bruno Haible  <bruno@clisp.org>
23049
23050         passfd: Fix link error on AIX 5.2.
23051         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
23052
23053 2011-03-13  Bruno Haible  <bruno@clisp.org>
23054
23055         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
23056         * lib/sys_socket.in.h: Include <stddef.h>.
23057         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
23058         CMSG_FIRSTHDR. Remove unused variable.
23059
23060 2011-03-13  Bruno Haible  <bruno@clisp.org>
23061
23062         passfd: Fix compilation error on OpenBSD.
23063         * lib/passfd.c: Include <sys/uio.h>.
23064
23065 2011-03-13  Bruno Haible  <bruno@clisp.org>
23066
23067         passfd test: Fix warnings.
23068         * tests/test-passfd.c: Include <sys/wait.h>.
23069         (main): Fix typo.
23070
23071 2011-03-13  Bruno Haible  <bruno@clisp.org>
23072
23073         passfd module, part 4, tweaks.
23074         * tests/test-passfd.c: Reorder includes.
23075         (main): Fix perror and printf calls.
23076
23077 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23078
23079         passfd module, part 4.
23080         * modules/passfd-tests: New file.
23081         * tests/test-passfd.c: New file.
23082
23083 2011-03-13  Jim Meyering  <meyering@redhat.com>
23084
23085         Makefile: rely on GNU make; derive syntax-check rule names
23086         Rather than requiring that each sc_ rule be listed as a dependent
23087         of "check", use features of GNU make to derive the list.
23088         * Makefile (syntax-check-rules): Define.
23089         (check): Depend on the new variable, not the hard-coded list.
23090
23091 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
23092             Bruno Haible  <bruno@clisp.org>
23093
23094         passfd module, part 3.
23095         * lib/passfd.h (recvfd): Add a flags argument.
23096         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
23097         (recvfd): Add a flags argument.
23098         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
23099         exists.
23100         * modules/passfd (Depends-on): Add cloexec.
23101         Suggested by Eric Blake.
23102
23103 2011-03-13  Bruno Haible  <bruno@clisp.org>
23104
23105         passfd module, part 2, tweaks.
23106         * modules/passfd (Files): Reorder.
23107         (Depends-on): Remove errno.
23108         (Include): Remove <sys/socket.h>, <sys/un.h>.
23109         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
23110         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
23111         specification header. Include <sys/socket.h> always. Don't include
23112         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
23113         (sendfd): Clarify that it sets errno when it fails.
23114         (recvfd): Fix specification.
23115
23116 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23117
23118         passfd module, part 2.
23119         * modules/passfd: New file.
23120         * lib/passfd.h: New file.
23121         * lib/passfd.c: New file.
23122
23123 2011-03-12  Bruno Haible  <bruno@clisp.org>
23124
23125         wcswidth, mbswidth: Avoid integer overflow.
23126         * lib/wcswidth.c: Include <limits.h>.
23127         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
23128         * lib/mbswidth.c: Include <limits.h>.
23129         (mbsnwidth): Avoid 'int' overflow.
23130         Reported by Jim Meyering.
23131
23132 2011-03-12  Bruno Haible  <bruno@clisp.org>
23133
23134         futimens, utimensat: Avoid endless recursion on Solaris 10.
23135         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
23136         Solaris.
23137         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
23138         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
23139
23140 2011-03-11  Jim Meyering  <meyering@redhat.com>
23141
23142         maint.mk: relax a regexp to accommodate other formatting styles
23143         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
23144         between "ngettext" and the following "(".
23145
23146 2011-03-11  Pádraig Brady <P@draigBrady.com>
23147
23148         maint.mk: suppress a false positive warning
23149         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
23150         diagnostics are marked with ngettext.
23151
23152 2011-03-10  Eric Blake  <eblake@redhat.com>
23153
23154         wchar: add explicit dependencies, for Tru64
23155         * modules/mbmemcasecoll (Depends-on): Add wchar.
23156         * modules/mbtowc (Depends-on): Likewise.
23157         * modules/vasnprintf (Depends-on): Likewise.
23158         * modules/unistdio/u-printf-args (Depends-on): Likewise.
23159         * modules/wctomb (Depends-on): Likewise.
23160         Reported by Peter O'Gorman.
23161
23162 2011-03-08  Bruno Haible  <bruno@clisp.org>
23163
23164         passfd module, part 1, tweaks.
23165         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
23166         Improve indentation. Improve AC_MSG_CHECKING messages.
23167         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
23168         gl_SOCKET_FAMILIES.
23169
23170 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23171
23172         passfd module, part 1.
23173         * m4/afunix.m4: New file.
23174         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
23175         sockets.
23176
23177 2011-03-08  Bruno Haible  <bruno@clisp.org>
23178
23179         regex-quote: New API.
23180         * lib/regex-quote.h: Include <stdbool.h>.
23181         (struct regex_quote_spec): New type.
23182         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23183         New declarations.
23184         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23185         'const struct regex_quote_spec *' argument.
23186         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
23187         (pcre_special): New constant.
23188         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23189         New functions.
23190         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23191         'const struct regex_quote_spec *' argument.
23192         * modules/regex-quote (Depends-on): Add stdbool.
23193         * tests/test-regex-quote.c (check): Update for new API. Add test for
23194         anchored results.
23195         * NEWS: Mention the API change.
23196         Reported by Reuben Thomas and Eric Blake.
23197
23198 2011-03-06  Bruno Haible  <bruno@clisp.org>
23199
23200         regex-quote: Fix creation of POSIX extended regular expressions.
23201         * lib/regex-quote.c (ere_special): Add grouping and alternation
23202         operators.
23203
23204 2011-03-05  Bruno Haible  <bruno@clisp.org>
23205
23206         doc: Improve doc regarding autopoint vs. gnulib.
23207         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
23208         disable autopoint while running autoreconf.
23209         Suggested by Ralf Wildenhues.
23210
23211 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23212
23213         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
23214         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
23215
23216 2011-03-03  Bruce Korb  <bkorb@gnu.org>
23217
23218         parse-duration: remove xalloc.h dependency
23219         * lib/parse-duration.c (parse_period): handle NULL return from
23220         strdup instead of calling xstrdup().
23221         * modules/parse-duration: remove "xalloc" dependency
23222
23223 2011-03-03  Matthew Booth  <mbooth@redhat.com>
23224
23225         bootstrap: honor m4_base when running aclocal
23226         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
23227
23228 2011-03-02  Jim Meyering  <meyering@redhat.com>
23229
23230         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
23231         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
23232         on request from Matt Booth.
23233
23234 2011-03-01  Eric Blake  <eblake@redhat.com>
23235
23236         test-link: work on Hurd
23237         * tests/test-link.h (test_link): Hurd rejects linking directories
23238         with EISDIR instead of the POSIX-mandated EPERM.
23239
23240 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
23241
23242         stdio: simplify by moving files to printf-posix, sigpipe
23243         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
23244         since this symbol is needed only if printf is replaced.
23245         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
23246         Require gl_ASM_SYMBOL_PREFIX.
23247         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
23248         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
23249         (Depends-on): Add 'raise'.
23250         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
23251         * modules/stdio (Files): Remove lib/stdio-write.c,
23252         m4/asm-underscore.m4.
23253         (Depends-on): Remove 'raise'.
23254
23255         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
23256         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
23257         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
23258         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
23259
23260 2011-02-28  Bruno Haible  <bruno@clisp.org>
23261
23262         localcharset: Assume ANSI C behaviour of free().
23263         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
23264         calling free().
23265         Suggested by Simon Josefsson <simon@josefsson.org>.
23266
23267 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
23268             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
23269             Bruno Haible  <bruno@clisp.org>  (tiny change)
23270
23271         On Cygwin, use /proc file system instead of win32 API.
23272         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
23273         Win32 file names.
23274         (DllMain): Simplify by removing Cygwin specific code.
23275         (find_shared_library_fullname): Use Linux specific implementation also
23276         for Cygwin.
23277         (get_shared_library_fullname): Update accordingly.
23278         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
23279         Win32 file names.
23280         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
23281         Cygwin specific code.
23282
23283 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
23284             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
23285
23286         Fix OpenMP flag detection for various Fortran compilers.
23287         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
23288         OpenMP-conditional compilation construct, to force compile
23289         failure with missing OpenMP flag.
23290         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
23291
23292 2011-02-25  Eric Blake  <eblake@redhat.com>
23293
23294         strstr: expand test coverage
23295         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
23296         compilation.
23297         * tests/test-memmem.c (main): Duplicate tests.
23298         * tests/test-strcasestr.c (main): Likewise.
23299         * tests/test-c-strcasestr.c (main): Likewise.
23300
23301 2011-02-25  Jim Meyering  <meyering@redhat.com>
23302
23303         maint.mk: detect missing-NL-at-EOF, too
23304         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
23305         it also detects when a file lacks a newline at EOF.
23306         (require_exactly_one_NL_at_EOF_): Renamed from
23307         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
23308         since people may well have .x-sc_... file names tied to the
23309         existing name.  Suggested by Eric Blake.
23310
23311 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
23312
23313         dirname: move m4/dos.m4 functionality into lib/dosname.h
23314
23315         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
23316         extracts symbols from it, puts them into config.h; but it's much
23317         easier to use the symbols directly.  filename.h already does this,
23318         but it disagrees with dos.m4 in some respects.  This patch
23319         introduces a different include file dosname.h that packages up
23320         dos.m4, and then later we can work on merging filename.h and
23321         dosname.h.  Applications that need only the easy-to-configure
23322         symbols should consider including dosname.h rather than dirname.h.
23323         * NEWS: Mention incompatible changes.
23324         * m4/dos.m4: Remove.
23325         * lib/dosname.h, modules/dosname: New files.
23326         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
23327         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
23328         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
23329         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
23330         Include dosname.h, not dirname.h.
23331         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
23332         Include dosname.h, for definitions of symbols like ISSLASH
23333         that used to be in config.h.
23334         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
23335         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23336         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23337         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23338         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
23339         * modules/rmdir (Files): Likewise.
23340         * modules/stat (Files): Likewise.
23341         * modules/unlink (Files): Likewise.
23342         * modules/dirname-lgpl (Depends-on): Add dosname.
23343         * modules/lstat (Depends-on): Likewise.
23344         * modules/openat (Depends-on): Likewise.
23345         * modules/rmdir (Depends-on): Likewise.
23346         * modules/savewd (Depends-on): Likewise.
23347         * modules/stat (Depends-on): Likewise.
23348         * modules/unlink (Depends-on): Likewise.
23349         * modules/openat (Depends-on): Remove dirname-lgpl.
23350         * modules/savewd (Depends-on): Likewise.
23351         * tests/test-dirname.c: Do not use removed symbols like
23352         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
23353         the remaining symbols, e.g., ISSLASH ('\\').
23354
23355 2011-02-25  Eric Blake  <eblake@redhat.com>
23356
23357         strstr: revert patches that introduced bug and pessimization
23358         * lib/str-two-way.h: Add another reference.
23359         (two_way_short_needle, two_way_long_needle): Revert changes from
23360         2011-02-24; they pessimize search speed.
23361         (critical_factorization): Partially revert changes from
23362         2010-06-22; they violate the requirement that the left half of the
23363         needle be smaller than the period of the needle.
23364
23365 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
23366
23367         filenamecat: remove unnecessary dependency on dirname-lgpl
23368         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
23369         is no direct dependency, just an indirect one via filenamecat-lgpl.
23370
23371         remove: remove unnecessary use of m4/dos.m4
23372         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
23373         * modules/remove (FILES): Remove m4/dos.m4.
23374
23375         * lib/openat-proc.c: Don't include dirname.h; not needed.
23376
23377         backupfile: remove unnecessary use of m4/dos.m4
23378         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
23379         of its symbols are used by the backupfile code.  backupfile.c does
23380         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
23381         for the rare case of programs that want all their backup file
23382         names to live within 8+3 limits, and dos.m4 doesn't address that.
23383         * modules/backupfile (Files): Remove m4/dos.m4.
23384
23385 2011-02-24  Jim Meyering  <meyering@redhat.com>
23386
23387         strstr: fix a bug whereby strstr would mistakenly return NULL
23388         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
23389         in period calculation.
23390         (two_way_long_needle): Likewise.
23391         The original problem was reported by Mike Stump in
23392         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
23393         Ralf Wildenhues provided the short needle and haystack.
23394         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
23395         Add a more involved test to trigger the bug in two_way_long_needle.
23396
23397 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23398
23399         gnulib-tool: remove use of bold display in help screen
23400         * gnulib-tool (func_usage): Do not use bold display anymore in the
23401         help screen.  That was just meant to be a temporary emphasis for a
23402         backward-incompatible change.
23403
23404 2011-02-23  Bruno Haible  <bruno@clisp.org>
23405
23406         Fix misindentation of preprocessor directives.
23407         * lib/argp-namefrob.h: Reindent preprocessor directives.
23408         * lib/getopt_int.h (struct _getopt_data): Likewise.
23409         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
23410         * lib/vasnprintf.c (decode_long_double): Likewise.
23411         * tests/test-argmatch.c: Insert blank lines, for clarity.
23412         * tests/test-exclude.c: Likewise.
23413
23414 2011-02-22  Bruno Haible  <bruno@clisp.org>
23415
23416         ioctl: Fix for MacOS X in 64-bit mode.
23417         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
23418         value.
23419         Suggested by Eric Blake.
23420         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
23421
23422 2011-02-22  Jim Meyering  <meyering@redhat.com>
23423
23424         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
23425         * Makefile (sc_cpp_indent_check): Don't limit the check to files
23426         in lib/.
23427
23428 2011-02-22  Eric Blake  <eblake@redhat.com>
23429
23430         maint: avoid any CDPATH issue
23431         * Makefile (sc_cpp_indent_check): Anchor cd argument.
23432
23433         maint: adjust cpp indentation for my modules, as well
23434         * Makefile (sc_cpp_indent_check): Add my name.
23435         * lib/fbufmode.c: Filter through cppi.
23436         * lib/fpurge.c: Likewise.
23437         * lib/freadable.c: Likewise.
23438         * lib/freading.c: Likewise.
23439         * lib/fwritable.c: Likewise.
23440         * lib/fwriting.c: Likewise.
23441         * lib/sigaction.c: Likewise.
23442
23443 2011-02-22  Jim Meyering  <meyering@redhat.com>
23444
23445         maint: adjust cpp indentation to reflect nesting depth
23446         I.e., in a block of code that begins with an unnested "#if",
23447         put one space between the "#" in column 1 and following token.
23448         For example,
23449         -#include <sys/vfs.h>
23450         +# include <sys/vfs.h>
23451         Do this only in .c files that are part of a module I maintain.
23452         * lib/linkat.c: Filter through cppi.
23453         * lib/nanosleep.c: Likewise.
23454         * lib/openat.c: Likewise.
23455         * lib/openat-die.c: Likewise.
23456         * lib/dup3.c: Likewise.
23457         * lib/fchownat.c: Likewise.
23458         * lib/flock.c: Likewise.
23459         * lib/fsync.c: Likewise.
23460         * lib/fts.c: Likewise.
23461         * lib/getpass.c: Likewise.
23462         * lib/gettimeofday.c: Likewise.
23463         * lib/userspec.c: Likewise.
23464         * Makefile (sc_cpp_indent_check): New rule, to check this.
23465
23466 2011-02-22  Bruno Haible  <bruno@clisp.org>
23467
23468         New module 'wctomb'.
23469         * lib/stdlib.in.h (wctomb): New declaration.
23470         * lib/wctomb.c: New file.
23471         * lib/wctomb-impl.h: New file.
23472         * m4/wctomb.m4: New file.
23473         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
23474         REPLACE_WCTOMB.
23475         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
23476         REPLACE_WCTOMB.
23477         * modules/wctomb: New file.
23478         * tests/test-stdlib-c++.cc: Test signature of wctomb.
23479         * doc/posix-functions/wctomb.texi: Mention the new module.
23480         * modules/wctob (Depends-on): Add wctomb.
23481
23482 2011-02-22  Bruno Haible  <bruno@clisp.org>
23483
23484         New module 'mbtowc'.
23485         * lib/stdlib.in.h (mbtowc): New declaration.
23486         * lib/mbtowc.c: New file.
23487         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
23488         * m4/mbtowc.m4: New file.
23489         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
23490         REPLACE_MBTOWC.
23491         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
23492         REPLACE_MBTOWC.
23493         * modules/mbtowc: New file.
23494         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
23495         * doc/posix-functions/mbtowc.texi: Mention the new module.
23496         * modules/btowc (Depends-on): Add mbtowc.
23497
23498 2011-02-22  Bruno Haible  <bruno@clisp.org>
23499
23500         wcrtomb: Add more tests for native Windows platforms.
23501         * tests/test-wcrtomb-w32-1.sh: New file.
23502         * tests/test-wcrtomb-w32-2.sh: New file.
23503         * tests/test-wcrtomb-w32-3.sh: New file.
23504         * tests/test-wcrtomb-w32-4.sh: New file.
23505         * tests/test-wcrtomb-w32-5.sh: New file.
23506         * tests/test-wcrtomb-w32.c: New file.
23507         * modules/wcrtomb-tests (Files): Add them.
23508         (Makefile.am): Arrange to run these tests.
23509         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
23510         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
23511
23512 2011-02-20  Bruno Haible  <bruno@clisp.org>
23513
23514         wcrtomb: Enhance test.
23515         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
23516
23517 2011-02-20  Bruno Haible  <bruno@clisp.org>
23518
23519         mbrtowc: Tiny optimization.
23520         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
23521
23522 2011-02-20  Jim Meyering  <meyering@redhat.com>
23523
23524         test-exclude.c: remove unmatched #endif
23525         * tests/test-exclude.c: Remove stray #endif, left over from
23526         the change of a week ago.
23527
23528 2011-02-19  Jim Meyering  <meyering@redhat.com>
23529
23530         git-version-gen: skip "-dirty" check when appropriate
23531         * build-aux/git-version-gen: Don't run any git commands when the
23532         version string comes from .tarball-version.  Prior to this, we
23533         would run git update-index --refresh even from a just-unpacked
23534         tarball directory, and that could affect a .git/ directory in a
23535         parent of the build directory.  Reported by Mike Frysinger.
23536
23537 2011-02-19  Bruno Haible  <bruno@clisp.org>
23538
23539         unictype/property-byname: Reduce the size of the 'data' segment.
23540         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
23541
23542 2011-02-19  Bruno Haible  <bruno@clisp.org>
23543
23544         unictype/scripts: Reduce the size of the 'data' segment.
23545         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
23546         '%pic'.
23547         * lib/unictype/scripts_byname.gperf: Regenerated.
23548
23549 2011-02-19  Bruno Haible  <bruno@clisp.org>
23550
23551         stdint: Update documentation.
23552         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
23553
23554 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
23555
23556         stdint: omit redundant check for wchar.h
23557         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
23558         always tests whether wchar.h exists, so remove the now-redundant test.
23559
23560 2011-02-18  Bruno Haible  <bruno@clisp.org>
23561
23562         stdint: Cut dependency to module 'wchar'.
23563         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
23564         include the necessary prerequisites.
23565         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
23566         * modules/stdint (Depends-on): Remove wchar.
23567         (Makefile.am): Substitute HAVE_WCHAR_H.
23568         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
23569
23570 2011-02-18  Eric Blake  <eblake@redhat.com>
23571
23572         longlong: skip, rather than fail, on cross-compilation
23573         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
23574         when cross-compiling; regression from 2011-02-16.
23575
23576 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23577
23578         * NEWS: Mention 2011-02-08 change to stdlib.
23579
23580 2011-02-17  Bruno Haible  <bruno@clisp.org>
23581
23582         getloadavg: Add comments about platforms.
23583         * m4/getloadavg.m4: Add comment.
23584         * lib/getloadavg.c: Likewise.
23585
23586 2011-02-17  Bruno Haible  <bruno@clisp.org>
23587
23588         getloadavg: Fix link error on Solaris 2.6.
23589         * modules/getloadavg (Link): New section.
23590         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
23591         linking test-getloadavg.
23592         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
23593         getloadavg.
23594
23595 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23596
23597         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
23598         It was 'int', but this doesn't match the IRIX 6.5 manual.
23599         Suggested by Bruno Haible in
23600         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
23601
23602 2011-02-17  Bruno Haible  <bruno@clisp.org>
23603
23604         havelib: Fix comments.
23605         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
23606         change.
23607
23608 2011-02-17  Bruno Haible  <bruno@clisp.org>
23609
23610         havelib: Update config.rpath.
23611         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
23612
23613 2011-02-17  Bruno Haible  <bruno@clisp.org>
23614
23615         getloadavg test: Add some plausibility checks.
23616         * tests/test-getloadavg.c (check_avg): Print a warning when the value
23617         is improbable.
23618
23619 2011-02-16  Eric Blake  <eblake@redhat.com>
23620
23621         maintainer-makefile: make syntax-check a no-op from tarballs
23622         * top/maint.mk (no-vc-detected): New rule.
23623         (local-checks-available): Use it to avoid hanging if someone tries
23624         'make syntax-check' from a tarball.  Also append to any non-syntax
23625         checks already defined in cfg.mk.
23626
23627 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
23628
23629         longlong: tune, particularly for common case of c99
23630
23631         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
23632         or running anything if c99, or if unsigned long long int does not
23633         work.  In either case, we know the answer without further tests.
23634         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
23635         it at most once, and use its results for both long long int and
23636         unsigned long long int.  This is more likely to be efficient in
23637         the common case where the program wants to check for both long
23638         long int and unsigned long long int.
23639         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
23640         since the answer is already known.
23641
23642 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
23643
23644         getloadavg: set errno
23645         * lib/getloadavg.c: Set errno when returning -1.  If no other
23646         error number looks appropriate, set it to ENOSYS if the getloadavg
23647         looks like it can't possibly ever work, ENOTSUP otherwise.
23648         Suggested by Bruno Haible in
23649         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
23650
23651         getloadavg: trim unused parts and speed up 'configure'
23652         * NEWS: Document this.
23653         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
23654         always compiled if getloadavg is absent.
23655         Move test code to ...
23656         * tests/test-getloadavg.c: New file, containing previous
23657         contents of test from lib/getloadavg.c.  It also contains
23658         suggestions by Bruno Haible in
23659         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
23660         * modules/getloadavg-tests: New file.
23661         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
23662         Do tests in the same order as they're needed for getloadavg.c.
23663         Omit setgid-related tests that generate symbols KMEM_GROUP,
23664         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
23665         Do only the tests that are needed to see whether the system has
23666         getloadavg, moving the other tests into ...
23667         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
23668         NLIST_NAME_UNION; nobody should be using it.  Do not define
23669         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
23670         relevant, as the user of this module shouldn't care how getloadavg
23671         is implemented.
23672
23673         getloadavg: omit unused var
23674         * lib/getloadavg.c (getloadavg): Omit unused local variable.
23675
23676 2011-02-15  Jim Meyering  <meyering@redhat.com>
23677
23678         doc: update users.txt
23679         * users.txt: Update iwhd's URL.
23680
23681 2011-02-13  Bruno Haible  <bruno@clisp.org>
23682
23683         Consistent macro naming for macros that use GCC __attribute__.
23684         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
23685         _ATTRIBUTE_NONNULL_.
23686         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
23687         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
23688         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
23689         ATTRIBUTE_DEPRECATED.
23690         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
23691         ATTRIBUTE_NORETURN.
23692         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23693         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23694         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23695         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23696         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
23697         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
23698         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
23699         ATTRIBUTE_SENTINEL.
23700         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
23701         ATTRIBUTE_RETURN_CHECK.
23702         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
23703         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
23704         ATTRIBUTE_NORETURN.
23705         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
23706         Reported by Paul Eggert.
23707
23708 2011-02-13  Bruno Haible  <bruno@clisp.org>
23709
23710         Don't interfere with a program's definition of __attribute__.
23711         * lib/argp.h (__attribute__): Remove definition.
23712         (_GL_ATTRIBUTE_FORMAT): New macro.
23713         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
23714         * lib/argp-fmtstream.h (__attribute__): Remove definition.
23715         (_GL_ATTRIBUTE_FORMAT): New macro.
23716         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
23717         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
23718         GCC 3 or newer.
23719         * lib/error.h (__attribute__): Remove definition.
23720         (_GL_ATTRIBUTE_FORMAT): New macro.
23721         (error, error_at_line): Use it.
23722         * lib/hash.h (__attribute__): Remove definition.
23723         (ATTRIBUTE_WUR): Update definition. Define always.
23724         * lib/openat.h (__attribute__): Remove definition.
23725         (ATTRIBUTE_NORETURN): Update definition. Define always.
23726         * lib/sigpipe-die.h (__attribute__): Remove definition.
23727         (ATTRIBUTE_NORETURN): Update definition. Define always.
23728         * lib/vasnprintf.h (__attribute__): Remove definition.
23729         (_GL_ATTRIBUTE_FORMAT): New macro.
23730         (asnprintf, vasnprintf): Use it.
23731         * lib/xalloc.h (__attribute__): Remove definition.
23732         (ATTRIBUTE_NORETURN): Update definition. Define always.
23733         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
23734         * lib/xmemdup0.h (__attribute__): Remove definition.
23735         (ATTRIBUTE_NORETURN): Update definition. Define always.
23736         * lib/xprintf.h (__attribute__): Remove definition.
23737         (_GL_ATTRIBUTE_FORMAT): New macro.
23738         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
23739         * lib/xstrtol.h (__attribute__): Remove definition.
23740         (ATTRIBUTE_NORETURN): Update definition. Define always.
23741         * lib/xvasprintf.h (__attribute__): Remove definition.
23742         (_GL_ATTRIBUTE_FORMAT): New macro.
23743         (xasprintf, xvasprintf): Use it.
23744         * tests/test-argmatch.c (__attribute__): Remove definition.
23745         (ATTRIBUTE_NORETURN): Update definition. Define always.
23746         * tests/test-exclude.c (__attribute__): Remove definition.
23747         (ATTRIBUTE_NORETURN): Update definition. Define always.
23748         Reported by Paul Eggert.
23749
23750 2011-02-13  Bruno Haible  <bruno@clisp.org>
23751
23752         mbrtowc: Add more tests for native Windows platforms.
23753         * tests/test-mbrtowc-w32-1.sh: New file.
23754         * tests/test-mbrtowc-w32-2.sh: New file.
23755         * tests/test-mbrtowc-w32-3.sh: New file.
23756         * tests/test-mbrtowc-w32-4.sh: New file.
23757         * tests/test-mbrtowc-w32-5.sh: New file.
23758         * tests/test-mbrtowc-w32.c: New file.
23759         * modules/mbrtowc-tests (Files): Add them.
23760         (Makefile.am): Arrange to run these tests.
23761         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
23762         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
23763
23764 2011-02-13  Bruno Haible  <bruno@clisp.org>
23765
23766         mbrtowc: Work around native Windows bug.
23767         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
23768         guess when no suitable locale for testing was found.
23769         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
23770
23771 2011-02-13  Bruno Haible  <bruno@clisp.org>
23772
23773         mbsinit: Work around mingw bug.
23774         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
23775         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
23776         Windows.
23777         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
23778
23779 2011-02-13  Bruno Haible  <bruno@clisp.org>
23780
23781         mbsinit: Don't crash for a NULL argument.
23782         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
23783         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
23784
23785 2011-02-13  Bruno Haible  <bruno@clisp.org>
23786
23787         Don't interfere with a program's definition of __attribute__.
23788         * lib/stdio.in.h (__attribute__): Remove definition.
23789         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
23790         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
23791         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
23792         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
23793         * lib/string.in.h (__attribute__): Remove definition.
23794         Reported by Paul Eggert.
23795
23796 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23797
23798         stdlib: don't get in the way of non-GCC __attribute__
23799         See thread starting at
23800         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
23801         Revert previous stdlib change, installing the following instead:
23802         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
23803         to get in the way of a non-GCC compiler that supports __attribute__.
23804         (_GL_ATTRIBUTE_RETURN): New macro.
23805         (_Exit): Use it instead of __attribute__.
23806
23807 2011-02-12  Bruno Haible  <bruno@clisp.org>
23808
23809         quotearg test: Avoid test failure on mingw.
23810         * tests/test-quotearg.sh: Convert the locale identifier from native
23811         Windows syntax to Unix syntax.
23812
23813 2011-02-12  Bruno Haible  <bruno@clisp.org>
23814
23815         setlocale: Prefer gnulib's override over libintl's override.
23816         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
23817         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
23818         GNULIB_defined_setlocale is set.
23819
23820 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23821
23822         stdlib: support non-GCC __attribute__
23823
23824         Fix a serious and tricky problem encountered when attempting to
23825         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
23826         5.5, but it crashed due to memory corruption on Solaris 10 with
23827         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
23828         bits that are otherwise zero.  This tagging is optional inside
23829         Emacs but is preferred and is used when __attribute__ ((__aligned
23830         (8))) works, as it does with both recent-enough GCC and with Sun C
23831         5.11.  However, Sun C 5.11 is not GCC and does not #define
23832         __GNUC__ and __GNUC_MINOR__.
23833
23834         When I added the getloadavg module to Emacs, it brought in
23835         stdlib.in.h, which contained this fragment:
23836
23837            #ifndef __attribute__
23838            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
23839            #  define __attribute__(Spec)   /* empty */
23840            # endif
23841            #endif
23842
23843         When files that include <stdlib.h> were compiled with Sun C 5.11,
23844         the above code disabled __attribute__ ((__aligned (8))), which
23845         caused variables to not be properly aligned, which eventually led
23846         to the pointer corruption mentioned above.  (This was a bit hard
23847         to diagnose, unfortunately.)
23848
23849         Several "#define __attribute__(X) /* empty */" code snippets need
23850         to be eradicated from Gnulib to work with non-GCC compilers that
23851         support __attribute__.  The Autoconf way to do this is to test for
23852         each kind of attribute that we want support for, and selectively
23853         enable that in source code.
23854
23855         Fix this problem just for stdlib.h, by adding a test for the
23856         __noreturn__ attribute, and change stdlib.in.h to use that test
23857         when needed.  This technique can be easily generalized to the
23858         other *.in.h files and attributes, and a similar technique can be
23859         used for *.h and *.c files.  This patch is enough to solve the
23860         problem for Emacs + getloadavg, and I thought I'd publish it for
23861         feedback before undertaking further, similar fixes in other
23862         modules.
23863
23864         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
23865         because it's not needed for stdlib.h.  It merely substitutes the
23866         value directly into stdlib.h.  We may well need to #define it, or
23867         similar symbols, for other modules, but it's nice to also have an
23868         option to not #define it for applications like Emacs that do not
23869         need it.
23870
23871         * lib/stdlib.in.h (__attribute__): Do not #define.
23872         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
23873         be defined only if the _Exit module is also used.
23874         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
23875         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
23876         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
23877         platforms.
23878         * modules/_Exit (Files): Add m4/attribute.m4.
23879         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
23880         * m4/attribute.m4: New file.
23881
23882 2011-02-12  Bruno Haible  <bruno@clisp.org>
23883
23884         wcsrtombs: Work around bug on native Windows.
23885         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
23886         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
23887         instead of len.
23888         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
23889
23890 2011-02-12  Bruno Haible  <bruno@clisp.org>
23891
23892         mbsrtowcs: Work around bug on native Windows.
23893         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
23894         against mingw bug.
23895         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
23896
23897 2011-02-12  Bruno Haible  <bruno@clisp.org>
23898
23899         Avoid setlocale bugs in tests.
23900         * modules/btowc (Dependencies): Add setlocale.
23901         * modules/c-strcase (Dependencies): Likewise.
23902         * modules/mbmemcasecmp (Dependencies): Likewise.
23903         * modules/mbmemcasecoll (Dependencies): Likewise.
23904         * modules/mbrtowc (Dependencies): Likewise.
23905         * modules/mbscasecmp (Dependencies): Likewise.
23906         * modules/mbscasestr (Dependencies): Likewise.
23907         * modules/mbschr (Dependencies): Likewise.
23908         * modules/mbscspn (Dependencies): Likewise.
23909         * modules/mbsinit (Dependencies): Likewise.
23910         * modules/mbsncasecmp (Dependencies): Likewise.
23911         * modules/mbsnrtowcs (Dependencies): Likewise.
23912         * modules/mbspbrk (Dependencies): Likewise.
23913         * modules/mbspcasecmp (Dependencies): Likewise.
23914         * modules/mbsrchr (Dependencies): Likewise.
23915         * modules/mbsrtowcs (Dependencies): Likewise.
23916         * modules/mbsspn (Dependencies): Likewise.
23917         * modules/mbsstr (Dependencies): Likewise.
23918         * modules/nl_langinfo (Dependencies): Likewise.
23919         * modules/quotearg (Dependencies): Likewise.
23920         * modules/unicase/locale-language (Dependencies): Likewise.
23921         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
23922         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
23923         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
23924         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
23925         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
23926         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
23927         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
23928         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
23929         * modules/vasnprintf-posix (Dependencies): Likewise.
23930         * modules/wcrtomb (Dependencies): Likewise.
23931         * modules/wcsnrtombs (Dependencies): Likewise.
23932         * modules/wcsrtombs (Dependencies): Likewise.
23933
23934 2011-02-12  Bruno Haible  <bruno@clisp.org>
23935
23936         setlocale: Workaround native Windows bug.
23937         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
23938         succeeds but sets LC_CTYPE to "C", report a failure.
23939         * tests/test-setlocale2.sh: New file.
23940         * tests/test-setlocale2.c: New file.
23941         * modules/setlocale-tests (Files): Add the new files.
23942         (Makefile.am): Enable test-setlocale2.sh test.
23943         * doc/posix-functions/setlocale.texi: Mention workaround.
23944
23945 2011-02-11  Bruno Haible  <bruno@clisp.org>
23946
23947         Tests for module 'setlocale'.
23948         * modules/setlocale-tests: New file.
23949         * tests/test-setlocale1.sh: New file.
23950         * tests/test-setlocale1.c: New file.
23951
23952         New module 'setlocale'.
23953         * lib/locale.in.h (setlocale): New declaration.
23954         * lib/setlocale.c: New file, based on
23955         gettext/gettext-runtime/intl/setlocale.c.
23956         * m4/setlocale.m4: New file.
23957         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
23958         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
23959         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
23960         REPLACE_SETLOCALE.
23961         * modules/setlocale: New file.
23962         * tests/test-locale-c++.cc: Test the declaration of setlocale.
23963         * doc/posix-functions/setlocale.texi: Mention the new module.
23964
23965 2011-02-11  Bruno Haible  <bruno@clisp.org>
23966
23967         Prepare for locale dependent tests on mingw.
23968         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
23969         because it has the wrong locale encoding.
23970         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
23971         French_France.1252 instead of "fr".
23972         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
23973         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
23974         because it has the wrong locale encoding.
23975         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
23976         native Windows, try Turkish_Turkey.65001.
23977         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
23978         Chinese_China.54936.
23979
23980         Prepare for locale dependent tests on mingw.
23981         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
23982         differently.
23983         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
23984         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
23985         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
23986         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
23987
23988 2011-02-11  Eric Blake  <eblake@redhat.com>
23989
23990         strptime: avoid compiler warnings
23991         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
23992         compiler warnings about dead code.
23993         Reported by Daniel P. Berrange.
23994
23995 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
23996
23997         doc: update users.txt
23998         * users.txt: Add rcs.
23999
24000 2011-02-10  John W. Eaton  <jwe@gnu.org>
24001
24002         doc: update users.txt
24003         * users.txt: Add octave.
24004
24005 2011-02-10  Jim Meyering  <meyering@redhat.com>
24006
24007         doc: update users.txt
24008         * users.txt: Add iwhd.
24009
24010 2011-02-09  Bruno Haible  <bruno@clisp.org>
24011
24012         gnulib-tool: Make copyright notice adjustment more robust.
24013         * gnulib-tool (func_import): In sed_transform_main_lib_file,
24014         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
24015         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
24016         License".
24017         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
24018
24019 2011-02-06  Bruno Haible  <bruno@clisp.org>
24020
24021         New module 'towctrans'.
24022         * modules/towctrans: New file.
24023         * lib/wctype.in.h (towctrans): New declaration.
24024         * lib/towctrans.c: New file.
24025         * lib/towctrans-impl.h: New file.
24026         * m4/towctrans.m4: New file.
24027         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
24028         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
24029         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
24030         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
24031         * doc/posix-functions/towctrans.texi: Mention the new module.
24032
24033 2011-02-06  Bruno Haible  <bruno@clisp.org>
24034
24035         New module 'wctrans'.
24036         * modules/wctrans: New file.
24037         * lib/wctype.in.h (wctrans): New declaration.
24038         * lib/wctrans.c: New file.
24039         * lib/wctrans-impl.h: New file.
24040         * m4/wctrans.m4: New file.
24041         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
24042         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
24043         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
24044         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
24045         * doc/posix-functions/wctrans.texi: Mention the new module.
24046
24047 2011-02-06  Bruno Haible  <bruno@clisp.org>
24048
24049         New module 'iswctype'.
24050         * modules/iswctype: New file.
24051         * lib/wctype.in.h (iswctype): New declaration.
24052         * lib/iswctype.c: New file.
24053         * lib/iswctype-impl.h: New file.
24054         * m4/iswctype.m4: New file.
24055         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
24056         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
24057         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
24058         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
24059         * doc/posix-functions/iswctype.texi: Mention the new module and the
24060         HP-UX 11.00 problem.
24061
24062 2011-02-06  Bruno Haible  <bruno@clisp.org>
24063
24064         New module 'wctype'.
24065         * modules/wctype: Change to represent the wctype() substitute.
24066         * lib/wctype.in.h (wctype): New declaration.
24067         * lib/wctype.c: New file.
24068         * lib/wctype-impl.h: New file.
24069         * m4/wctype.m4: New file.
24070         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
24071         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
24072         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
24073         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
24074         * doc/posix-functions/wctype.texi: Mention the new module and the
24075         HP-UX 11.00 problem.
24076
24077 2011-02-06  Bruno Haible  <bruno@clisp.org>
24078
24079         wctype-h: Ensure wctype_t and wctrans_t are defined.
24080         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
24081         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24082         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24083         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
24084         HAVE_WCTRANS_T.
24085         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
24086
24087 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
24088
24089         flock: fix license typo
24090
24091         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
24092         omitted.
24093
24094 2011-02-08  Bruno Haible  <bruno@clisp.org>
24095
24096         Split large sed scripts, for HP-UX sed.
24097         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
24098         to avoid HP-UX limit of 99 commands, in the near future.
24099         * modules/stdlib (Makefile.am): Likewise.
24100         * modules/unistd (Makefile.am): Likewise.
24101         * modules/wchar (Makefile.am): Likewise.
24102         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24103         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
24104         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
24105
24106 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24107             Bruno Haible  <bruno@clisp.org>
24108
24109         stdlib: improve random_r modularization
24110         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
24111         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
24112         you also need the random_r module to get this material right.
24113         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
24114         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
24115         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
24116
24117 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24118
24119         stdlib: don't depend on stdint
24120         * lib/stdlib.in.h: Don't include <stdint.h> merely because
24121         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
24122         be independent of whether stdint.h is needed.
24123         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
24124         here, instead of ...
24125         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
24126         struct random_data should be using the random_r module, not just
24127         the stdlib module (which wouldn't make sense: what package needs
24128         just struct random_data without also needing random_r?).
24129         * modules/stdlib (Depends-on): Remove stdint.
24130
24131         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
24132         See the thread rooted at
24133         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
24134         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
24135         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
24136         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
24137         __VMS)); previously it was always included (via fcntl--.h).
24138         (getloadavg): Do not use c_strtod.  Instead, approximate it by
24139         hand; this is good enough for load averages.  Also, do not use
24140         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
24141         flags directly if available and don't bother otherwise.  (Packages
24142         that need the extra reliability should use the modules that define
24143         these flags on older platforms that lack them.)
24144         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
24145         fcntl-safer.
24146
24147 2011-02-08  Jim Meyering  <meyering@redhat.com>
24148
24149         di-set.h, ino-map.h: add multiple-inclusion guard
24150         Technically, the guard is required only for ino-map.h, due to its
24151         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
24152         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
24153         * lib/ino-map.h: Likewise.
24154
24155 2011-02-06  Bruno Haible  <bruno@clisp.org>
24156
24157         iswblank: Ensure declaration on glibc systems.
24158         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
24159         * modules/iswblank (Dependencies): Add 'extensions'.
24160         * doc/posix-functions/iswblank.texi: Document the glibc problem.
24161
24162 2011-02-06  Bruno Haible  <bruno@clisp.org>
24163
24164         New module 'iswblank'.
24165         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
24166         * modules/iswblank: New file.
24167         * modules/wctype-h (Files): Remove lib/iswblank.c.
24168         (Makefile.am): Substitute GNULIB_ISWBLANK.
24169         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
24170         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
24171         (gl_WCTYPE_H_DEFAULTS): New macro.
24172         (gl_WCTYPE_H): Require it. Remove iswblank related code.
24173         * modules/iswblank-tests: New file.
24174         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
24175         * tests/test-wctype-h.c (main): Remove iswblank tests.
24176         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
24177         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
24178         of 'wctype-h'.
24179         * NEWS: Mention the change.
24180         * modules/mbchar (Depends-on): Add iswblank.
24181
24182 2011-02-08  Bruno Haible  <bruno@clisp.org>
24183
24184         di-set tests: Refactor.
24185         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
24186         unnecessary includes.
24187         (ASSERT): Remove macro.
24188         (main): Make C90 compliant by avoiding variable declaration after
24189         statement.
24190         * modules/di-set-tests (Files): Add tests/macros.h.
24191
24192 2011-02-08  Bruno Haible  <bruno@clisp.org>
24193
24194         ino-map tests: Refactor.
24195         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
24196         unnecessary includes.
24197         (ASSERT): Remove macro.
24198         (main): Make C90 compliant by avoiding variable declaration after
24199         statement.
24200         * modules/ino-map-tests (Files): Add tests/macros.h.
24201
24202 2011-02-08  Jim Meyering  <meyering@redhat.com>
24203
24204         di-set: add "const" to a cast
24205         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
24206         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
24207
24208 2011-02-06  Bruno Haible  <bruno@clisp.org>
24209
24210         Rename module 'wctype' to 'wctype-h'.
24211         * modules/wctype-h: Renamed from modules/wctype.
24212         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
24213         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
24214         (Files, Depends-on, Makefile.am): Update.
24215         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
24216         (Files, Makefile.am): Update.
24217         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
24218         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
24219         * doc/posix-headers/wctype.texi: Update.
24220         * doc/posix-functions/iswalnum.texi: Update.
24221         * doc/posix-functions/iswalpha.texi: Update.
24222         * doc/posix-functions/iswblank.texi: Update.
24223         * doc/posix-functions/iswcntrl.texi: Update.
24224         * doc/posix-functions/iswdigit.texi: Update.
24225         * doc/posix-functions/iswgraph.texi: Update.
24226         * doc/posix-functions/iswlower.texi: Update.
24227         * doc/posix-functions/iswprint.texi: Update.
24228         * doc/posix-functions/iswpunct.texi: Update.
24229         * doc/posix-functions/iswspace.texi: Update.
24230         * doc/posix-functions/iswupper.texi: Update.
24231         * doc/posix-functions/iswxdigit.texi: Update.
24232         * doc/posix-functions/towlower.texi: Update.
24233         * doc/posix-functions/towupper.texi: Update.
24234         * NEWS: Mention the change.
24235         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
24236         * modules/mbchar (Dependencies): Likewise.
24237         * modules/mbswidth (Dependencies): Likewise.
24238         * modules/quotearg (Dependencies): Likewise.
24239         * modules/regex (Dependencies): Likewise.
24240         * modules/wcscasecmp (Dependencies): Likewise.
24241         * modules/wcsncasecmp (Dependencies): Likewise.
24242         * modules/wcwidth (Dependencies): Likewise.
24243
24244 2011-02-06  Bruno Haible  <bruno@clisp.org>
24245
24246         New module 'wcswidth'.
24247         * modules/wcswidth: New file.
24248         * lib/wchar.in.h (wcswidth): New declaration.
24249         * lib/wcswidth.c: New file.
24250         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
24251         * m4/wcswidth.m4: New file.
24252         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
24253         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
24254         REPLACE_WCSWIDTH.
24255         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
24256         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
24257         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
24258         * doc/posix-functions/wcswidth.texi: Mention the new module.
24259
24260 2011-02-06  Bruno Haible  <bruno@clisp.org>
24261
24262         New module 'wcstok'.
24263         * modules/wcstok: New file.
24264         * lib/wchar.in.h (wcstok): New declaration.
24265         * lib/wcstok.c: New file.
24266         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
24267         * m4/wcstok.m4: New file.
24268         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
24269         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
24270         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
24271         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
24272         * doc/posix-functions/wcstok.texi: Mention the new module.
24273
24274 2011-02-06  Bruno Haible  <bruno@clisp.org>
24275
24276         New module 'wcsstr'.
24277         * modules/wcsstr: New file.
24278         * lib/wchar.in.h (wcsstr): New declaration.
24279         * lib/wcsstr.c: New file.
24280         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
24281         * m4/wcsstr.m4: New file.
24282         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
24283         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
24284         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
24285         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
24286         * doc/posix-functions/wcsstr.texi: Mention the new module.
24287
24288 2011-02-06  Bruno Haible  <bruno@clisp.org>
24289
24290         New module 'wcspbrk'.
24291         * modules/wcspbrk: New file.
24292         * lib/wchar.in.h (wcspbrk): New declaration.
24293         * lib/wcspbrk.c: New file.
24294         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
24295         * m4/wcspbrk.m4: New file.
24296         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
24297         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
24298         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
24299         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
24300         * doc/posix-functions/wcspbrk.texi: Mention the new module.
24301
24302 2011-02-06  Bruno Haible  <bruno@clisp.org>
24303
24304         New module 'wcsspn'.
24305         * modules/wcsspn: New file.
24306         * lib/wchar.in.h (wcsspn): New declaration.
24307         * lib/wcsspn.c: New file.
24308         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
24309         * m4/wcsspn.m4: New file.
24310         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
24311         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
24312         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
24313         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
24314         * doc/posix-functions/wcsspn.texi: Mention the new module.
24315
24316 2011-02-06  Bruno Haible  <bruno@clisp.org>
24317
24318         New module 'wcscspn'.
24319         * modules/wcscspn: New file.
24320         * lib/wchar.in.h (wcscspn): New declaration.
24321         * lib/wcscspn.c: New file.
24322         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
24323         * m4/wcscspn.m4: New file.
24324         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
24325         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
24326         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
24327         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
24328         * doc/posix-functions/wcscspn.texi: Mention the new module.
24329
24330 2011-02-06  Bruno Haible  <bruno@clisp.org>
24331
24332         New module 'wcsrchr'.
24333         * modules/wcsrchr: New file.
24334         * lib/wchar.in.h (wcsrchr): New declaration.
24335         * lib/wcsrchr.c: New file.
24336         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
24337         * m4/wcsrchr.m4: New file.
24338         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
24339         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
24340         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
24341         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
24342         * doc/posix-functions/wcsrchr.texi: Mention the new module.
24343
24344 2011-02-06  Bruno Haible  <bruno@clisp.org>
24345
24346         New module 'wcschr'.
24347         * modules/wcschr: New file.
24348         * lib/wchar.in.h (wcschr): New declaration.
24349         * lib/wcschr.c: New file.
24350         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
24351         * m4/wcschr.m4: New file.
24352         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
24353         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
24354         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
24355         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
24356         * doc/posix-functions/wcschr.texi: Mention the new module.
24357
24358 2011-02-06  Bruno Haible  <bruno@clisp.org>
24359
24360         New module 'wcsdup'.
24361         * modules/wcsdup: New file.
24362         * lib/wchar.in.h (wcsdup): New declaration.
24363         * lib/wcsdup.c: New file.
24364         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
24365         * m4/wcsdup.m4: New file.
24366         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
24367         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
24368         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
24369         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
24370         * doc/posix-functions/wcsdup.texi: Mention the new module.
24371
24372 2011-02-06  Bruno Haible  <bruno@clisp.org>
24373
24374         New module 'wcsxfrm'.
24375         * modules/wcsxfrm: New file.
24376         * lib/wchar.in.h (wcsxfrm): New declaration.
24377         * lib/wcsxfrm.c: New file.
24378         * lib/wcsxfrm-impl.h: New file.
24379         * m4/wcsxfrm.m4: New file.
24380         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
24381         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
24382         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
24383         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
24384         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
24385
24386 2011-02-06  Bruno Haible  <bruno@clisp.org>
24387
24388         New module 'wcscoll'.
24389         * modules/wcscoll: New file.
24390         * lib/wchar.in.h (wcscoll): New declaration.
24391         * lib/wcscoll.c: New file.
24392         * lib/wcscoll-impl.h: New file.
24393         * m4/wcscoll.m4: New file.
24394         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
24395         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
24396         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
24397         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
24398         * doc/posix-functions/wcscoll.texi: Mention the new module.
24399
24400 2011-02-06  Bruno Haible  <bruno@clisp.org>
24401
24402         New module 'wcsncasecmp'.
24403         * modules/wcsncasecmp: New file.
24404         * lib/wchar.in.h (wcsncasecmp): New declaration.
24405         * lib/wcsncasecmp.c: New file.
24406         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
24407         * m4/wcsncasecmp.m4: New file.
24408         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
24409         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
24410         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
24411         HAVE_WCSNCASECMP.
24412         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
24413         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
24414
24415 2011-02-06  Bruno Haible  <bruno@clisp.org>
24416
24417         New module 'wcscasecmp'.
24418         * modules/wcscasecmp: New file.
24419         * lib/wchar.in.h (wcscasecmp): New declaration.
24420         * lib/wcscasecmp.c: New file.
24421         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
24422         * m4/wcscasecmp.m4: New file.
24423         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
24424         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
24425         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
24426         HAVE_WCSCASECMP.
24427         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
24428         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
24429
24430 2011-02-05  Bruno Haible  <bruno@clisp.org>
24431
24432         New module 'wcsncmp'.
24433         * modules/wcsncmp: New file.
24434         * lib/wchar.in.h (wcsncmp): New declaration.
24435         * lib/wcsncmp.c: New file.
24436         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
24437         * m4/wcsncmp.m4: New file.
24438         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
24439         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
24440         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
24441         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
24442         * doc/posix-functions/wcsncmp.texi: Mention the new module.
24443
24444 2011-02-05  Bruno Haible  <bruno@clisp.org>
24445
24446         New module 'wcscmp'.
24447         * modules/wcscmp: New file.
24448         * lib/wchar.in.h (wcscmp): New declaration.
24449         * lib/wcscmp.c: New file.
24450         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
24451         * m4/wcscmp.m4: New file.
24452         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
24453         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
24454         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
24455         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
24456         * doc/posix-functions/wcscmp.texi: Mention the new module.
24457
24458 2011-02-05  Bruno Haible  <bruno@clisp.org>
24459
24460         New module 'wcsncat'.
24461         * modules/wcsncat: New file.
24462         * lib/wchar.in.h (wcsncat): New declaration.
24463         * lib/wcsncat.c: New file.
24464         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
24465         * m4/wcsncat.m4: New file.
24466         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
24467         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
24468         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
24469         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
24470         * doc/posix-functions/wcsncat.texi: Mention the new module.
24471
24472 2011-02-05  Bruno Haible  <bruno@clisp.org>
24473
24474         New module 'wcscat'.
24475         * modules/wcscat: New file.
24476         * lib/wchar.in.h (wcscat): New declaration.
24477         * lib/wcscat.c: New file.
24478         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
24479         * m4/wcscat.m4: New file.
24480         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
24481         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
24482         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
24483         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
24484         * doc/posix-functions/wcscat.texi: Mention the new module.
24485
24486 2011-02-05  Bruno Haible  <bruno@clisp.org>
24487
24488         New module 'wcpncpy'.
24489         * modules/wcpncpy: New file.
24490         * lib/wchar.in.h (wcpncpy): New declaration.
24491         * lib/wcpncpy.c: New file.
24492         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
24493         * m4/wcpncpy.m4: New file.
24494         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
24495         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
24496         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
24497         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
24498         * doc/posix-functions/wcpncpy.texi: Mention the new module.
24499
24500 2011-02-05  Bruno Haible  <bruno@clisp.org>
24501
24502         New module 'wcsncpy'.
24503         * modules/wcsncpy: New file.
24504         * lib/wchar.in.h (wcsncpy): New declaration.
24505         * lib/wcsncpy.c: New file.
24506         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
24507         * m4/wcsncpy.m4: New file.
24508         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
24509         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
24510         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
24511         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
24512         * doc/posix-functions/wcsncpy.texi: Mention the new module.
24513
24514 2011-02-05  Bruno Haible  <bruno@clisp.org>
24515
24516         New module 'wcpcpy'.
24517         * modules/wcpcpy: New file.
24518         * lib/wchar.in.h (wcpcpy): New declaration.
24519         * lib/wcpcpy.c: New file.
24520         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
24521         * m4/wcpcpy.m4: New file.
24522         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
24523         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
24524         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
24525         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
24526         * doc/posix-functions/wcpcpy.texi: Mention the new module.
24527
24528 2011-02-05  Bruno Haible  <bruno@clisp.org>
24529
24530         New module 'wcscpy'.
24531         * modules/wcscpy: New file.
24532         * lib/wchar.in.h (wcscpy): New declaration.
24533         * lib/wcscpy.c: New file.
24534         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
24535         * m4/wcscpy.m4: New file.
24536         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
24537         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
24538         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
24539         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
24540         * doc/posix-functions/wcscpy.texi: Mention the new module.
24541
24542 2011-02-05  Bruno Haible  <bruno@clisp.org>
24543
24544         New module 'wcsnlen'.
24545         * modules/wcsnlen: New file.
24546         * lib/wchar.in.h (wcsnlen): New declaration.
24547         * lib/wcsnlen.c: New file.
24548         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
24549         * m4/wcsnlen.m4: New file.
24550         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
24551         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
24552         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
24553         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
24554         * doc/posix-functions/wcsnlen.texi: Mention the new module.
24555
24556 2011-02-05  Bruno Haible  <bruno@clisp.org>
24557
24558         New module 'wcslen'.
24559         * modules/wcslen: New file.
24560         * lib/wchar.in.h (wcslen): New declaration.
24561         * lib/wcslen.c: New file.
24562         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
24563         * m4/wcslen.m4: New file.
24564         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
24565         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
24566         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
24567         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
24568         * doc/posix-functions/wcslen.texi: Mention the new module.
24569
24570 2011-02-05  Bruno Haible  <bruno@clisp.org>
24571
24572         New module 'wmemset'.
24573         * modules/wmemset: New file.
24574         * lib/wchar.in.h (wmemset): New declaration.
24575         * lib/wmemset.c: New file.
24576         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
24577         * m4/wmemset.m4: New file.
24578         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
24579         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
24580         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
24581         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
24582         * doc/posix-functions/wmemset.texi: Mention the new module.
24583
24584 2011-02-05  Bruno Haible  <bruno@clisp.org>
24585
24586         New module 'wmemmove'.
24587         * modules/wmemmove: New file.
24588         * lib/wchar.in.h (wmemmove): New declaration.
24589         * lib/wmemmove.c: New file.
24590         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
24591         * m4/wmemmove.m4: New file.
24592         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
24593         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
24594         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
24595         HAVE_WMEMMOVE.
24596         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
24597         * doc/posix-functions/wmemmove.texi: Mention the new module.
24598
24599 2011-02-05  Bruno Haible  <bruno@clisp.org>
24600
24601         New module 'wmemcpy'.
24602         * modules/wmemcpy: New file.
24603         * lib/wchar.in.h (wmemcpy): New declaration.
24604         * lib/wmemcpy.c: New file.
24605         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
24606         * m4/wmemcpy.m4: New file.
24607         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
24608         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
24609         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
24610         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
24611         * doc/posix-functions/wmemcpy.texi: Mention the new module.
24612
24613 2011-02-05  Bruno Haible  <bruno@clisp.org>
24614
24615         New module 'wmemcmp'.
24616         * modules/wmemcmp: New file.
24617         * lib/wchar.in.h (wmemcmp): New declaration.
24618         * lib/wmemcmp.c: New file.
24619         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
24620         * m4/wmemcmp.m4: New file.
24621         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
24622         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
24623         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
24624         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
24625         * doc/posix-functions/wmemcmp.texi: Mention the new module.
24626
24627 2011-02-07  Jim Meyering  <meyering@redhat.com>
24628
24629         di-set, ino-map: new modules, from coreutils
24630         * lib/di-set.c: New file.
24631         * lib/di-set.h: Likewise.
24632         * lib/ino-map.c: Likewise.
24633         * lib/ino-map.h: Likewise.
24634         * modules/di-set: Likewise.
24635         * modules/di-set-tests: Likewise.
24636         * modules/ino-map: Likewise.
24637         * modules/ino-map-tests: Likewise.
24638         * tests/test-di-set.c: Likewise.
24639         * tests/test-ino-map.c: Likewise.
24640
24641 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
24642
24643         getloadavg: merge minor changes from Emacs
24644
24645         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
24646         (getloadavg): Use memset, not bzero.
24647
24648         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
24649         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
24650         clash (bug#86).
24651
24652 2010-11-14  Bruno Haible  <bruno@clisp.org>
24653
24654         Allow multiple gnulib generated replacements to coexist.
24655         * lib/getopt.in.h (struct option): Avoid identical redefinition.
24656         * lib/inttypes.in.h (imaxdiv_t): Likewise.
24657         * lib/langinfo.in.h (nl_item): Likewise.
24658         * lib/math.in.h (_NaN, NAN): Likewise.
24659         * lib/netdb.in.h (struct addrinfo): Likewise.
24660         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
24661         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
24662         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
24663         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
24664         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
24665         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
24666         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
24667         pthread_mutexattr_init, pthread_mutexattr_settype,
24668         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
24669         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
24670         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
24671         pthread_spin_trylock, pthread_spin_unlock): Likewise.
24672         * lib/sched.in.h (struct sched_param): Likewise.
24673         * lib/se-selinux.in.h (security_class_t, security_context_t,
24674         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
24675         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
24676         lsetfilecon, fsetfilecon, security_check_context,
24677         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
24678         Likewise.
24679         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
24680         Likewise.
24681         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
24682         _gl_function_taking_int_returning_void_t, union sigval,
24683         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
24684         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
24685         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
24686         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
24687         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
24688         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
24689         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
24690         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
24691         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
24692         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
24693         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
24694         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
24695         socklen_t, rpl_fd_isset): Likewise.
24696         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
24697         * lib/sys_time.in.h (struct timeval): Likewise.
24698         * lib/sys_times.in.h (struct tms): Likewise.
24699         * lib/sys_utsname.in.h (struct utsname):
24700         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
24701         * lib/unistd.in.h (getpagesize): Likewise.
24702         * lib/wchar.in.h (mbstate_t): Likewise.
24703         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
24704         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
24705         towlower, towupper): Likewise.
24706         Reported by Sam Steingold <sds@gnu.org>.
24707
24708 2011-02-05  Eric Blake  <eblake@redhat.com>
24709
24710         unsetenv: work around Haiku issues
24711         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
24712         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
24713
24714 2010-12-30  Bruce Korb  <bkorb@gnu.org>
24715
24716         libposix: avoid calling error() within libposix
24717         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
24718         is defined.
24719
24720 2011-02-05  Eric Blake  <eblake@redhat.com>
24721
24722         strerror_r-posix: port to cygwin
24723         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
24724         implementation.
24725         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
24726         * tests/test-strerror_r.c (main): Fix test.
24727         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
24728         issue.
24729
24730 2011-02-05  Bruno Haible  <bruno@clisp.org>
24731
24732         New module 'wmemchr'.
24733         * modules/wmemchr: New file.
24734         * lib/wchar.in.h (wmemchr): New declaration.
24735         * lib/wmemchr.c: New file.
24736         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
24737         * m4/wmemchr.m4: New file.
24738         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
24739         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
24740         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
24741         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
24742         * doc/posix-functions/wmemchr.texi: Mention the new module.
24743
24744 2011-02-04  Eric Blake  <eblake@redhat.com>
24745
24746         fdopendir: detect FreeBSD bug
24747         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
24748         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
24749
24750 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
24751
24752         stdbool: do not define HAVE_STDBOOL_H
24753         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
24754         AC_HEADER_STDBOOL.  All uses changed.  Do not define
24755         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
24756         imported from the latest Autoconf git.  It was motivated by Emacs,
24757         which uses gnulib but does not need HAVE_STDBOOL_H.
24758
24759 2011-02-04  Bruno Haible  <bruno@clisp.org>
24760
24761         wcsnrtombs: Prepare for new module wwcsnrtombs.
24762         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
24763         * lib/wcsnrtombs.c: Include it.
24764         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
24765
24766         wcsrtombs: Prepare for new module wwcsrtombs.
24767         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
24768         * lib/wcsrtombs.c: Include it.
24769         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
24770
24771         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
24772         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
24773         * lib/mbsnrtowcs.c: Include it.
24774         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
24775
24776         mbsrtowcs: Prepare for new module mbsrtowwcs.
24777         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
24778         * lib/mbsrtowcs.c: Include it.
24779         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
24780
24781 2011-02-04  Bruno Haible  <bruno@clisp.org>
24782
24783         vasnprintf: Reduce use of malloc for small format strings.
24784         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
24785         (arguments): Add room for the first 7 arguments.
24786         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
24787         (char_directives, u8_directives, u16_directives, u32_directives): Add
24788         room for the first 7 directives.
24789         * lib/printf-parse.c: Include <string.h>.
24790         (PRINTF_PARSE): Change memory handling code so that it uses the first
24791         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
24792         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
24793         Reported by Pádraig Brady <P@draigbrady.com>.
24794
24795 2011-01-31  Eric Blake  <eblake@redhat.com>
24796
24797         dup2: work around Haiku bug
24798         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
24799         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
24800         * doc/posix-functions/dup2.texi (dup2): Document the bug.
24801         * tests/test-dup2.c (main): Enhance test.
24802
24803 2011-01-31  Simon Josefsson  <simon@josefsson.org>
24804
24805         doc: off_t is not available in eglibc 2.11.2 stdio.h.
24806         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
24807         declared by eglibc 2.11.2.
24808         * lib/stdio.in.h: Likewise.
24809
24810 2011-01-31  Eric Blake  <eblake@redhat.com>
24811
24812         ignore-value: add missing test dependency
24813         * tests/test-ignore-value.c: Revert previous change; stdio.h
24814         provides off_t.
24815         * modules/ignore-value-tests (Depends-on): Add missing dependency.
24816
24817 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
24818
24819         mktime: clarify long_int width checking
24820         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
24821         the top level, to make it clearer that the assumption about
24822         long_int width is being checked.  See
24823         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
24824
24825 2011-01-30  Simon Josefsson  <simon@josefsson.org>
24826
24827         ignore-value: Fix self-test.
24828         * tests/test-ignore-value.c: Include sys/types.h for off_t.
24829
24830 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
24831
24832         TYPE_MAXIMUM: avoid theoretically undefined behavior
24833         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
24834         negative number, which the C Standard says has undefined behavior.
24835         In practice this is not a problem, but might as well do it by the book.
24836         Reported by Rich Felker and Eric Blake; see
24837         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
24838         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
24839         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
24840         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24841         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
24842         * m4/stdint.m4 (gl_STDINT_H): Likewise.
24843         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
24844
24845         mktime: #undef mktime before #defining it
24846         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
24847
24848         mktime: systematically normalize tm_isdst comparisons
24849         * lib/mktime.c (isdst_differ): New function.
24850         (__mktime_internal): Use it systematically for all isdst comparisons.
24851         This completes the fix for libc BZ #6723, and removes the need for
24852         normalizing tm_isdst.  See
24853         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
24854         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
24855
24856         mktime: fix some integer overflow issues and sidestep the rest
24857
24858         This was prompted by a bug report by Benjamin Lindner for MinGW
24859         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
24860         His bug is due to signed integer overflow (0 - INT_MIN), and I
24861         I scanned through mktime.c looking for other integer overflow
24862         problems, fixing all the bugs I found.
24863
24864         Although the C Standard says the resulting code is still not safe
24865         in the presence of integer overflow, in practice it should be good
24866         enough for all real-world two's-complement implementations, except
24867         for debugging environments that deliberately trap on integer
24868         overflow (e.g., gcc -ftrapv).
24869
24870         * lib/mktime.c (WRAPV): New macro.
24871         (SHR): Also check that long_int and time_t shift right in the
24872         usual way, before using the fast-but-unportable method.
24873         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
24874         used.  The code already assumed two's complement, so there's
24875         no need to test for alternatives.  All uses removed.
24876         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
24877         the C standard.  Problem reported by Rich Felker in
24878         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
24879         (twos_complement_arithmetic): Also check long_int and time_t.
24880         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
24881         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
24882         (__mktime_internal): Avoid integer overflow with unary subtraction
24883         in two instances where -1 - X is an adequate replacement for -X,
24884         since the calculations are approximate.
24885
24886 2011-01-29  Eric Blake  <eblake@redhat.com>
24887
24888         mktime: avoid infinite loop
24889         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
24890         type; behavior is still undefined but portable to all known targets.
24891         Reported by Rich Felker.
24892
24893 2011-01-29  Simon Josefsson  <simon@josefsson.org>
24894
24895         rename, unlink, same-inode: Relicense.
24896         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
24897         * modules/unlink (License): Likewise.
24898         * modules/same-inode (License): Likewise.
24899
24900 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
24901
24902         mktime: avoid problems on NetBSD 5 / i386
24903         * lib/mktime.c (long_int): New type.  This works around a problem
24904         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
24905         but time_t is 64 bits, and where I expect the existing code is
24906         wrong in some cases.
24907         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
24908         (ydhms_diff): Bring back the compile-time check for wide-enough
24909         year and yday.
24910
24911         mktime: fix misspelling in comment
24912         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
24913         This merges all recent glibc changes of importance.
24914
24915 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24916
24917         move-if-change: cope with concurrent mv of identical file.
24918         * build-aux/move-if-change (CMPPROG): Accept environment
24919         variable as an override for `cmp'.
24920         (usage): Document CMPPROG.
24921         Adjust comparison to drop stdout.  Cope with failure of mv if
24922         the target file exists and is identical to the source, for
24923         parallel builds.
24924         Report from H.J. Lu against binutils in PR binutils/12283.
24925
24926 2011-01-28  Bruce Korb  <bkorb@gnu.org>
24927
24928         * users.txt: Mention sharutils.
24929
24930 2011-01-28  Simon Josefsson  <simon@josefsson.org>
24931
24932         * users.txt: Mention OATH Toolkit.
24933
24934 2011-01-27  Bruno Haible  <bruno@clisp.org>
24935
24936         Prepare for supporting FreeBSD 10.
24937         * build-aux/config.libpath: Remove handling of freebsd1*.
24938
24939 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
24940
24941         Prepare for supporting FreeBSD 10.
24942         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
24943         match FreeBSD 10.0.
24944
24945 2011-01-27  Bruno Haible  <bruno@clisp.org>
24946
24947         vma-iter, get-rusage-as: Add OpenBSD support.
24948         * modules/vma-iter (configure.ac): Test for mquery.
24949         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
24950         * lib/vma-iter.c: Include <sys/mman.h>.
24951         (vma_iterate): Add an implementation based on mquery().
24952         * lib/resource-ext.h (get_rusage_as): Update comments.
24953         * lib/get-rusage-as.c: Likewise.
24954         * lib/get-rusage-data.c: Likewise.
24955
24956 2011-01-26  Karl Berry  <karl@gnu.org>
24957
24958         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
24959         variables to make it easier to override the makeinfo program used.
24960
24961 2011-01-26  Eric Blake  <eblake@redhat.com>
24962
24963         fcntl: work around Haiku F_DUPFD bugs
24964         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
24965         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
24966         cloexec bit on duplication.
24967         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
24968
24969 2011-01-26  Bruno Haible  <bruno@clisp.org>
24970
24971         Enable memory leak tests on AIX.
24972         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
24973         * tests/test-fprintf-posix3.c (main): Likewise.
24974
24975 2011-01-26  Bruno Haible  <bruno@clisp.org>
24976
24977         Tests for module 'get-rusage-data'.
24978         * modules/get-rusage-data-tests: New file.
24979         * tests/test-get-rusage-data.c: New file.
24980
24981         New module 'get-rusage-data'.
24982         * lib/resource-ext.h (get_rusage_data): New declaration.
24983         * lib/get-rusage-data.c: New file.
24984         * modules/get-rusage-data: New file.
24985
24986 2011-01-25  Bruno Haible  <bruno@clisp.org>
24987
24988         get-rusage-as: Allow for easier testing.
24989         * lib/resource-ext.h (get_rusage_as): Add comment.
24990         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
24991         (main): New function for interactive testing.
24992
24993 2011-01-25  Bruno Haible  <bruno@clisp.org>
24994
24995         vma-iter: Treat Haiku like BeOS.
24996         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
24997         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
24998
24999 2011-01-25  Eric Blake  <eblake@redhat.com>
25000
25001         c-stack: fix regression on cygwin when libsigsegv is present
25002         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
25003
25004 2011-01-24  Bruno Haible  <bruno@clisp.org>
25005
25006         vma-iter: Avoid empty intervals.
25007         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
25008         on an empty interval.
25009
25010 2011-01-24  Jim Meyering  <meyering@redhat.com>
25011
25012         u64: remove unnecessary #include
25013         * lib/u64.h: Don't include <stddef.h>.  It was not used.
25014
25015 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25016
25017         Allow the user to avoid the HAVE_RAW_DECL_* macros.
25018         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
25019
25020 2011-01-23  Bruno Haible  <bruno@clisp.org>
25021
25022         New module 'vma-iter'.
25023         * lib/vma-iter.h: New file.
25024         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
25025         * modules/vma-iter: New file.
25026         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
25027         for get_rusage_as_via_iterator.
25028         (vma_iterate_callback): New function.
25029         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
25030         * modules/get-rusage-as (Depends-on): Add vma-iter.
25031
25032 2011-01-23  Bruno Haible  <bruno@clisp.org>
25033
25034         uninorm: Tweak includes.
25035         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
25036         Reported by Jim Meyering.
25037
25038 2011-01-23  Bruno Haible  <bruno@clisp.org>
25039
25040         get-rusage-as: Improve on NetBSD.
25041         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
25042         /proc, like on FreeBSD.
25043
25044 2011-01-23  Jim Meyering  <meyering@redhat.com>
25045
25046         xreadlink.h: remove unnecessary #include
25047         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
25048
25049         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
25050         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
25051
25052 2011-01-23  Bruno Haible  <bruno@clisp.org>
25053
25054         get-rusage-as: Fix bug.
25055         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
25056         original limit when aborting the first loop.
25057
25058 2011-01-23  Bruno Haible  <bruno@clisp.org>
25059
25060         wctype: Ensure valid C syntax.
25061         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
25062         unconditionally, instead of gl_NEXT_HEADERS conditionally.
25063
25064 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
25065
25066         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
25067         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
25068         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
25069         as they are needed only for configure's test case.
25070         This removes two unnecessary symbols from config.h.
25071
25072         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
25073         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
25074         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
25075         AC_CHECK_HEADERS_ONCE on a header that we also invoke
25076         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
25077         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
25078         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
25079         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
25080         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25081         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25082         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
25083         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25084         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25085         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25086         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
25087         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25088         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25089         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
25090
25091 2011-01-21  Eric Blake  <eblake@redhat.com>
25092
25093         maintainer-makefile: work with older git for submodule check
25094         * top/maint.mk (public-submodule-commit): Rewrite to avoid
25095         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
25096         Reported by Matthias Bolte.
25097
25098         bootstrap: minor portability fixes
25099         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
25100         (usage): Omit leading capital and trailing . on help phrases, per
25101         GNU Coding Standards.
25102         (check_versions, top level): Prefix messages with script name.
25103
25104 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
25105
25106         bootstrap: support --no-git option
25107         * build-aux/bootstrap: Add --no-git option, to be used when
25108         --gnulib-srcdir points to the exact desired checkout.
25109
25110 2011-01-21  Eric Blake  <eblake@redhat.com>
25111
25112         strerror_r-posix: work with glibc 2.13
25113         * lib/strerror_r.c (strerror_r): Fix return type.
25114
25115 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25116             Bruno Haible  <bruno@clisp.org>
25117
25118         uN_strstr: New unit tests.
25119         * modules/unistr/u8-strstr-tests: New file.
25120         * modules/unistr/u16-strstr-tests: New file.
25121         * modules/unistr/u32-strstr-tests: New file.
25122         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
25123         * tests/unistr/test-u8-strstr.c: New file.
25124         * tests/unistr/test-u16-strstr.c: New file.
25125         * tests/unistr/test-u32-strstr.c: New file.
25126
25127 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25128             Bruno Haible  <bruno@clisp.org>
25129
25130         Make uN_strstr functions O(n) worst-case.
25131         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
25132         16-bit and 32-bit unit cases, use the unibyte algorithm from
25133         lib/mbsstr.c.
25134         * lib/unistr/u8-strstr.c: Include <string.h>.
25135         (UNIT_IS_UINT8_T): New macro.
25136         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
25137         (U_STRLEN, U_STRNLEN): New macros.
25138         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
25139         (U_STRLEN, U_STRNLEN): New macros.
25140         * modules/unistr/u8-strstr (Depends-on): Add strstr.
25141         (configure.ac): Update required libunistring version.
25142         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
25143         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
25144         malloca.
25145         (configure.ac): Update required libunistring version.
25146         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
25147         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
25148         malloca.
25149         (configure.ac): Update required libunistring version.
25150
25151 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25152             Bruno Haible  <bruno@clisp.org>
25153
25154         Prepare for faster uN_strstr functions.
25155         * lib/str-kmp.h: Support definable UNITs.
25156         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
25157         needle_len argument.
25158         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
25159         * lib/mbscasestr.c (mbscasestr): Likewise.
25160
25161 2011-01-21  Pádraig Brady <P@draigBrady.com>
25162
25163         malloca-tests: make faster by unsetting MALLOC_PERTURB_
25164         * tests/test-malloca.c (main): Unset the environment variable
25165         to greatly speed up the test.
25166         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
25167         * modules/malloca-tests: Depend on unsetenv.
25168
25169 2011-01-21  Pádraig Brady <P@draigBrady.com>
25170
25171         ignore-value: remove stdint dependency
25172         * lib/ignore-value.h: Remove <stdint.h>
25173         * modules/ignore-value: Remove stdint dependency.
25174
25175 2011-01-21  Jim Meyering  <meyering@redhat.com>
25176
25177         maint.mk: adjust variable name to be consistent with other gl_ vars
25178         * top/maint.mk (gl_public_submodule_commit): Rename the variable
25179         to be lower case.
25180
25181 2011-01-20  Jim Meyering  <meyering@redhat.com>
25182
25183         maint.mk: make "check" depend on public-submodule-commit by default
25184         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
25185
25186 2011-01-20  Bruno Haible  <bruno@clisp.org>
25187
25188         mbfile, mbiter: Complete change from 2008-12-21.
25189         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
25190         * m4/mbiter.m4 (gl_MBITER): Likewise.
25191
25192 2011-01-20  Jim Meyering  <meyering@redhat.com>
25193
25194         init.sh: insert space between each function name and "()"
25195         * tests/init.sh: Make it a little easier to see that a function's
25196         name is "warn_", and not "warn" when looking at the first part of
25197         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
25198
25199 2011-01-20  Jim Meyering  <meyering@redhat.com>
25200
25201         mountlist: clean up code formatting
25202         * lib/mountlist.c (read_file_system_list): Split a long line,
25203         correct bracing style, use NULL in place of "(struct statfs *)0",
25204         don't parenthesize return value, add spaces around "=" and after
25205         ";-in-for-stmt".
25206
25207 2011-01-14  Markus Duft <mduft@gentoo.org>
25208
25209         mountlist: add support for Interix
25210         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
25211         Apply statvfs to all entries of /dev/fs.
25212         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
25213         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
25214
25215 2011-01-20  Jim Meyering  <meyering@redhat.com>
25216
25217         maint.mk: improve the public-submodule-commit rule
25218         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
25219         to suppress printing of its commands... unless V=1.
25220         Add git submodule's --quiet option to suppress printing of e.g.,
25221         "Entering gnulib" output.
25222         "cd" into $(srcdir) before running git submodule.
25223
25224 2011-01-20  Bruno Haible  <bruno@clisp.org>
25225
25226         include_next: Fix bug introduced on 2011-01-18.
25227         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
25228         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
25229         ac_cv_header_... variable if the second argument is not 'check'.
25230         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
25231         gl_NEXT_HEADERS_INTERNAL.
25232
25233 2011-01-20  Bruno Haible  <bruno@clisp.org>
25234
25235         Allow the user to avoid the GNULIB_TEST_* macros.
25236         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
25237         Suggested by Paul Eggert.
25238
25239 2011-01-14  Jim Meyering  <meyering@redhat.com>
25240
25241         bootstrap: avoid failure when there is no .gitmodules file
25242         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
25243         has been assigned to, even when its value is the empty string.
25244         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
25245         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
25246         Reported by John W. Eaton <jwe@gnu.org>.
25247
25248 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
25249
25250         assume <ctype.h>, ..., <time.h> exist
25251         For years gnulib has been assuming the existence of the headers
25252         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
25253         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
25254         them, since they don't appear to be needed.
25255         * README (Portability guidelines): Document this.
25256         * lib/flock.c: Assume <fcntl.h> exists.
25257         * lib/regex_internal.h: Assume <locale.h> exists.
25258         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
25259         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
25260         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
25261         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
25262         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
25263         * m4/regex.m4 (gl_REGEX): Likewise.
25264         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
25265         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
25266         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
25267         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
25268         * tests/test-argp.c: Likewise.
25269         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
25270
25271         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
25272         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
25273         AA_APPLE_UNIVERSAL_BUILD.  See
25274         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
25275         * NEWS: Document this.
25276
25277 2011-01-19  Eric Blake  <eblake@redhat.com>
25278
25279         c-stack: assume stack overflow if SA_SIGINFO unsupported
25280         * lib/c-stack.c (SIGACTION_WORKS): Rename...
25281         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
25282         sigaction will work.
25283         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
25284         behavior match Linux.
25285         * tests/test-c-stack.c (main): Prefer NULL for pointers.
25286
25287         stdbool-tests: accommodate Haiku
25288         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
25289
25290         binary-io: fix O_TEXT on Haiku
25291         * modules/binary-io (Depends-on): Add fcntl-h.
25292         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
25293         than blindly undefining O_TEXT.
25294         Reported by Scott McCreary.
25295
25296 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25297
25298         include_next: do not check for standard headers like stddef.h
25299
25300         I found this problem when modifying Emacs to use gnulib.
25301         I noticed that it added HAVE_STDDEF_H to config.h, even though
25302         gnulib always assumes <stddef.h> exists as per README and this
25303         symbol is unnecessary.
25304         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
25305         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
25306         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
25307         faster for headers like stddef.h that are known to exist.
25308         (gl_CHECK_NEXT_HEADERS): Use it.
25309         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
25310         rather than gl_CHECK_NEXT_HEADERS.
25311         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
25312         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
25313
25314 2011-01-18  Eric Blake  <eblake@redhat.com>
25315
25316         ansi-c++-opt: skip C++ dependency style if C++ is unused
25317         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
25318         tests when we know C++ compilation is not desired.
25319         Reported by Scott McCreary.
25320
25321 2011-01-18  Bruno Haible  <bruno@clisp.org>
25322
25323         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
25324         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
25325         (main): Perform test also when getrlimit and setrlimit don't exist or
25326         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
25327         limiting the address space size using setrlimit, compare the address
25328         space size before and after the the test.
25329         * tests/test-dprintf-posix2.c: Likewise.
25330         * tests/test-fprintf-posix3.sh: Update skip messages.
25331         * tests/test-dprintf-posix2.sh: Likewise.
25332         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
25333         * modules/dprintf-posix-tests (Depends-on): Likewise.
25334         Reported by Bruce Korb <bkorb@gnu.org> and
25335         Gary V. Vaughan <gary@gnu.org>.
25336
25337 2011-01-18  Bruno Haible  <bruno@clisp.org>
25338
25339         get-rusage-as: Improvement for Cygwin.
25340         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
25341         areas that are merely reserved.
25342
25343 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25344
25345         strftime: remove dependencies on multibyte modules
25346
25347         strftime depended on mbrlen, mbsinit, and wchar, but these modules
25348         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
25349         only if __osf__ is defined, and I suspect OSF doesn't need these
25350         other modules.  If my guess is wrong, we'll need to come up with a
25351         variant of strftime that doesn't need the multibyte modules.
25352
25353         I discovered this problem when attempting modify Emacs to use the
25354         strftime module.  With the previous gnulib, this caused Emacs to
25355         need 31 new files, ranging from lib/config.charset to
25356         m4/wint_t.m4.  This was overkill and I expect would be offputting
25357         to the Emacs maintainers.  After this change, only 6 new files are
25358         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
25359         stdbool.m4, and tm_gmtoff.m4.
25360
25361         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
25362         Suggested by Bruno Haible in
25363         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
25364         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
25365         and do not check for wchar.h.
25366         * modules/strftime (Files): Remove m4/mbstate_t.m4.
25367         (Depends-on): Remove mbrlen, mbsinit, wchar.
25368
25369 2011-01-18  Bruno Haible  <bruno@clisp.org>
25370
25371         Tests for module 'get-rusage-as'.
25372         * modules/get-rusage-as-tests: New file.
25373         * tests/test-get-rusage-as.c: New file.
25374
25375         New module 'get-rusage-as'.
25376         * modules/get-rusage-as: New file.
25377         * lib/resource-ext.h: New file.
25378         * lib/get-rusage-as.c: New file.
25379
25380 2011-01-17  Eric Blake  <eblake@redhat.com>
25381
25382         sigaction: relax license from LGPLv3+ to LGPLv2+
25383         * modules/sigaction (License): Relax to LGPLv2+.
25384
25385 2011-01-14  Bruno Haible  <bruno@clisp.org>
25386
25387         filemode: Make function declarations usable in C++ mode.
25388         * lib/filemode.h: Enclose function declarations in extern "C" block.
25389         Reported by John W. Eaton <jwe@gnu.org>.
25390
25391 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
25392
25393         save-cwd: no longer include "xgetcwd.h"
25394         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
25395         This avoids a compilation failure in projects that use save-cwd
25396         without also using the xgetcwd module.
25397
25398 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25399
25400         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
25401         This is so that a program like Emacs, which needs only dtoastr,
25402         does not have to bother with distributing and compiling ftoastr
25403         and ldtoastr.
25404         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
25405         * modules/dtoastr, modules/ldtoastr: New files.
25406         * modules/ftoastr: Now works just for 'float'.
25407         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
25408         (Makefile.am): Remove ftoastr.h (not needed and no effect),
25409         dtoastr.c, ldtoastr.c.
25410
25411 2011-01-11  Jim Meyering  <meyering@redhat.com>
25412
25413         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
25414         There is no need to work around the lack of the fchdir function,
25415         since gnulib can now provide a replacement when required.
25416         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
25417         * modules/save-cwd (Depends-on): Add fchdir.
25418
25419 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25420
25421         openat, save-cwd: avoid xmalloc
25422
25423         This removes a direct (but undocumented) dependency of openat on
25424         xalloc, along with an indirect dependency via save-cwd.  It also
25425         removes a dependency of save-cwd on xgetcwd, and thereby
25426         indirectly on xalloc.  This change causes the openat substitute
25427         to fall back on save_cwd when memory is tight, and for save_cwd to
25428         fail instead of dying when memory is tight, but that's good enough.
25429         Problem and initial idea for fix reported by Bastien Roucaries in
25430         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
25431
25432         * lib/openat-proc.c: Include stdlib.h (for malloc), not
25433         xalloc.h (for xmalloc).
25434         (openat_proc_name): Use malloc, not xmalloc.
25435         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
25436         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
25437
25438         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
25439         This avoids heap allocation for file names whose lengths are in
25440         the range 512..1023, with the upper bound increasing to at most
25441         4031 depending on the platform's PATH_MAX.  (We do not want
25442         pathmax.h here as it might supply a non-constant PATH_MAX.)
25443         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
25444         Perhaps they should be moved to malloca.h?
25445         (OPENAT_BUFFER_SIZE): Use them.
25446
25447 2011-01-10  Bruno Haible  <bruno@clisp.org>
25448
25449         doc: Update users.txt.
25450         * users.txt: Add recutils.
25451
25452 2011-01-09  Karl Berry  <karl@gnu.org>
25453
25454         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
25455
25456         * doc/configmake.texi: New file.
25457         * doc/gnulib.texi: Include it.
25458         * modules/configmake: Move documentation from here.
25459
25460 2011-01-09  Bruno Haible  <bruno@clisp.org>
25461
25462         Update to Unicode 6.0.0.
25463         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
25464         (get_lbp): Update for Unicode 6.0.0.
25465         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
25466         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
25467         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
25468         U+11001, U+11038..U+11046. Remove U+06DE.
25469         (uc_width): Fix bounds of planes.
25470         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25471         lib/uniwidth/width.c.
25472         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
25473         trailing whitespace removed.
25474         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
25475         without comments, but with the original copyright notice.
25476         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
25477         * lib/unicase/ignorable.h: Likewise.
25478         * lib/unicase/tocasefold.h: Likewise.
25479         * lib/unicase/tolower.h: Likewise.
25480         * lib/unicase/totitle.h: Likewise.
25481         * lib/unicase/toupper.h: Likewise.
25482         * lib/unictype/bidi_of.h: Likewise.
25483         * lib/unictype/blocks.h: Likewise.
25484         * lib/unictype/categ_C.h: Likewise.
25485         * lib/unictype/categ_Cn.h: Likewise.
25486         * lib/unictype/categ_L.h: Likewise.
25487         * lib/unictype/categ_Ll.h: Likewise.
25488         * lib/unictype/categ_Lm.h: Likewise.
25489         * lib/unictype/categ_Lo.h: Likewise.
25490         * lib/unictype/categ_Lu.h: Likewise.
25491         * lib/unictype/categ_M.h: Likewise.
25492         * lib/unictype/categ_Mc.h: Likewise.
25493         * lib/unictype/categ_Me.h: Likewise.
25494         * lib/unictype/categ_Mn.h: Likewise.
25495         * lib/unictype/categ_N.h: Likewise.
25496         * lib/unictype/categ_Nd.h: Likewise.
25497         * lib/unictype/categ_No.h: Likewise.
25498         * lib/unictype/categ_P.h: Likewise.
25499         * lib/unictype/categ_Po.h: Likewise.
25500         * lib/unictype/categ_S.h: Likewise.
25501         * lib/unictype/categ_Sc.h: Likewise.
25502         * lib/unictype/categ_Sk.h: Likewise.
25503         * lib/unictype/categ_Sm.h: Likewise.
25504         * lib/unictype/categ_So.h: Likewise.
25505         * lib/unictype/categ_of.h: Likewise.
25506         * lib/unictype/combining.h: Likewise.
25507         * lib/unictype/ctype_alnum.h: Likewise.
25508         * lib/unictype/ctype_alpha.h: Likewise.
25509         * lib/unictype/ctype_graph.h: Likewise.
25510         * lib/unictype/ctype_lower.h: Likewise.
25511         * lib/unictype/ctype_print.h: Likewise.
25512         * lib/unictype/ctype_punct.h: Likewise.
25513         * lib/unictype/ctype_upper.h: Likewise.
25514         * lib/unictype/decdigit.h: Likewise.
25515         * lib/unictype/digit.h: Likewise.
25516         * lib/unictype/numeric.h: Likewise.
25517         * lib/unictype/pr_alphabetic.h: Likewise.
25518         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25519         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25520         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25521         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25522         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25523         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25524         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25525         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25526         * lib/unictype/pr_case_ignorable.h: Likewise.
25527         * lib/unictype/pr_cased.h: Likewise.
25528         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
25529         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
25530         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
25531         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
25532         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
25533         * lib/unictype/pr_combining.h: Likewise.
25534         * lib/unictype/pr_composite.h: Likewise.
25535         * lib/unictype/pr_currency_symbol.h: Likewise.
25536         * lib/unictype/pr_decimal_digit.h: Likewise.
25537         * lib/unictype/pr_deprecated.h: Likewise.
25538         * lib/unictype/pr_format_control.h: Likewise.
25539         * lib/unictype/pr_grapheme_base.h: Likewise.
25540         * lib/unictype/pr_grapheme_extend.h: Likewise.
25541         * lib/unictype/pr_grapheme_link.h: Likewise.
25542         * lib/unictype/pr_id_continue.h: Likewise.
25543         * lib/unictype/pr_id_start.h: Likewise.
25544         * lib/unictype/pr_ideographic.h: Likewise.
25545         * lib/unictype/pr_lowercase.h: Likewise.
25546         * lib/unictype/pr_math.h: Likewise.
25547         * lib/unictype/pr_numeric.h: Likewise.
25548         * lib/unictype/pr_other_alphabetic.h: Likewise.
25549         * lib/unictype/pr_other_id_continue.h: Likewise.
25550         * lib/unictype/pr_other_math.h: Likewise.
25551         * lib/unictype/pr_punctuation.h: Likewise.
25552         * lib/unictype/pr_sentence_terminal.h: Likewise.
25553         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25554         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25555         * lib/unictype/pr_unified_ideograph.h: Likewise.
25556         * lib/unictype/pr_uppercase.h: Likewise.
25557         * lib/unictype/pr_xid_continue.h: Likewise.
25558         * lib/unictype/pr_xid_start.h: Likewise.
25559         * lib/unictype/scripts.h: Likewise.
25560         * lib/unictype/scripts_byname.gperf: Likewise.
25561         * lib/unictype/sy_java_ident.h: Likewise.
25562         * lib/unigbrk/gbrkprop.h: Likewise.
25563         * lib/unilbrk/lbrkprop1.h: Likewise.
25564         * lib/unilbrk/lbrkprop2.h: Likewise.
25565         * lib/uninorm/decomposition-table2.h: Likewise.
25566         * lib/uniwbrk/wbrkprop.h: Likewise.
25567         * tests/unicase/test-cased.c: Likewise.
25568         * tests/unicase/test-ignorable.c: Likewise.
25569         * tests/unicase/test-uc_tolower.c: Likewise.
25570         * tests/unicase/test-uc_totitle.c: Likewise.
25571         * tests/unicase/test-uc_toupper.c: Likewise.
25572         * tests/unictype/test-categ_C.c: Likewise.
25573         * tests/unictype/test-categ_Cn.c: Likewise.
25574         * tests/unictype/test-categ_L.c: Likewise.
25575         * tests/unictype/test-categ_Ll.c: Likewise.
25576         * tests/unictype/test-categ_Lm.c: Likewise.
25577         * tests/unictype/test-categ_Lo.c: Likewise.
25578         * tests/unictype/test-categ_Lu.c: Likewise.
25579         * tests/unictype/test-categ_M.c: Likewise.
25580         * tests/unictype/test-categ_Mc.c: Likewise.
25581         * tests/unictype/test-categ_Me.c: Likewise.
25582         * tests/unictype/test-categ_Mn.c: Likewise.
25583         * tests/unictype/test-categ_N.c: Likewise.
25584         * tests/unictype/test-categ_Nd.c: Likewise.
25585         * tests/unictype/test-categ_No.c: Likewise.
25586         * tests/unictype/test-categ_P.c: Likewise.
25587         * tests/unictype/test-categ_Po.c: Likewise.
25588         * tests/unictype/test-categ_S.c: Likewise.
25589         * tests/unictype/test-categ_Sc.c: Likewise.
25590         * tests/unictype/test-categ_Sk.c: Likewise.
25591         * tests/unictype/test-categ_Sm.c: Likewise.
25592         * tests/unictype/test-categ_So.c: Likewise.
25593         * tests/unictype/test-ctype_alnum.c: Likewise.
25594         * tests/unictype/test-ctype_alpha.c: Likewise.
25595         * tests/unictype/test-ctype_graph.c: Likewise.
25596         * tests/unictype/test-ctype_lower.c: Likewise.
25597         * tests/unictype/test-ctype_print.c: Likewise.
25598         * tests/unictype/test-ctype_punct.c: Likewise.
25599         * tests/unictype/test-ctype_upper.c: Likewise.
25600         * tests/unictype/test-decdigit.h: Likewise.
25601         * tests/unictype/test-digit.h: Likewise.
25602         * tests/unictype/test-numeric.h: Likewise.
25603         * tests/unictype/test-pr_alphabetic.c: Likewise.
25604         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25605         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
25606         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
25607         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25608         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25609         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25610         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25611         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25612         * tests/unictype/test-pr_case_ignorable.c: Likewise.
25613         * tests/unictype/test-pr_cased.c: Likewise.
25614         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
25615         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
25616         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
25617         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
25618         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
25619         * tests/unictype/test-pr_combining.c: Likewise.
25620         * tests/unictype/test-pr_composite.c: Likewise.
25621         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25622         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25623         * tests/unictype/test-pr_deprecated.c: Likewise.
25624         * tests/unictype/test-pr_format_control.c: Likewise.
25625         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25626         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25627         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25628         * tests/unictype/test-pr_id_continue.c: Likewise.
25629         * tests/unictype/test-pr_id_start.c: Likewise.
25630         * tests/unictype/test-pr_ideographic.c: Likewise.
25631         * tests/unictype/test-pr_lowercase.c: Likewise.
25632         * tests/unictype/test-pr_math.c: Likewise.
25633         * tests/unictype/test-pr_numeric.c: Likewise.
25634         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25635         * tests/unictype/test-pr_other_id_continue.c: Likewise.
25636         * tests/unictype/test-pr_other_math.c: Likewise.
25637         * tests/unictype/test-pr_punctuation.c: Likewise.
25638         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25639         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25640         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25641         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25642         * tests/unictype/test-pr_uppercase.c: Likewise.
25643         * tests/unictype/test-pr_xid_continue.c: Likewise.
25644         * tests/unictype/test-pr_xid_start.c: Likewise.
25645         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
25646         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
25647         changes.
25648         * lib/unictype/categ_Cc.h: Likewise.
25649         * lib/unictype/categ_Cf.h: Likewise.
25650         * lib/unictype/categ_Co.h: Likewise.
25651         * lib/unictype/categ_Cs.h: Likewise.
25652         * lib/unictype/categ_Lt.h: Likewise.
25653         * lib/unictype/categ_Nl.h: Likewise.
25654         * lib/unictype/categ_Pc.h: Likewise.
25655         * lib/unictype/categ_Pd.h: Likewise.
25656         * lib/unictype/categ_Pe.h: Likewise.
25657         * lib/unictype/categ_Pf.h: Likewise.
25658         * lib/unictype/categ_Pi.h: Likewise.
25659         * lib/unictype/categ_Ps.h: Likewise.
25660         * lib/unictype/categ_Z.h: Likewise.
25661         * lib/unictype/categ_Zl.h: Likewise.
25662         * lib/unictype/categ_Zp.h: Likewise.
25663         * lib/unictype/categ_Zs.h: Likewise.
25664         * lib/unictype/ctype_blank.h: Likewise.
25665         * lib/unictype/ctype_cntrl.h: Likewise.
25666         * lib/unictype/ctype_digit.h: Likewise.
25667         * lib/unictype/ctype_space.h: Likewise.
25668         * lib/unictype/ctype_xdigit.h: Likewise.
25669         * lib/unictype/mirror.h: Likewise.
25670         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
25671         * lib/unictype/pr_bidi_block_separator.h: Likewise.
25672         * lib/unictype/pr_bidi_common_separator.h: Likewise.
25673         * lib/unictype/pr_bidi_control.h: Likewise.
25674         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
25675         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
25676         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25677         * lib/unictype/pr_bidi_pdf.h: Likewise.
25678         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
25679         * lib/unictype/pr_bidi_whitespace.h: Likewise.
25680         * lib/unictype/pr_dash.h: Likewise.
25681         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
25682         * lib/unictype/pr_diacritic.h: Likewise.
25683         * lib/unictype/pr_extender.h: Likewise.
25684         * lib/unictype/pr_hex_digit.h: Likewise.
25685         * lib/unictype/pr_hyphen.h: Likewise.
25686         * lib/unictype/pr_ids_binary_operator.h: Likewise.
25687         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
25688         * lib/unictype/pr_ignorable_control.h: Likewise.
25689         * lib/unictype/pr_iso_control.h: Likewise.
25690         * lib/unictype/pr_join_control.h: Likewise.
25691         * lib/unictype/pr_left_of_pair.h: Likewise.
25692         * lib/unictype/pr_line_separator.h: Likewise.
25693         * lib/unictype/pr_logical_order_exception.h: Likewise.
25694         * lib/unictype/pr_non_break.h: Likewise.
25695         * lib/unictype/pr_not_a_character.h: Likewise.
25696         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
25697         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
25698         * lib/unictype/pr_other_id_start.h: Likewise.
25699         * lib/unictype/pr_other_lowercase.h: Likewise.
25700         * lib/unictype/pr_other_uppercase.h: Likewise.
25701         * lib/unictype/pr_paired_punctuation.h: Likewise.
25702         * lib/unictype/pr_paragraph_separator.h: Likewise.
25703         * lib/unictype/pr_pattern_syntax.h: Likewise.
25704         * lib/unictype/pr_pattern_white_space.h: Likewise.
25705         * lib/unictype/pr_private_use.h: Likewise.
25706         * lib/unictype/pr_quotation_mark.h: Likewise.
25707         * lib/unictype/pr_radical.h: Likewise.
25708         * lib/unictype/pr_soft_dotted.h: Likewise.
25709         * lib/unictype/pr_space.h: Likewise.
25710         * lib/unictype/pr_titlecase.h: Likewise.
25711         * lib/unictype/pr_variation_selector.h: Likewise.
25712         * lib/unictype/pr_white_space.h: Likewise.
25713         * lib/unictype/pr_zero_width.h: Likewise.
25714         * lib/unictype/sy_c_ident.h: Likewise.
25715         * lib/unictype/sy_c_whitespace.h: Likewise.
25716         * lib/unictype/sy_java_whitespace.h: Likewise.
25717         * lib/uninorm/composition-table.gperf: Likewise.
25718         * lib/uninorm/decomposition-table1.h: Likewise.
25719         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
25720         LB8.
25721         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25722         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25723         * modules/unictype/*: Bump version number of expected libunistring
25724         version.
25725
25726 2011-01-09  Bruno Haible  <bruno@clisp.org>
25727
25728         Update to Unicode 5.2.0.
25729         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
25730         trailing whitespace removed.
25731
25732 2011-01-09  Bruno Haible  <bruno@clisp.org>
25733
25734         New Unicode character properties, from Unicode 5.2.0.
25735         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
25736         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
25737         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
25738         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
25739         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
25740         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
25741         uc_is_property_cased, uc_is_property_case_ignorable,
25742         uc_is_property_changes_when_lowercased,
25743         uc_is_property_changes_when_uppercased,
25744         uc_is_property_changes_when_titlecased,
25745         uc_is_property_changes_when_casefolded,
25746         uc_is_property_changes_when_casemapped): New declarations.
25747         * lib/unictype/pr_byname.gperf: Add the new properties.
25748         * modules/unictype/property-byname (Depends-on): Depend on the new
25749         properties modules.
25750         * modules/unictype/property-all (Depends-on): Likewise.
25751         * MODULES.html.sh (Unicode string functions): Add
25752         unictype/property-case-ignorable, unictype/property-cased,
25753         unictype/property-changes-when-casefolded,
25754         unictype/property-changes-when-casemapped,
25755         unictype/property-changes-when-lowercased,
25756         unictype/property-changes-when-titlecased,
25757         unictype/property-changes-when-uppercased.
25758
25759         New module 'unictype/property-changes-when-casemapped'.
25760         * modules/unictype/property-changes-when-casemapped: New file.
25761         * lib/unictype/pr_changes_when_casemapped.c: New file.
25762         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
25763         generated by gen-uni-tables.
25764         * modules/unictype/property-changes-when-casemapped-tests: New file.
25765         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
25766         automatically generated by gen-uni-tables.
25767
25768         New module 'unictype/property-changes-when-casefolded'.
25769         * modules/unictype/property-changes-when-casefolded: New file.
25770         * lib/unictype/pr_changes_when_casefolded.c: New file.
25771         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
25772         generated by gen-uni-tables.
25773         * modules/unictype/property-changes-when-casefolded-tests: New file.
25774         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
25775         automatically generated by gen-uni-tables.
25776
25777         New module 'unictype/property-changes-when-titlecased'.
25778         * modules/unictype/property-changes-when-titlecased: New file.
25779         * lib/unictype/pr_changes_when_titlecased.c: New file.
25780         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
25781         generated by gen-uni-tables.
25782         * modules/unictype/property-changes-when-titlecased-tests: New file.
25783         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
25784         automatically generated by gen-uni-tables.
25785
25786         New module 'unictype/property-changes-when-uppercased'.
25787         * modules/unictype/property-changes-when-uppercased: New file.
25788         * lib/unictype/pr_changes_when_uppercased.c: New file.
25789         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
25790         generated by gen-uni-tables.
25791         * modules/unictype/property-changes-when-uppercased-tests: New file.
25792         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
25793         automatically generated by gen-uni-tables.
25794
25795         New module 'unictype/property-changes-when-lowercased'.
25796         * modules/unictype/property-changes-when-lowercased: New file.
25797         * lib/unictype/pr_changes_when_lowercased.c: New file.
25798         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
25799         generated by gen-uni-tables.
25800         * modules/unictype/property-changes-when-lowercased-tests: New file.
25801         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
25802         automatically generated by gen-uni-tables.
25803
25804         New module 'unictype/property-case-ignorable'.
25805         * modules/unictype/property-case-ignorable: New file.
25806         * lib/unictype/pr_case_ignorable.c: New file.
25807         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
25808         by gen-uni-tables.
25809         * modules/unictype/property-case-ignorable-tests: New file.
25810         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
25811         generated by gen-uni-tables.
25812
25813         New module 'unictype/property-cased'.
25814         * modules/unictype/property-cased: New file.
25815         * lib/unictype/pr_cased.c: New file.
25816         * lib/unictype/pr_cased.h: New file, automatically generated by
25817         gen-uni-tables.
25818         * modules/unictype/property-cased-tests: New file.
25819         * tests/unictype/test-pr_cased.c: New file, automatically generated by
25820         gen-uni-tables.
25821
25822 2011-01-09  Bruno Haible  <bruno@clisp.org>
25823
25824         Update to Unicode 5.2.0.
25825         * lib/gen-uni-tables.c (output_predicate, output_category,
25826         output_combclass, output_bidi_category, output_decimal_digit_test,
25827         output_decimal_digit, output_digit_test, output_digit,
25828         output_numeric_test, output_numeric, output_mirror, output_scripts,
25829         output_scripts_byname, output_blocks, output_ident_category): Fix
25830         comment header.
25831         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
25832         get_wbp.
25833         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
25834         items.
25835         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
25836         Changes_When_Lowercased, Changes_When_Uppercased,
25837         Changes_When_Titlecased, Changes_When_Casefolded,
25838         Changes_When_Casemapped.
25839         (is_property_alphabetic, is_property_default_ignorable_code_point):
25840         Update for Unicode 5.2.0.
25841         (is_property_cased, is_property_case_ignorable,
25842         is_property_changes_when_lowercased,
25843         is_property_changes_when_uppercased,
25844         is_property_changes_when_titlecased,
25845         is_property_changes_when_casefolded,
25846         is_property_changes_when_casemapped): New functions.
25847         (output_properties): Output also the properties cased, case_ignorable,
25848         changes_when_lowercased, changes_when_uppercased,
25849         changes_when_titlecased, changes_when_casefolded,
25850         changes_when_casemapped.
25851         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
25852         Unicode TR#11 revision 17 -> 19.
25853         (LBP_CP): New enumeration value.
25854         (LBP_*): Adjust values accordingly.
25855         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25856         TR#14 revision 22 -> 24.
25857         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
25858         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
25859         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25860         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
25861         is_WBP_MIDLETTER.
25862         (output_composition_tables): Allow for 24 bits instead of 16 bits in
25863         the code1 and code2 of each composition rule.
25864         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
25865         * lib/unicase/ignorable.h: Likewise.
25866         * lib/unicase/tocasefold.h: Likewise.
25867         * lib/unicase/tolower.h: Likewise.
25868         * lib/unicase/totitle.h: Likewise.
25869         * lib/unicase/toupper.h: Likewise.
25870         * lib/unictype/bidi_of.h: Likewise.
25871         * lib/unictype/blocks.h: Likewise.
25872         * lib/unictype/categ_C.h: Likewise.
25873         * lib/unictype/categ_Cf.h: Likewise.
25874         * lib/unictype/categ_Cn.h: Likewise.
25875         * lib/unictype/categ_L.h: Likewise.
25876         * lib/unictype/categ_Ll.h: Likewise.
25877         * lib/unictype/categ_Lm.h: Likewise.
25878         * lib/unictype/categ_Lo.h: Likewise.
25879         * lib/unictype/categ_Lu.h: Likewise.
25880         * lib/unictype/categ_M.h: Likewise.
25881         * lib/unictype/categ_Mc.h: Likewise.
25882         * lib/unictype/categ_Mn.h: Likewise.
25883         * lib/unictype/categ_N.h: Likewise.
25884         * lib/unictype/categ_Nd.h: Likewise.
25885         * lib/unictype/categ_Nl.h: Likewise.
25886         * lib/unictype/categ_No.h: Likewise.
25887         * lib/unictype/categ_P.h: Likewise.
25888         * lib/unictype/categ_Pd.h: Likewise.
25889         * lib/unictype/categ_Po.h: Likewise.
25890         * lib/unictype/categ_S.h: Likewise.
25891         * lib/unictype/categ_Sc.h: Likewise.
25892         * lib/unictype/categ_So.h: Likewise.
25893         * lib/unictype/categ_of.h: Likewise.
25894         * lib/unictype/combining.h: Likewise.
25895         * lib/unictype/ctype_alnum.h: Likewise.
25896         * lib/unictype/ctype_alpha.h: Likewise.
25897         * lib/unictype/ctype_graph.h: Likewise.
25898         * lib/unictype/ctype_lower.h: Likewise.
25899         * lib/unictype/ctype_print.h: Likewise.
25900         * lib/unictype/ctype_punct.h: Likewise.
25901         * lib/unictype/ctype_upper.h: Likewise.
25902         * lib/unictype/decdigit.h: Likewise.
25903         * lib/unictype/digit.h: Likewise.
25904         * lib/unictype/numeric.h: Likewise.
25905         * lib/unictype/pr_alphabetic.h: Likewise.
25906         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25907         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25908         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25909         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25910         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25911         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25912         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25913         * lib/unictype/pr_combining.h: Likewise.
25914         * lib/unictype/pr_composite.h: Likewise.
25915         * lib/unictype/pr_currency_symbol.h: Likewise.
25916         * lib/unictype/pr_dash.h: Likewise.
25917         * lib/unictype/pr_decimal_digit.h: Likewise.
25918         * lib/unictype/pr_deprecated.h: Likewise.
25919         * lib/unictype/pr_diacritic.h: Likewise.
25920         * lib/unictype/pr_extender.h: Likewise.
25921         * lib/unictype/pr_grapheme_base.h: Likewise.
25922         * lib/unictype/pr_grapheme_extend.h: Likewise.
25923         * lib/unictype/pr_grapheme_link.h: Likewise.
25924         * lib/unictype/pr_id_continue.h: Likewise.
25925         * lib/unictype/pr_id_start.h: Likewise.
25926         * lib/unictype/pr_ideographic.h: Likewise.
25927         * lib/unictype/pr_ignorable_control.h: Likewise.
25928         * lib/unictype/pr_logical_order_exception.h: Likewise.
25929         * lib/unictype/pr_lowercase.h: Likewise.
25930         * lib/unictype/pr_numeric.h: Likewise.
25931         * lib/unictype/pr_other_alphabetic.h: Likewise.
25932         * lib/unictype/pr_punctuation.h: Likewise.
25933         * lib/unictype/pr_sentence_terminal.h: Likewise.
25934         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25935         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25936         * lib/unictype/pr_unified_ideograph.h: Likewise.
25937         * lib/unictype/pr_uppercase.h: Likewise.
25938         * lib/unictype/pr_xid_continue.h: Likewise.
25939         * lib/unictype/pr_xid_start.h: Likewise.
25940         * lib/unictype/pr_zero_width.h: Likewise.
25941         * lib/unictype/scripts.h: Likewise.
25942         * lib/unictype/scripts_byname.gperf: Likewise.
25943         * lib/unictype/sy_java_ident.h: Likewise.
25944         * lib/unigbrk/gbrkprop.h: Likewise.
25945         * lib/unilbrk/lbrkprop1.h: Likewise.
25946         * lib/unilbrk/lbrkprop2.h: Likewise.
25947         * lib/unilbrk/lbrktables.h: Likewise.
25948         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
25949         LBP_CP. Implement rule LB30.
25950         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
25951         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
25952         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
25953         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
25954         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
25955         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
25956         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
25957         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
25958         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
25959         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
25960         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
25961         bits instead of 16 bits in the code1 and code2 of each composition
25962         rule.
25963         (uc_composition): Update for Unicode 5.2.0.
25964         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
25965         * lib/uninorm/decomposition-table2.h: Likewise.
25966         * lib/uniwbrk/wbrkprop.h: Likewise.
25967         * tests/unicase/test-cased.c: Likewise.
25968         * tests/unicase/test-ignorable.c: Likewise.
25969         * tests/unicase/test-uc_tolower.c: Likewise.
25970         * tests/unicase/test-uc_totitle.c: Likewise.
25971         * tests/unicase/test-uc_toupper.c: Likewise.
25972         * tests/unictype/test-categ_C.c: Likewise.
25973         * tests/unictype/test-categ_Cf.c: Likewise.
25974         * tests/unictype/test-categ_Cn.c: Likewise.
25975         * tests/unictype/test-categ_L.c: Likewise.
25976         * tests/unictype/test-categ_Ll.c: Likewise.
25977         * tests/unictype/test-categ_Lm.c: Likewise.
25978         * tests/unictype/test-categ_Lo.c: Likewise.
25979         * tests/unictype/test-categ_Lu.c: Likewise.
25980         * tests/unictype/test-categ_M.c: Likewise.
25981         * tests/unictype/test-categ_Mc.c: Likewise.
25982         * tests/unictype/test-categ_Mn.c: Likewise.
25983         * tests/unictype/test-categ_N.c: Likewise.
25984         * tests/unictype/test-categ_Nd.c: Likewise.
25985         * tests/unictype/test-categ_Nl.c: Likewise.
25986         * tests/unictype/test-categ_No.c: Likewise.
25987         * tests/unictype/test-categ_P.c: Likewise.
25988         * tests/unictype/test-categ_Pd.c: Likewise.
25989         * tests/unictype/test-categ_Po.c: Likewise.
25990         * tests/unictype/test-categ_S.c: Likewise.
25991         * tests/unictype/test-categ_Sc.c: Likewise.
25992         * tests/unictype/test-categ_So.c: Likewise.
25993         * tests/unictype/test-ctype_alnum.c: Likewise.
25994         * tests/unictype/test-ctype_alpha.c: Likewise.
25995         * tests/unictype/test-ctype_graph.c: Likewise.
25996         * tests/unictype/test-ctype_lower.c: Likewise.
25997         * tests/unictype/test-ctype_print.c: Likewise.
25998         * tests/unictype/test-ctype_punct.c: Likewise.
25999         * tests/unictype/test-ctype_upper.c: Likewise.
26000         * tests/unictype/test-decdigit.h: Likewise.
26001         * tests/unictype/test-digit.h: Likewise.
26002         * tests/unictype/test-numeric.h: Likewise.
26003         * tests/unictype/test-pr_alphabetic.c: Likewise.
26004         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26005         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26006         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
26007         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26008         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26009         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26010         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26011         * tests/unictype/test-pr_combining.c: Likewise.
26012         * tests/unictype/test-pr_composite.c: Likewise.
26013         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26014         * tests/unictype/test-pr_dash.c: Likewise.
26015         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26016         * tests/unictype/test-pr_deprecated.c: Likewise.
26017         * tests/unictype/test-pr_diacritic.c: Likewise.
26018         * tests/unictype/test-pr_extender.c: Likewise.
26019         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26020         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26021         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26022         * tests/unictype/test-pr_id_continue.c: Likewise.
26023         * tests/unictype/test-pr_id_start.c: Likewise.
26024         * tests/unictype/test-pr_ideographic.c: Likewise.
26025         * tests/unictype/test-pr_ignorable_control.c: Likewise.
26026         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
26027         * tests/unictype/test-pr_lowercase.c: Likewise.
26028         * tests/unictype/test-pr_numeric.c: Likewise.
26029         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26030         * tests/unictype/test-pr_punctuation.c: Likewise.
26031         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26032         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26033         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26034         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26035         * tests/unictype/test-pr_uppercase.c: Likewise.
26036         * tests/unictype/test-pr_xid_continue.c: Likewise.
26037         * tests/unictype/test-pr_xid_start.c: Likewise.
26038         * tests/unictype/test-pr_zero_width.c: Likewise.
26039         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
26040         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
26041         changed behaviour: line breaking is now disallowed between a letter
26042         or '=' and '('.
26043         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26044         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26045         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
26046         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
26047         * tests/uniwidth/test-uc_width2.sh: Same updates as in
26048         lib/uniwidth/width.c.
26049         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
26050         without comments, but with the original copyright notice.
26051         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
26052         changes.
26053         * lib/unictype/categ_Cc.h: Likewise.
26054         * lib/unictype/categ_Co.h: Likewise.
26055         * lib/unictype/categ_Cs.h: Likewise.
26056         * lib/unictype/categ_Lt.h: Likewise.
26057         * lib/unictype/categ_Me.h: Likewise.
26058         * lib/unictype/categ_Pc.h: Likewise.
26059         * lib/unictype/categ_Pe.h: Likewise.
26060         * lib/unictype/categ_Pf.h: Likewise.
26061         * lib/unictype/categ_Pi.h: Likewise.
26062         * lib/unictype/categ_Ps.h: Likewise.
26063         * lib/unictype/categ_Sk.h: Likewise.
26064         * lib/unictype/categ_Sm.h: Likewise.
26065         * lib/unictype/categ_Z.h: Likewise.
26066         * lib/unictype/categ_Zl.h: Likewise.
26067         * lib/unictype/categ_Zp.h: Likewise.
26068         * lib/unictype/categ_Zs.h: Likewise.
26069         * lib/unictype/ctype_blank.h: Likewise.
26070         * lib/unictype/ctype_cntrl.h: Likewise.
26071         * lib/unictype/ctype_digit.h: Likewise.
26072         * lib/unictype/ctype_space.h: Likewise.
26073         * lib/unictype/ctype_xdigit.h: Likewise.
26074         * lib/unictype/mirror.h: Likewise.
26075         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26076         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26077         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26078         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26079         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26080         * lib/unictype/pr_bidi_control.h: Likewise.
26081         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26082         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26083         * lib/unictype/pr_bidi_pdf.h: Likewise.
26084         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26085         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26086         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26087         * lib/unictype/pr_format_control.h: Likewise.
26088         * lib/unictype/pr_hex_digit.h: Likewise.
26089         * lib/unictype/pr_hyphen.h: Likewise.
26090         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26091         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26092         * lib/unictype/pr_iso_control.h: Likewise.
26093         * lib/unictype/pr_join_control.h: Likewise.
26094         * lib/unictype/pr_left_of_pair.h: Likewise.
26095         * lib/unictype/pr_line_separator.h: Likewise.
26096         * lib/unictype/pr_math.h: Likewise.
26097         * lib/unictype/pr_non_break.h: Likewise.
26098         * lib/unictype/pr_not_a_character.h: Likewise.
26099         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26100         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26101         * lib/unictype/pr_other_id_continue.h: Likewise.
26102         * lib/unictype/pr_other_id_start.h: Likewise.
26103         * lib/unictype/pr_other_lowercase.h: Likewise.
26104         * lib/unictype/pr_other_math.h: Likewise.
26105         * lib/unictype/pr_other_uppercase.h: Likewise.
26106         * lib/unictype/pr_paired_punctuation.h: Likewise.
26107         * lib/unictype/pr_paragraph_separator.h: Likewise.
26108         * lib/unictype/pr_pattern_syntax.h: Likewise.
26109         * lib/unictype/pr_pattern_white_space.h: Likewise.
26110         * lib/unictype/pr_private_use.h: Likewise.
26111         * lib/unictype/pr_quotation_mark.h: Likewise.
26112         * lib/unictype/pr_radical.h: Likewise.
26113         * lib/unictype/pr_soft_dotted.h: Likewise.
26114         * lib/unictype/pr_space.h: Likewise.
26115         * lib/unictype/pr_titlecase.h: Likewise.
26116         * lib/unictype/pr_variation_selector.h: Likewise.
26117         * lib/unictype/pr_white_space.h: Likewise.
26118         * lib/unictype/sy_c_ident.h: Likewise.
26119         * lib/unictype/sy_c_whitespace.h: Likewise.
26120         * lib/unictype/sy_java_whitespace.h: Likewise.
26121         * modules/uni*/*: Bump version number of expected libunistring version.
26122         Reported by Simon Josefsson.
26123
26124 2011-01-09  Karl Heuer  <kwzh@gnu.org>
26125
26126         useless-if-before-free: fix typo in --help and make the internal,
26127         automatic version date update process work once again.
26128         --help output contained a NUL character instead of the
26129         backslash-zero that was intended.  Also, the "must lie within
26130         the first 8 lines" line is on line 9, and hence not getting
26131         automatically updated.
26132         * build-aux/useless-if-before-free: Fix the former by adding a
26133         backslash, and the latter by condensing the three lines of what-it-does
26134         to a single line, leaving one line of slack for the future.
26135
26136 2011-01-09  Bruno Haible  <bruno@clisp.org>
26137
26138         uniwidth/width: Fix width of U+1D173..U+1D17A.
26139         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
26140         symbolic_width, output_width_property_test): New functions.
26141         (main): Invoke output_nonspacing_property, output_width_property_test.
26142         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
26143         U+1D173..U+1D17A.
26144         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
26145         1.
26146         * modules/uniwidth/*: Bump version number of expected libunistring
26147         version.
26148         * modules/unilbrk/*: Likewise.
26149
26150 2011-01-08  Bruno Haible  <bruno@clisp.org>
26151
26152         uninorm tests: Preserve copyright of Unicode data file.
26153         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
26154         Mention modifications.
26155
26156 2011-01-08  Bruno Haible  <bruno@clisp.org>
26157
26158         gen-uni-tables: Prepare for Unicode 5.2.0.
26159         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
26160         (debug_output_lbp, output_lbp): Update.
26161
26162 2011-01-08  Bruno Haible  <bruno@clisp.org>
26163
26164         unilbrk: Clarify gen-uni-tables.c code.
26165         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
26166         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
26167         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
26168
26169 2011-01-07  Bruno Haible  <bruno@clisp.org>
26170
26171         strtod: Restore errno when successfully parsing Infinity or NaN.
26172         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
26173         restore the original errno.
26174
26175 2011-01-07  Bruno Haible  <bruno@clisp.org>
26176
26177         remove test: Avoid failure on HP-UX 11.
26178         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
26179
26180 2011-01-07  Bruno Haible  <bruno@clisp.org>
26181
26182         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
26183         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
26184         error code.
26185
26186 2011-01-07  Pádraig Brady <P@draigBrady.com>
26187
26188         ignore-value: fixup comments, and add Eric Blake
26189         as an author since he rewrote the macros.
26190         * lib/ignore-value.h (ignore_value):  State that
26191         we now support aggregates.  Also specify exactly
26192         when the GCC warn_unused_result feature was added.
26193
26194 2011-01-06  Eric Blake  <eblake@redhat.com>
26195
26196         ignore-value: support aggregate types
26197         * lib/ignore-value.h (ignore_value): Provide separate gcc
26198         definition.
26199         * modules/ignore-value-tests: New test module.
26200         * tests/test-ignore-value.c: New test.
26201
26202         maint.mk: improve sc_prohibit_strcmp regex
26203         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
26204         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
26205         definition of STRNEQ.
26206
26207         signal: work around Haiku issue with SIGBUS
26208         * lib/siglist.h: Add comment.
26209         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
26210         strsignal's favoring of SIGSEGV.
26211         * tests/test-signal.c (main): Avoid test failure.
26212         * doc/posix-headers/signal.texi (signal.h): Document the issue.
26213         Reported by Scott McCreary.
26214
26215         maint.mk: add pre-release check to ensure submodule commits are public
26216         * top/maint.mk (public-submodule-commit): New rule.
26217         (submodule-checks): New variable.
26218         (alpha beta stable): Depend on the variable.
26219
26220 2011-01-05  Pádraig Brady <P@draigBrady.com>
26221         and Jim Meyering  <meyering@redhat.com>
26222
26223         ignore-value: make ignore_value more generic; deprecate ignore_ptr
26224         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
26225         (ATTRIBUTE_DEPRECATED): Define.
26226         (_ignore_case): New function.
26227         (ignore_value): New macro, to replace the old function.
26228         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
26229         * modules/ignore-value (Depends-on): Add stdint.
26230
26231 2011-01-04  Eric Blake  <eblake@redhat.com>
26232
26233         doc: regenerate INSTALL
26234         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
26235         @firstparagraphindent support, now that autoconf dropped it.
26236         (INSTALL_PRELUDE): Reinstate old macro.
26237         * doc/install.texi: Resync from autoconf.
26238         * doc/INSTALL: Reflect recent autoconf update.
26239         * doc/INSTALL.ISO: Likewise.
26240         * doc/INSTALL.UTF-8: Likewise.
26241         Reported by Karl Berry.
26242
26243 2011-01-04  Bruce Korb  <address@hidden>
26244
26245         git-version-gen: avoid a sub-shell
26246         * build-aux/git-version-gen: Redirect stderr in `...` via
26247         "exec 2>...", rather than via an added sub-shell.
26248
26249 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
26250
26251         git-version-gen: use (...) rather than sh -c '...'
26252         * build-aux/git-version-gen: Rather than hard-coding a shell's name
26253         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
26254
26255 2011-01-03  Jim Meyering  <meyering@redhat.com>
26256
26257         git-version-gen: convert leading TABs to spaces
26258         * build-aux/git-version-gen: Expand leading TABs.
26259
26260         git-version-gen: handle failed "git rev-list"
26261         * build-aux/git-version-gen: Rather than leaking a "fatal" error
26262         from git and proceeding as if it had succeeded but printed no SHA1
26263         checksums, suppress the diagnostic and handle the failure.
26264         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
26265
26266         git-version-gen: include command name in one more diagnostic
26267         * build-aux/git-version-gen: When the required .tarball-version file
26268         was missing or unreadable, you might see the diagnostic from "cat",
26269         but no trace of the name of the invoking script.  Now, you still see
26270         the diagnostic from cat, but also get one from "git-version-gen: ".
26271         Inspired by a patch from Bruce Korb.
26272
26273         update-copyright: adjust test to match changed code
26274         * tests/test-update-copyright.sh: Change test's expected output
26275         to match new actual output.
26276
26277 2011-01-02  Bruno Haible  <bruno@clisp.org>
26278
26279         getlogin_r: Avoid test failure on HP-UX 11.
26280         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
26281         ERANGE when the second argument is zero.
26282         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
26283         portability problem.
26284
26285 2011-01-02  Bruce Korb  <bkorb@gnu.org>
26286
26287         * build-aux/update-copyright: doc Simon's changes
26288
26289 2011-01-02  Simon Josefsson  <simon@josefsson.org>
26290
26291         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
26292         environment variable.
26293
26294 2011-01-02  Bruno Haible  <bruno@clisp.org>
26295
26296         unigbrk: Avoid gcc warnings.
26297         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
26298         unused variable.
26299         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
26300         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
26301         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
26302         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
26303         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
26304         Change type of first argument to 'const char *'.
26305         (main): Remove unused variable.
26306         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
26307         type of first argument to 'const char *'.
26308         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
26309         Likewise.
26310         (main): Change type of variable 's'.
26311         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
26312         to 'int'.
26313
26314 2011-01-02  Bruno Haible  <bruno@clisp.org>
26315
26316         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
26317         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
26318         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
26319         bug.
26320         * lib/pwrite.c: Undo 2010-12-31 patch.
26321         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
26322
26323 2011-01-02  Bruno Haible  <bruno@clisp.org>
26324
26325         pread: Fix test whether it works.
26326         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
26327
26328 2011-01-02  Bruno Haible  <bruno@clisp.org>
26329
26330         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
26331         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
26332         ends in "6". Don't require a specific month name. Try also the locale
26333         names found on HP-UX 11 and Solaris 7.
26334
26335 2011-01-02  Bruno Haible  <bruno@clisp.org>
26336
26337         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
26338         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
26339         C linkage.
26340         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
26341
26342 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26343
26344         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
26345         for consistency, since the "cluster" term is not used elsewhere.
26346         * lib/unigbrk.in.h: Update name.
26347         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
26348         * lib/unigbrk/u16-grapheme-next.c: Update name.
26349         * lib/unigbrk/u16-grapheme-prev.c: Update name.
26350         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
26351         * lib/unigbrk/u32-grapheme-next.c: Update name.
26352         * lib/unigbrk/u32-grapheme-prev.c: Update name.
26353         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
26354         * lib/unigbrk/u8-grapheme-next.c: Update name.
26355         * lib/unigbrk/u8-grapheme-prev.c: Update name.
26356         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
26357         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
26358         Suggested by Bruno Haible.
26359
26360 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26361
26362         Remove module 'u8-grapheme-len' as too redundant with
26363         'u8-grapheme-next'.
26364         * modules/unigbrk/u8-grapheme-len: Delete file.
26365         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
26366         * lib/unigbrk.in.h: Remove prototype for deleted function.
26367         * lib/unigbrk/u8-grapheme-len.c: Delete file.
26368         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
26369
26370         Remove module 'u16-grapheme-len' as too redundant with
26371         'u16-grapheme-next'.
26372         * modules/unigbrk/u16-grapheme-len: Delete file.
26373         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
26374         * lib/unigbrk.in.h: Remove prototype for deleted function.
26375         * lib/unigbrk/u16-grapheme-len.c: Delete file.
26376         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
26377
26378         Remove module 'u32-grapheme-len' as too redundant with
26379         'u32-grapheme-next'.
26380         * modules/unigbrk/u32-grapheme-len: Delete file.
26381         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
26382         * lib/unigbrk.in.h: Remove prototype for deleted function.
26383         * lib/unigbrk/u32-grapheme-len.c: Delete file.
26384         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
26385
26386         Suggested by Bruno Haible.
26387
26388 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26389
26390         * unigbrk.in.h: Fix typo: "ben" => "been".
26391         Reported by Bruno Haible.
26392
26393 2011-01-01  Jim Meyering  <meyering@redhat.com>
26394
26395         maint: update almost all copyright ranges to include 2011
26396         Run the new "make update-copyright" rule.
26397
26398 2011-01-01  Jim Meyering  <meyering@redhat.com>
26399
26400         maint: update-copyright: exempt doc/INSTALL*
26401         * Makefile (update-copyright): Also exclude doc/INSTALL*,
26402         since they are generated.  Suggested by Bruno Haible.
26403
26404 2011-01-01  Jim Meyering  <meyering@redhat.com>
26405
26406         maint: refine the update-copyright rule
26407         * Makefile (update-copyright): Also exclude any file that includes
26408         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
26409         code that merely generates the comment.
26410
26411 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26412
26413         New module 'u8-grapheme-len'.
26414         * modules/unigbrk/u8-grapheme-len: New file.
26415         * modules/unigbrk/u8-grapheme-len-tests: New file.
26416         * lib/unigbrk.in.h: Add prototype for new function.
26417         * lib/unigbrk/u8-grapheme-len.c: New file.
26418         * tests/unigbrk/test-u8-grapheme-len.c: New file.
26419
26420         New module 'u16-grapheme-len'.
26421         * modules/unigbrk/u16-grapheme-len: New file.
26422         * modules/unigbrk/u16-grapheme-len-tests: New file.
26423         * lib/unigbrk.in.h: Add prototype for new function.
26424         * lib/unigbrk/u16-grapheme-len.c: New file.
26425         * tests/unigbrk/test-u16-grapheme-len.c: New file.
26426
26427         New module 'u32-grapheme-len'.
26428         * modules/unigbrk/u32-grapheme-len: New file.
26429         * modules/unigbrk/u32-grapheme-len-tests: New file.
26430         * lib/unigbrk.in.h: Add prototype for new function.
26431         * lib/unigbrk/u32-grapheme-len.c: New file.
26432         * tests/unigbrk/test-u32-grapheme-len.c: New file.
26433
26434         New module 'u8-grapheme-next'.
26435         * modules/unigbrk/u8-grapheme-next: New file.
26436         * modules/unigbrk/u8-grapheme-next-tests: New file.
26437         * lib/unigbrk.in.h: Add prototype for new function.
26438         * lib/unigbrk/u8-grapheme-next.c: New file.
26439         * tests/unigbrk/test-u8-grapheme-next.c: New file.
26440
26441         New module 'u16-grapheme-next'.
26442         * modules/unigbrk/u16-grapheme-next: New file.
26443         * modules/unigbrk/u16-grapheme-next-tests: New file.
26444         * lib/unigbrk.in.h: Add prototype for new function.
26445         * lib/unigbrk/u16-grapheme-next.c: New file.
26446         * tests/unigbrk/test-u16-grapheme-next.c: New file.
26447
26448         New module 'u32-grapheme-next'.
26449         * modules/unigbrk/u32-grapheme-next: New file.
26450         * modules/unigbrk/u32-grapheme-next-tests: New file.
26451         * lib/unigbrk.in.h: Add prototype for new function.
26452         * lib/unigbrk/u32-grapheme-next.c: New file.
26453         * tests/unigbrk/test-u32-grapheme-next.c: New file.
26454
26455         New module 'u8-grapheme-prev'.
26456         * modules/unigbrk/u8-grapheme-prev: New file.
26457         * modules/unigbrk/u8-grapheme-prev-tests: New file.
26458         * lib/unigbrk.in.h: Add prototype for new function.
26459         * lib/unigbrk/u8-grapheme-prev.c: New file.
26460         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
26461
26462         New module 'u16-grapheme-prev'.
26463         * modules/unigbrk/u16-grapheme-prev: New file.
26464         * modules/unigbrk/u16-grapheme-prev-tests: New file.
26465         * lib/unigbrk.in.h: Add prototype for new function.
26466         * lib/unigbrk/u16-grapheme-prev.c: New file.
26467         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
26468
26469         New module 'u32-grapheme-prev'.
26470         * modules/unigbrk/u32-grapheme-prev: New file.
26471         * modules/unigbrk/u32-grapheme-prev-tests: New file.
26472         * lib/unigbrk.in.h: Add prototype for new function.
26473         * lib/unigbrk/u32-grapheme-prev.c: New file.
26474         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
26475
26476         New module 'u8-grapheme-breaks'.
26477         * modules/unigbrk/u8-grapheme-breaks: New file.
26478         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
26479         * lib/unigbrk.in.h: Add prototype for new function.
26480         * lib/unigbrk/u8-grapheme-breaks.c: New file.
26481         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
26482
26483         New module 'u16-grapheme-breaks'.
26484         * modules/unigbrk/u16-grapheme-breaks: New file.
26485         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
26486         * lib/unigbrk.in.h: Add prototype for new function.
26487         * lib/unigbrk/u16-grapheme-breaks.c: New file.
26488         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
26489
26490         New module 'u32-grapheme-breaks'.
26491         * modules/unigbrk/u32-grapheme-breaks: New file.
26492         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
26493         * lib/unigbrk.in.h: Add prototype for new function.
26494         * lib/unigbrk/u32-grapheme-breaks.c: New file.
26495         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
26496
26497         New module 'ulc-grapheme-breaks'.
26498         * modules/unigbrk/ulc-grapheme-breaks: New file.
26499         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
26500         * m4/locale-ar.m4: New file.
26501         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
26502         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
26503         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
26504
26505 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26506
26507         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
26508         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
26509         modified how this file was generated before I initially submitted
26510         the module, but failed to regenerate it.  This meant that several
26511         of the level2 entries were wrong.
26512         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
26513         Remove the division-by-2 that is folded into the table now that
26514         gbrkprop.h has been regenerated properly.  Now -1 entries are
26515         handled correctly.
26516
26517         New module 'unigbrk/uc-gbrk-prop-tests'.
26518         * modules/unigbrk/uc-gbrk-prop-tests: New file.
26519         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
26520         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
26521         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
26522
26523 2011-01-01  Bruno Haible  <bruno@clisp.org>
26524
26525         Avoid use of hexadecimal escapes.
26526         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
26527         instead of hexadecimal escapes.
26528
26529 2011-01-01  Jim Meyering  <meyering@redhat.com>
26530
26531         maint: new rule to update copyright year ranges
26532         * Makefile (update-copyright): New rule.
26533
26534         maint: indent with TABs in Makefile
26535         * Makefile: Expand leading sequences of spaces to TABs
26536
26537         version-etc: update the copyright year it reports
26538         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
26539
26540 2010-12-31  Bruno Haible  <bruno@clisp.org>
26541
26542         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
26543         * lib/isfinite.c (zerof, zerod, zerol): New variables.
26544         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
26545         zero.
26546
26547 2010-12-31  Bruno Haible  <bruno@clisp.org>
26548
26549         pwrite: Work around HP-UX 11.11 bug.
26550         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
26551         works and set REPLACE_PWRITE if not.
26552         * lib/pwrite.c (pwrite): Add an implementation that uses the system
26553         function.
26554         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
26555
26556 2010-12-31  Bruno Haible  <bruno@clisp.org>
26557
26558         pread: Work around HP-UX 11 bugs.
26559         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
26560         and set REPLACE_PREAD if not.
26561         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
26562
26563 2010-12-31  Eric Blake  <eblake@redhat.com>
26564
26565         nl_langinfo: fix YESEXPR on Irix 6.5
26566         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
26567         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
26568         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
26569         it.
26570
26571 2010-12-31  Bruno Haible  <bruno@clisp.org>
26572
26573         iconv: Document HP-UX 11 bug.
26574         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
26575
26576 2010-12-31  Bruno Haible  <bruno@clisp.org>
26577
26578         ldexpl: Fix link error on HP-UX 11.
26579         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
26580         LDEXPL_LIBM, using $ISNANL_LIBM.
26581
26582 2010-12-31  Eric Blake  <eblake@redhat.com>
26583
26584         ftello: avoid compilation failure with SunStudio c89
26585         * lib/ftello.c (ftello): Use lseek, not llseek.
26586
26587         tests: avoid failing coreutils tests on cygwin
26588         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
26589         (create_exe_shims_): Return 0 when skipping.
26590
26591 2010-12-31  Bruno Haible  <bruno@clisp.org>
26592
26593         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
26594         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
26595
26596 2010-12-31  Bruno Haible  <bruno@clisp.org>
26597
26598         waitpid: Fix link error in C++ mode.
26599         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
26600
26601 2010-12-31  Bruno Haible  <bruno@clisp.org>
26602
26603         isnan: Use GCC built-ins when possible.
26604         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
26605         __builtin_isnan.
26606         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
26607         (isnan): Define using GCC built-ins for GCC >= 4.0.
26608
26609 2010-12-31  Bruno Haible  <bruno@clisp.org>
26610
26611         isnand: Fix mistake.
26612         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
26613         __builtin_isnand.
26614
26615 2010-12-31  Bruno Haible  <bruno@clisp.org>
26616
26617         open: Avoid C++ error on HP-UX 11.
26618         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
26619
26620 2010-12-31  Bruno Haible  <bruno@clisp.org>
26621
26622         time_r: Add missing declarations on HP-UX 11.
26623         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
26624         instead of HAVE_LOCALTIME_R.
26625         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
26626         HAVE_LOCALTIME_R always.
26627         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
26628         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
26629         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
26630         HAVE_LOCALTIME_R.
26631         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
26632         * doc/posix-functions/localtime_r.texi: Likewise.
26633
26634 2010-12-29  Eric Blake  <eblake@redhat.com>
26635
26636         mountlist: tweak previous commit
26637         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
26638         Reported by Paul Eggert.
26639
26640         mountlist: fix local drive detection on cygwin
26641         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
26642         that works for cygwin.
26643
26644 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26645
26646         ftoastr, snprintf: ftoastr + snprintf module
26647         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
26648         since the snprintf module now should be good enough here.
26649         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
26650         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
26651         and gl_MODULE_INDICATOR([snprintf]), but the former enables
26652         GNULIB_SNPRINTF only for the test directory, and the latter
26653         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
26654         seems to suffice by itself.
26655
26656 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
26657
26658         alloca: one step towards thread-safety
26659         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
26660         need for a static variable.  All callers changed.  This does not
26661         make the alloca replacement thread-safe, but it's one step.
26662
26663         tests: minor indenting change
26664         * tests/init.sh: Sync from coreutils housekeeping patch
26665         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
26666         to keep lines within 80 columns.
26667
26668 2010-12-28  Jim Meyering  <meyering@redhat.com>
26669
26670         regex: don't infloop on persistent failing calloc
26671         * lib/regexec.c (build_trtable): Return failure indication upon
26672         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
26673         In glibc, this was fixed for version 2.13:
26674         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
26675
26676 2010-12-28  Bruno Haible  <bruno@clisp.org>
26677             Paul Eggert <eggert@cs.ucla.edu>
26678
26679         linkat: Make implementation robust against system behaviour variations.
26680         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
26681         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
26682         way, and to -2 if it needs a generic runtime test.
26683         * lib/linkat.c (solaris_optimized_link_immediate,
26684         solaris_optimized_link_follow): New functions.
26685         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
26686         (check_same_link): Use it.
26687
26688 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
26689
26690         New module 'unigbrk/base'.
26691         * modules/unigbrk/base: New file.
26692         * lib/unigbrk.in.h: New file.
26693
26694         New module 'unigbrk/uc-gbrk-prop'.
26695         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
26696         * modules/unigbrk/uc-gbrk-prop: New file.
26697         * lib/unigbrk/gbrkprop.h: New file.
26698         * lib/unigbrk/uc-gbrk-prop.c: New file.
26699
26700         New module 'unigbrk/uc-is-grapheme-break'.
26701         * modules/unigbrk/uc-is-grapheme-break: New file.
26702         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
26703         * lib/unigbrk/uc-is-grapheme-break.c: New file.
26704         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
26705         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
26706         * tests/unigbrk/GraphemeBreakTest.txt: New file.
26707
26708         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
26709
26710 2010-12-27  Bruno Haible  <bruno@clisp.org>
26711
26712         linkat test: Avoid failure on Solaris 11 2010-11.
26713         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
26714
26715 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26716
26717         utimens: work around glibc rounding bug on more platforms
26718         * lib/utimens.c (fdutimens): Work around rounding bug even if
26719         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
26720         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
26721
26722 2010-12-27  Bruno Haible  <bruno@clisp.org>
26723
26724         select tests: Improve comments.
26725         * tests/test-select.c (do_select): Add comments.
26726
26727 2010-12-27  Bruno Haible  <bruno@clisp.org>
26728
26729         select tests: Safer way of handling timeout.
26730         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
26731         at every invocation.
26732
26733 2010-12-27  Bruno Haible  <bruno@clisp.org>
26734
26735         select tests: Use 'bool' where appropriate.
26736         * tests/test-select.c (connect_to_socket): Change argument type to
26737         'bool'.
26738
26739 2010-12-27  Bruno Haible  <bruno@clisp.org>
26740
26741         select tests: Use existing modules.
26742         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
26743         (configure.ac): Don't test for unistd.h.
26744         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
26745         declared in <unistd.h>.
26746
26747 2010-12-27  Bruno Haible  <bruno@clisp.org>
26748
26749         mbrtowc: Work around a Solaris 7 bug.
26750         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
26751         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
26752         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
26753         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
26754         MBRTOWC_NULL_ARG1_BUG.
26755         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
26756         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
26757         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
26758         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
26759
26760 2010-12-27  Jim Meyering  <meyering@redhat.com>
26761
26762         read-file.c: tweak syntax
26763         * lib/read-file.c (fread_file): Remove space after "*" in function
26764         definitions.
26765
26766 2010-12-27  Bruno Haible  <bruno@clisp.org>
26767
26768         times test: Avoid gcc warnings on OSF/1.
26769         * tests/test-times.c (main): Cast printf arguments from clock_t to
26770         'long int'.
26771
26772 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26773
26774         utimens: work around glibc rounding bug on older Linux kernels
26775         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
26776         on Linux with a glibc whose utimes might not work, then work
26777         around a longstanding glibc bug involving rounding rather than
26778         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
26779         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26780
26781 2010-12-26  Bruno Haible  <bruno@clisp.org>
26782
26783         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
26784         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
26785         _GL_CXXALIAS_SYS.
26786         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26787
26788 2010-12-26  Bruno Haible  <bruno@clisp.org>
26789
26790         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
26791         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
26792         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
26793         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
26794         looking for the declaration.
26795         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
26796         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
26797         problem.
26798         * doc/posix-functions/inet_pton.texi: Likewise.
26799
26800 2010-12-26  Bruno Haible  <bruno@clisp.org>
26801
26802         arpa_inet: Use the common idioms with C++ support.
26803         * lib/arpa_inet.in.h: Include c++defs.h.
26804         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
26805         support.
26806         * modules/arpa_inet (Depends-on): Add c++defs.
26807         (Makefile.am): Substitute the contents of c++defs.h.
26808         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
26809         * modules/arpa_inet-c++-tests: New file.
26810         * tests/test-arpa_inet-c++.cc: New file.
26811
26812 2010-12-25  Bruno Haible  <bruno@clisp.org>
26813
26814         Fix more C++ link errors on Solaris 8.
26815         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
26816         $(LIB_EACCESS).
26817         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
26818         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
26819         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
26820         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
26821         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
26822
26823 2010-12-25  Bruno Haible  <bruno@clisp.org>
26824
26825         printf-posix: Fix link error when a non-GCC compiler is used.
26826         * lib/stdio.in.h (printf): When not using GCC, override printf
26827         correctly.
26828         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26829
26830 2010-12-25  Bruno Haible  <bruno@clisp.org>
26831
26832         strerror_r-posix: Update doc.
26833         * doc/posix-functions/strerror_r.texi: Update doc about the return
26834         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
26835
26836 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26837
26838         utimens: simplify the logic of the previous change
26839         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
26840         This should not affect whether the test succeeds or fails.
26841
26842         utimens: configure better on hosts with NFS clock skew
26843         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
26844         uses the clock of the local host.  It might use the clock of the
26845         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
26846         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26847
26848 2010-12-25  Bruno Haible  <bruno@clisp.org>
26849
26850         ptsname test: Avoid failure on Solaris.
26851         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
26852         open a pseudo-terminal; don't use BSD-style ptys.
26853         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
26854
26855 2010-12-25  Bruno Haible  <bruno@clisp.org>
26856
26857         ptsname: Avoid ERANGE failure on some systems.
26858         * lib/ptsname.c (buffer): Increase size.
26859
26860 2010-12-25  Bruno Haible  <bruno@clisp.org>
26861
26862         rename, renameat: Avoid test failures at NFS mounted locations.
26863         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
26864         so that subsequent mkdir calls succeed.
26865
26866 2010-12-25  Bruno Haible  <bruno@clisp.org>
26867
26868         iswblank: Fix C++ link error on Solaris 8.
26869         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
26870         _GL_FUNCDECL_SYS.
26871
26872 2010-12-25  Bruno Haible  <bruno@clisp.org>
26873
26874         unistd: Fix C++ link error on Solaris 8.
26875         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
26876
26877 2010-12-25  Bruno Haible  <bruno@clisp.org>
26878
26879         readlink doc: Mention an old glibc bug.
26880         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
26881
26882 2010-12-25  Bruno Haible  <bruno@clisp.org>
26883
26884         fcntl-h: Fix for use of C++ on glibc systems.
26885         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
26886         also on glibc systems in C++ mode.
26887         Reported by Gary V. Vaughan <gary@gnu.org>.
26888
26889 2010-12-25  Bruno Haible  <bruno@clisp.org>
26890
26891         roundl-ieee: Make it work on OSF/1 5.1 with cc.
26892         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
26893
26894 2010-12-25  Bruno Haible  <bruno@clisp.org>
26895
26896         truncl-ieee: Make it work on OSF/1 5.1 with cc.
26897         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
26898         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
26899         test whether truncl works according to ISO C 99 with IEC 60559.
26900         * m4/truncl-ieee.m4: New file.
26901         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
26902         m4/signbit.m4.
26903         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
26904
26905 2010-12-25  Bruno Haible  <bruno@clisp.org>
26906
26907         ceill-ieee: Make it work on OSF/1 5.1 with cc.
26908         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
26909         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
26910         test whether ceill works according to ISO C 99 with IEC 60559.
26911         * m4/ceill-ieee.m4: New file.
26912         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
26913         m4/signbit.m4.
26914         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
26915
26916 2010-12-25  Bruno Haible  <bruno@clisp.org>
26917
26918         Ensure all prerequisites of <wchar.h> are included.
26919         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
26920         before <wchar.h>.
26921         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
26922         gl_MBRLEN_NUL_RETVAL): Likewise.
26923         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26924         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
26925         AC_FUNC_MBRTOWC): Likewise.
26926         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26927         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
26928         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26929         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
26930         Likewise.
26931         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26932         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
26933         (gl_WCHAR_H): Improve comments.
26934         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
26935
26936 2010-12-25  Bruno Haible  <bruno@clisp.org>
26937
26938         strtok_r: Fix C syntax error in autoconf macro.
26939         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
26940         characters in test program.
26941
26942 2010-12-24  Bruno Haible  <bruno@clisp.org>
26943
26944         ceil, trunc, round: Fix gcc warnings.
26945         * lib/ceil.c (MIN): Undefine before redefining.
26946         * lib/trunc.c (MIN): Likewise.
26947         * lib/round.c (MIN): Likewise.
26948         Include <math.h> first.
26949
26950 2010-12-24  Bruno Haible  <bruno@clisp.org>
26951
26952         select tests: Avoid failures on OSF/1 5.1.
26953         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
26954         failure of closing the last socket; it may fail with ECONNRESET.
26955
26956 2010-12-24  Eric Blake  <eblake@redhat.com>
26957
26958         stdint: avoid HP-UX 10.20 preprocessor bug
26959         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
26960         than #if.
26961         * tests/test-floor2.c (main): Likewise.
26962         Reported by Peter O'Gorman.
26963
26964         pipe: make obsoletion transition easier
26965         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
26966         * modules/pipe (Files): Include revived file.
26967         (Include): Drop reference, to mirror getdate's behavior.
26968
26969 2010-12-24  Bruno Haible  <bruno@clisp.org>
26970
26971         sys_socket: Hide mismatch of declarations on NonStop Kernel.
26972         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
26973         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
26974         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26975
26976 2010-12-24  Bruno Haible  <bruno@clisp.org>
26977
26978         gethostname: Ensure declaration on NonStop Kernel.
26979         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
26980         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26981
26982 2010-12-24  Bruno Haible  <bruno@clisp.org>
26983
26984         sys_select: Ensure all necessary types on NonStop Kernel.
26985         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
26986         include <sys/time.h>.
26987         * doc/posix-headers/sys_select.texi: Mention that it's missing on
26988         NonStop Kernel.
26989         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26990
26991 2010-12-24  Bruno Haible  <bruno@clisp.org>
26992
26993         sys_select: Remove unneeded include.
26994         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
26995         have <sys/select.h>.
26996
26997 2010-12-24  Bruno Haible  <bruno@clisp.org>
26998
26999         gethostname: Provide a fallback for HOST_NAME_MAX.
27000         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
27001         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
27002         instead.
27003         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27004
27005 2010-12-24  Bruno Haible  <bruno@clisp.org>
27006
27007         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
27008         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
27009         (SA_RESTART): Likewise.
27010         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27011
27012 2010-12-24  Bruno Haible  <bruno@clisp.org>
27013
27014         signal: Define NSIG.
27015         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
27016         * tests/test-signal.c (nsig): New variable.
27017         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27018
27019 2010-12-24  Bruno Haible  <bruno@clisp.org>
27020
27021         rename, renameat: Avoid test failures on OSF/1 5.1.
27022         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
27023         alternative error codes.
27024         * tests/test-renameat.c (main): Likewise.
27025
27026 2010-12-24  Bruno Haible  <bruno@clisp.org>
27027
27028         *printf: Detect large precisions bug on Solaris 10/SPARC.
27029         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
27030         by Paul Eggert.
27031         * tests/test-snprintf-posix.h (test_function): Add this test code here
27032         too.
27033         * tests/test-sprintf-posix.h (test_function): Likewise.
27034         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27035         * tests/test-vasprintf-posix.c (test_function): Likewise.
27036         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
27037         around by gnulib.
27038         * doc/posix-functions/printf.texi: Likewise.
27039         * doc/posix-functions/snprintf.texi: Likewise.
27040         * doc/posix-functions/sprintf.texi: Likewise.
27041         * doc/posix-functions/vfprintf.texi: Likewise.
27042         * doc/posix-functions/vprintf.texi: Likewise.
27043         * doc/posix-functions/vsnprintf.texi: Likewise.
27044         * doc/posix-functions/vsprintf.texi: Likewise.
27045         * doc/posix-functions/dprintf.texi: Undo last commit.
27046         * doc/posix-functions/vdprintf.texi: Likewise.
27047
27048 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
27049
27050         tests: port test-fdutimensat.c to Solaris 8
27051         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
27052         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
27053         On Solaris 8, it fails with errno == ENOSYS, because there is no
27054         futimens (so it can't use the fd), and there is no lutimens (so it
27055         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
27056
27057         vsnprintf: make more consistent with snprintf; doc fixes
27058
27059         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
27060         the byte count return problem was promoted from the snprintf-posix
27061         to the snprintf module.
27062         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
27063         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
27064         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
27065         * tests/test-snprintf.c (main): Check the byte count returned.
27066         * tests/test-vsnprintf.c (main): Likewise.
27067
27068 2010-12-23  Eric Blake  <eblake@redhat.com>
27069
27070         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
27071         * modules/sigpipe (License): Relax license.
27072
27073 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27074
27075         doc: document Solaris printf bug with large float precisions
27076         * doc/posix-functions/dprintf.texi (dprintf):
27077         * doc/posix-functions/fprintf.texi (fprintf):
27078         * doc/posix-functions/printf.texi (printf):
27079         * doc/posix-functions/snprintf.texi (snprintf):
27080         * doc/posix-functions/sprintf.texi (sprintf):
27081         * doc/posix-functions/vdprintf.texi (vdprintf):
27082         * doc/posix-functions/vfprintf.texi (vfprintf):
27083         * doc/posix-functions/vprintf.texi (vprintf):
27084         * doc/posix-functions/vsnprintf.texi (vsnprintf):
27085         * doc/posix-functions/vsprintf.texi (vsprintf):
27086         Mention that these functions mishandle large floating point
27087         precisions on Solaris 10.  The same bug is also present in Solaris
27088         8, and I assume earlier.  This causes "cd gnulib-tests; make
27089         check" to fail on Solaris 8 (and I assume, later) when building
27090         the latest coreutils, in test-vasprintf-posix's call to
27091         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
27092         the wide flavors (e.g., wprintf) so this patch just updates the
27093         documentation for the narrow ones.
27094
27095         test-posixtm.c: add two tests
27096         * tests/test-posixtm.c: Add two tests, to highlight the
27097         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
27098         around this bug; this is merely to document it.
27099
27100 2010-12-22  Bruno Haible  <bruno@clisp.org>
27101
27102         getlogin_r: Work around portability problem on OSF/1.
27103         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
27104         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
27105         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
27106         test for a truncated result.
27107         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
27108         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
27109         * modules/getlogin_r (Depends-on): Add memchr.
27110         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
27111
27112 2010-12-22  Bruno Haible  <bruno@clisp.org>
27113
27114         ptsname: Avoid test failure on OSF/1 5.1.
27115         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
27116         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
27117         (same_slave): New function.
27118         (main): Use it to compare ptsname's result with the expected file name.
27119
27120 2010-12-22  Bruno Haible  <bruno@clisp.org>
27121
27122         Port extended stdio modules to HP NonStop Kernel.
27123         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
27124         macros.
27125         * lib/fbufmode.c: Update comments.
27126         * lib/fflush.c: Likewise.
27127         * lib/fpurge.c: Likewise.
27128         * lib/freadable.c: Likewise.
27129         * lib/freadahead.c: Likewise.
27130         * lib/freading.c: Likewise.
27131         * lib/freadptr.c: Likewise.
27132         * lib/freadseek.c: Likewise.
27133         * lib/fseeko.c: Likewise.
27134         * lib/fseterr.c: Likewise.
27135         * lib/fwritable.c: Likewise.
27136         * lib/fwriting.c: Likewise.
27137         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27138
27139 2010-12-22  Bruno Haible  <bruno@clisp.org>
27140
27141         ttyname_r: Work around bug on OSF/1 5.1.
27142         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
27143         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
27144         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
27145         present.
27146         * lib/ttyname_r.c (ttyname_r): Update comments.
27147
27148 2010-12-22  Bruno Haible  <bruno@clisp.org>
27149
27150         round: Implement result sign according to IEEE 754.
27151         * lib/round.c (MIN, MINUS_ZERO): New macros.
27152         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
27153         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
27154         * tests/test-round-ieee.c (main): Likewise.
27155         * tests/test-roundl-ieee.c (main): Likewise.
27156
27157         trunc: Implement result sign according to IEEE 754.
27158         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
27159         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
27160         * tests/test-trunc2.c: Include minus-zero.h.
27161         (MINUS_ZERO): New macro.
27162         (trunc_reference): Keep in sync with lib/trunc.c.
27163         * tests/test-truncf2.c: Include minus-zero.h.
27164         (MINUS_ZERO): New macro.
27165         (truncf_reference): Keep in sync with lib/trunc.c.
27166         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
27167         * tests/test-trunc-ieee.c (main): Likewise.
27168         * tests/test-truncl-ieee.c (main): Likewise.
27169
27170         ceil: Implement result sign according to IEEE 754.
27171         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
27172         (FUNC): Return -0.0 for -1 < x < 0.
27173         * tests/test-ceil2.c: Include minus-zero.h.
27174         (MINUS_ZERO): New macro.
27175         (ceil_reference): Keep in sync with lib/ceil.c.
27176         * tests/test-ceilf2.c: Include minus-zero.h.
27177         (MINUS_ZERO): New macro.
27178         (ceilf_reference): Keep in sync with lib/ceil.c.
27179         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
27180         * tests/test-ceil-ieee.c (main): Likewise.
27181         * tests/test-ceill-ieee.c (main): Likewise.
27182
27183         floor: Implement result sign according to IEEE 754.
27184         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
27185         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
27186         * tests/test-floorf2.c (floorf_reference): Likewise.
27187         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
27188         * tests/test-floor-ieee.c (main): Likewise.
27189         * tests/test-floorl-ieee.c (main): Likewise.
27190
27191 2010-12-22  Bruno Haible  <bruno@clisp.org>
27192
27193         getaddrinfo: Update doc.
27194         * doc/posix-functions/gai_strerror.texi: Return type is also different
27195         on AIX and HP-UX.
27196
27197 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27198
27199         getaddrinfo, inet_ntop: Update doc for Solaris.
27200         * doc/posix-functions/gai_strerror.texi: Return type is also an
27201         issue on Solaris 9 and earlier.
27202         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
27203         on Solaris 10 and earlier.
27204
27205 2010-12-21  Bruno Haible  <bruno@clisp.org>
27206
27207         New module 'roundl-ieee'.
27208         * modules/roundl-ieee: New file.
27209         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
27210         test whether roundl works according to ISO C 99 with IEC 60559.
27211         * m4/roundl-ieee.m4: New file.
27212         * modules/roundl-ieee-tests: New file.
27213         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
27214         * tests/test-roundl.c (main): Remove signbit tests.
27215         * modules/roundl-tests (Depends-on): Remove signbit.
27216         * doc/posix-functions/roundl.texi: Mention the new module.
27217
27218 2010-12-21  Bruno Haible  <bruno@clisp.org>
27219
27220         New module 'truncl-ieee'.
27221         * modules/truncl-ieee: New file.
27222         * modules/truncl-ieee-tests: New file.
27223         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
27224         * tests/test-truncl.c (main): Remove signbit tests.
27225         * modules/truncl-tests (Depends-on): Remove signbit.
27226         * doc/posix-functions/truncl.texi: Mention the new module.
27227
27228 2010-12-21  Bruno Haible  <bruno@clisp.org>
27229
27230         New module 'ceill-ieee'.
27231         * modules/ceill-ieee: New file.
27232         * modules/ceill-ieee-tests: New file.
27233         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
27234         * tests/test-ceill.c (main): Remove signbit tests.
27235         * modules/ceill-tests (Depends-on): Remove signbit.
27236         * doc/posix-functions/ceill.texi: Mention the new module.
27237
27238 2010-12-21  Bruno Haible  <bruno@clisp.org>
27239
27240         New module 'floorl-ieee'.
27241         * modules/floorl-ieee: New file.
27242         * modules/floorl-ieee-tests: New file.
27243         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
27244         * tests/test-floorl.c (main): Remove signbit tests.
27245         * modules/floorl-tests (Depends-on): Remove signbit.
27246         * doc/posix-functions/floorl.texi: Mention the new module.
27247
27248 2010-12-21  Bruno Haible  <bruno@clisp.org>
27249
27250         New module 'round-ieee'.
27251         * modules/round-ieee: New file.
27252         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
27253         whether round works according to ISO C 99 with IEC 60559.
27254         * m4/round-ieee.m4: New file.
27255         * modules/round-ieee-tests: New file.
27256         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
27257         * tests/test-round1.c (main): Remove signbit tests.
27258         * modules/round-tests (Depends-on): Remove 'signbit'.
27259         * doc/posix-functions/round.texi: Mention the new module.
27260
27261 2010-12-21  Bruno Haible  <bruno@clisp.org>
27262
27263         New module 'trunc-ieee'.
27264         * modules/trunc-ieee: New file.
27265         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
27266         whether trunc works according to ISO C 99 with IEC 60559.
27267         * m4/trunc-ieee.m4: New file.
27268         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
27269         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
27270         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
27271         * modules/trunc-ieee-tests: New file.
27272         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
27273         * tests/test-trunc1.c (main): Remove signbit tests.
27274         * modules/trunc-tests (Depends-on): Remove 'signbit'.
27275         * doc/posix-functions/trunc.texi: Mention the new module.
27276
27277 2010-12-21  Bruno Haible  <bruno@clisp.org>
27278
27279         New module 'ceil-ieee'.
27280         * modules/ceil-ieee: New file.
27281         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
27282         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
27283         ISO C 99 with IEC 60559.
27284         * m4/ceil-ieee.m4: New file.
27285         * modules/ceil (Files): Add lib/ceil.c.
27286         (Depends-on): Add 'float'.
27287         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27288         * lib/math.in.h (ceil): New declaration.
27289         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
27290         REPLACE_CEIL.
27291         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
27292         * modules/ceil-ieee-tests: New file.
27293         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
27294         * tests/test-math-c++.cc: Check the signature of 'ceil'.
27295         * doc/posix-functions/ceil.texi: Mention the new module.
27296
27297 2010-12-21  Bruno Haible  <bruno@clisp.org>
27298
27299         New module 'floor-ieee'.
27300         * modules/floor-ieee: New file.
27301         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
27302         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
27303         ISO C 99 with IEC 60559.
27304         * m4/floor-ieee.m4: New file.
27305         * modules/floor (Files): Add lib/floor.c.
27306         (Depends-on): Add 'float'.
27307         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27308         * lib/math.in.h (floor): New declaration.
27309         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
27310         REPLACE_FLOOR.
27311         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
27312         * modules/floor-ieee-tests: New file.
27313         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
27314         * tests/test-math-c++.cc: Check the signature of 'floor'.
27315         * doc/posix-functions/floor.texi: Mention the new module.
27316
27317 2010-12-21  Bruno Haible  <bruno@clisp.org>
27318
27319         New module 'roundf-ieee'.
27320         * modules/roundf-ieee: New file.
27321         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
27322         test whether roundf works according to ISO C 99 with IEC 60559.
27323         * m4/roundf-ieee.m4: New file.
27324         * modules/roundf-ieee-tests: New file.
27325         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
27326         * tests/test-roundf1.c (main): Remove signbit tests.
27327         * modules/roundf-tests (Depends-on): Remove 'signbit'.
27328         * doc/posix-functions/roundf.texi: Mention the new module.
27329
27330 2010-12-21  Bruno Haible  <bruno@clisp.org>
27331
27332         New module 'truncf-ieee'.
27333         * modules/truncf-ieee: New file.
27334         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
27335         test whether truncf works according to ISO C 99 with IEC 60559.
27336         * m4/truncf-ieee.m4: New file.
27337         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
27338         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
27339         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
27340         * modules/truncf-ieee-tests: New file.
27341         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
27342         * tests/test-truncf1.c (main): Remove signbit tests.
27343         * modules/truncf-tests (Depends-on): Remove 'signbit'.
27344         * doc/posix-functions/truncf.texi: Mention the new module.
27345
27346 2010-12-21  Bruno Haible  <bruno@clisp.org>
27347
27348         New module 'ceilf-ieee'.
27349         * modules/ceilf-ieee: New file.
27350         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
27351         test whether ceilf works according to ISO C 99 with IEC 60559.
27352         * m4/ceilf-ieee.m4: New file.
27353         * modules/ceilf-ieee-tests: New file.
27354         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
27355         * tests/test-ceilf1.c (main): Remove signbit tests.
27356         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
27357         * doc/posix-functions/ceilf.texi: Mention the new module.
27358
27359 2010-12-21  Bruno Haible  <bruno@clisp.org>
27360
27361         New module 'floorf-ieee'.
27362         * modules/floorf-ieee: New file.
27363         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
27364         test whether floorf works according to ISO C 99 with IEC 60559.
27365         * m4/floorf-ieee.m4: New file.
27366         * modules/floorf-ieee-tests: New file.
27367         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
27368         * tests/test-floorf1.c (main): Remove signbit tests.
27369         * modules/floorf-tests (Depends-on): Remove 'signbit'.
27370         * doc/posix-functions/floorf.texi: Mention the new module.
27371
27372 2010-12-21  Bruno Haible  <bruno@clisp.org>
27373
27374         Support for minus zero in autoconf macros.
27375         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
27376         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
27377         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
27378         * tests/minus-zero.h: Update comments.
27379
27380 2010-12-21  Bruno Haible  <bruno@clisp.org>
27381
27382         Tests for module 'ceil'.
27383         * modules/ceil-tests: New file.
27384         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
27385         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
27386
27387 2010-12-21  Bruno Haible  <bruno@clisp.org>
27388
27389         Tests for module 'floor'.
27390         * modules/floor-tests: New file.
27391         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
27392         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
27393
27394 2010-12-21  Bruno Haible  <bruno@clisp.org>
27395
27396         math: Fix indentation.
27397         * lib/math.in.h (floorf): Fix indentation.
27398
27399 2010-12-21  Bruno Haible  <bruno@clisp.org>
27400
27401         Fix cross-compilation guesses on Solaris.
27402         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
27403         not match "solaris2.10".
27404         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27405         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
27406         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
27407
27408 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
27409
27410         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
27411         This fixes a problem observed with the latest coreutils snapshot
27412         that caused a test to fail on Solaris 8.  src/csplit.c's call
27413         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
27414         earlier, instead of returning the number of bytes that would have
27415         been generated; this causes csplit to incorrectly report memory
27416         exhaustion.
27417         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
27418         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
27419         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
27420         comments to match.
27421         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
27422         Fix typo in matching older versions of Solaris: "solaris2.10"
27423         is matched by the shell pattern "solaris2.[0-9]*".  This matters
27424         only for guessing while cross-compiling.
27425         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
27426
27427 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
27428
27429         ftoastr: fix comment again
27430         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27431         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
27432         Also, simplify example a bit by using flags = 0.
27433
27434 2010-12-20  Bruno Haible  <bruno@clisp.org>
27435
27436         round*, trunc*: Update documentation regarding glibc.
27437         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
27438         * doc/posix-functions/round.texi: Likewise.
27439         * doc/posix-functions/roundl.texi: Likewise.
27440         * doc/posix-functions/truncf.texi: Likewise.
27441         * doc/posix-functions/trunc.texi: Likewise.
27442         * doc/posix-functions/truncl.texi: Likewise.
27443
27444 2010-12-20  Bruno Haible  <bruno@clisp.org>
27445
27446         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
27447         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
27448         * doc/posix-functions/round.texi: Likewise.
27449         * doc/posix-functions/roundl.texi: Likewise.
27450
27451 2010-12-20  Bruno Haible  <bruno@clisp.org>
27452
27453         ttyname_r: Add missing declaration on HP-UX 11.
27454         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
27455         HAVE_TTYNAME_R.
27456         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
27457         declared. Set HAVE_TTYNAME_R always.
27458         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27459         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
27460         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
27461         HAVE_TTYNAME_R.
27462         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
27463
27464 2010-12-20  Bruno Haible  <bruno@clisp.org>
27465
27466         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
27467         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
27468         * doc/posix-functions/getlogin_r.texi: Likewise.
27469         * tests/test-getlogin.c: Include <errno.h>.
27470         (main): Avoid test failure on HP-UX 11.11.
27471         * tests/test-getlogin_r.c (main): Likewise.
27472
27473 2010-12-20  Bruno Haible  <bruno@clisp.org>
27474
27475         getlogin_r: Add missing declaration on HP-UX 11.
27476         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
27477         declared also when it exists as a function.
27478         * doc/posix-functions/getlogin_r.texi: Document this workaround.
27479
27480 2010-12-20  Bruno Haible  <bruno@clisp.org>
27481
27482         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
27483         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
27484         through wcrtomb.
27485
27486 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
27487
27488         ftoastr: fix comment
27489         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27490         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
27491
27492 2010-12-19  Bruno Haible  <bruno@clisp.org>
27493
27494         isnan: Ensure it is a macro.
27495         * lib/math.in.h (isnan): Define as a macro if not already a macro.
27496         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
27497         Solaris.
27498
27499 2010-12-19  Bruno Haible  <bruno@clisp.org>
27500
27501         ldexpl test: Fix link error on OSF/1 5.1.
27502         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
27503
27504 2010-12-19  Bruno Haible  <bruno@clisp.org>
27505
27506         wctype: Make it work in C++ mode on OSF/1 5.1.
27507         * lib/wctype.in.h (iswblank): Declare but not define here.
27508         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
27509         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
27510         * modules/wctype (Files): Add lib/iswblank.c.
27511
27512 2010-12-19  Bruno Haible  <bruno@clisp.org>
27513
27514         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
27515         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
27516         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
27517
27518 2010-12-19  Bruno Haible  <bruno@clisp.org>
27519
27520         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
27521         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
27522         _POSIX_PII_SOCKET.
27523         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
27524         * doc/posix-functions/recvfrom.texi: Likewise.
27525         * doc/posix-functions/send.texi: Likewise.
27526         * doc/posix-functions/sendto.texi: Likewise.
27527
27528 2010-12-19  Bruno Haible  <bruno@clisp.org>
27529
27530         tcgetsid: Add missing declaration on OSF/1 5.1.
27531         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
27532         HAVE_TCGETSID.
27533         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
27534         Don't set HAVE_TCGETSID.
27535         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
27536         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
27537         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
27538         HAVE_TCGETSID.
27539         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
27540
27541 2010-12-19  Bruno Haible  <bruno@clisp.org>
27542
27543         stdio: Fix problem with popen() declaration on OSF/1 5.1.
27544         * lib/stdio.in.h: During the include_next statement, let recursive
27545         includes of this file include only the system header file.
27546
27547 2010-12-19  Bruno Haible  <bruno@clisp.org>
27548
27549         iconv_open: Fix regression from 2010-12-04.
27550         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
27551         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
27552
27553 2010-12-19  Bruno Haible  <bruno@clisp.org>
27554
27555         stdbool test: Avoid a gcc warning.
27556         * tests/test-stdbool.c (main): Fail if e1 is false.
27557         Reported by Jim Meyering.
27558
27559 2010-12-19  Jim Meyering  <meyering@redhat.com>
27560
27561         setenv: restore to working order
27562         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
27563         mistakenly removed.
27564         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
27565         HAVE_SETENV.
27566         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
27567         HAVE_SETENV.
27568
27569 2010-12-19  Bruno Haible  <bruno@clisp.org>
27570
27571         Document some different function declarations on OSF/1 5.1.
27572         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
27573         * doc/posix-functions/inet_ntop.texi: Likewise.
27574         * doc/posix-functions/gethostname.texi: Likewise.
27575         * lib/unistd.in.h (gethostname): Update comment.
27576
27577 2010-12-19  Bruno Haible  <bruno@clisp.org>
27578
27579         doc: Mention vasprintf-posix module.
27580         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
27581         the 'vasprintf-posix' module.
27582         * doc/glibc-functions/vasprintf.texi: Likewise.
27583
27584 2010-12-19  Bruno Haible  <bruno@clisp.org>
27585
27586         unsetenv: Add missing declaration on OSF/1 5.1.
27587         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
27588         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
27589         Don't set HAVE_UNSETENV. In the test program, set _BSD.
27590         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
27591         not HAVE_UNSETENV.
27592         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
27593         HAVE_UNSETENV.
27594         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
27595
27596 2010-12-19  Bruno Haible  <bruno@clisp.org>
27597
27598         setenv: Add missing declaration on OSF/1 5.1.
27599         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
27600         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
27601         declared. Don't set HAVE_SETENV.
27602         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
27603         not HAVE_SETENV.
27604         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
27605         HAVE_SETENV.
27606         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
27607
27608 2010-12-19  Bruno Haible  <bruno@clisp.org>
27609
27610         nl_langinfo tests: Avoid gcc warning.
27611         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
27612
27613 2010-12-19  Bruno Haible  <bruno@clisp.org>
27614
27615         mknod: Avoid error in C++ mode on OSF/1 with GCC.
27616         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
27617         _GL_CXXALIAS_SYS.
27618
27619 2010-12-19  Bruno Haible  <bruno@clisp.org>
27620
27621         stdbool: Relax test.
27622         * tests/test-stdbool.c (e): Don't require that casts from a variable's
27623         address to 'bool' work in static initializer, for compilers other than
27624         GCC.
27625
27626 2010-12-19  Bruno Haible  <bruno@clisp.org>
27627
27628         ftello: Add missing declaration on OSF/1 5.1.
27629         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
27630         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
27631         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
27632         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
27633         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
27634
27635 2010-12-19  Bruno Haible  <bruno@clisp.org>
27636
27637         fseeko: Add missing declaration on OSF/1 5.1.
27638         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
27639         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
27640         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
27641         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
27642         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
27643
27644 2010-12-19  Bruno Haible  <bruno@clisp.org>
27645
27646         fchdir: Add missing declaration on OSF/1 5.1.
27647         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
27648         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
27649         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
27650         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
27651         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
27652
27653 2010-12-19  Bruno Haible  <bruno@clisp.org>
27654
27655         relocatable-prog-wrapper: Separate from relocatable-prog.
27656         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
27657         uninstall-relocwrapper rule here.
27658         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
27659         Reported by Ian Beckwith <ianb@erislabs.net>.
27660
27661 2010-12-19  Bruno Haible  <bruno@clisp.org>
27662
27663         unistr/u8-mbsnlen: Add missing dependency.
27664         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
27665         Reported by Ian Beckwith <ianb@erislabs.net>.
27666
27667 2010-12-19  Bruno Haible  <bruno@clisp.org>
27668
27669         iconv: Make it possible again to use this module without 'iconv-h'.
27670         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
27671         if it is not defined.
27672         Reported by Ian Beckwith <ianb@erislabs.net>.
27673
27674 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
27675
27676         acl: port to Solaris 8 when copying from tmpfs to ufs
27677         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
27678         error number.  Problem observed on Solaris 8 with latest
27679         coreutils, with "mv A B", where A is on a tmpfs file system and B
27680         is on a ufs file system.  This caused coreutils' mv/part-symlink
27681         test to fail.
27682
27683         tests: set fail=0 at start
27684         * tests/init.sh (setup_): Move fail=0 initialization here ...
27685         (mktempd_): ... from here, so that tests can rely on fail being
27686         set to 0 initially.  This fixes a problem in coreutils; see:
27687         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
27688
27689 2010-12-18  Bruno Haible  <bruno@clisp.org>
27690
27691         memmem-simple: Stylistic changes.
27692         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
27693         Fix preprocessor directive indentation.
27694
27695 2010-12-15  Pádraig Brady <P@draigBrady.com>
27696
27697         memmem, memmem-simple: reorganize and expand empty needle check
27698         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
27699         functional checks to memmem-simple so that one has a fully functional
27700         memmem by using just this module.
27701         Restrict the performance only check to the memmem module.
27702         Also expand the empty needle check to ensure the correct
27703         pointer is returned, not just a non NULL pointer.
27704         * doc/glibc-functions/memmem.texi: Rearrange the portability
27705         documentation to correlate with the rearranged checks.
27706         Clarify exactly how the memmem and memmem-simple modules
27707         relate to each other.
27708
27709 2010-12-15  Pádraig Brady <P@draigBrady.com>
27710             Bruno Haible  <bruno@clisp.org>
27711
27712         Improve cross-compilation guesses for uClibc.
27713         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
27714         that uClibc does not have the glibc bug.
27715         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
27716         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
27717
27718 2010-12-14  Eric Blake  <eblake@redhat.com>
27719
27720         configmake: provide fallbacks for oldest supported autotools
27721         * m4/configmake.m4: New file.
27722         * modules/configmake (Files): Ship it.
27723         (configure.ac): Use it to guarantee fallbacks.
27724
27725 2010-12-13  Pádraig Brady <P@draigBrady.com>
27726
27727         read-file: Improve handling of large files
27728         * lib/read-file.c (fread_file): Minimize realloc()s
27729         for regular files, and better manage sizes around SIZE_MAX.
27730
27731 2010-12-13  Eric Blake  <eblake@redhat.com>
27732
27733         cloexec, fcntl: relax license
27734         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
27735         consent from all contributors.
27736         * modules/fcntl (License): Likewise.
27737
27738 2010-12-10  Bruno Haible  <bruno@clisp.org>
27739
27740         Tests for module 'pipe-posix'.
27741         * modules/pipe-posix-tests: New file.
27742         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
27743
27744 2010-12-10  Bruno Haible  <bruno@clisp.org>
27745
27746         pipe-posix: Make it work in C++ mode.
27747         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
27748         (pipe): Use common idiom, not a macro definition.
27749         * lib/pipe.c: New file.
27750         * m4/pipe.m4: New file.
27751         * modules/pipe-posix (Description): Enhance.
27752         (Files): Add lib/pipe.c, m4/pipe.m4.
27753         (configure.ac): Invoke gl_FUNC_PIPE.
27754         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
27755         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
27756         * tests/test-unistd-c++.cc: Check the signature of pipe.
27757
27758 2010-12-10  Bruno Haible  <bruno@clisp.org>
27759
27760         Rename module 'pipe' to 'spawn-pipe'.
27761         * modules/spawn-pipe: New file, renamed from modules/pipe.
27762         (Files, configure.ac, Makefile.am): Update.
27763         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
27764         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
27765         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
27766         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
27767         "spawn-pipe.h" instead of "pipe.h".
27768         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
27769         to gl_SPAWN_PIPE.
27770         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
27771         (Files, Makefile.am): Update.
27772         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
27773         Update.
27774         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
27775         Include "spawn-pipe.h" instead of "pipe.h".
27776         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
27777         * lib/javacomp.c: Likewise.
27778         * lib/javaversion.c: Likewise.
27779         * lib/pipe-filter-gi.c: Likewise.
27780         * lib/pipe-filter-ii.c: Likewise.
27781         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
27782         * modules/javacomp (Depends-on): Likewise.
27783         * modules/javaversion (Depends-on): Likewise.
27784         * modules/pipe-filter-gi (Depends-on): Likewise.
27785         * modules/pipe-filter-ii (Depends-on): Likewise.
27786         * MODULES.html.sh (Executing programs): Update.
27787         * NEWS: Mention the change.
27788
27789 2010-12-10  Eric Blake  <eblake@redhat.com>
27790
27791         pipe-posix: new module
27792         * modules/pipe-posix: New file.
27793         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
27794         (gl_UNISTD_H): Check for declaration.
27795         * modules/unistd (Makefile.am): Substitute it.
27796         * lib/unistd.in.h (pipe): Provide it for mingw.
27797         * doc/posix-functions/pipe.texi (pipe): Update documentation.
27798         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
27799
27800 2010-12-07  Bruno Haible  <bruno@clisp.org>
27801
27802         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
27803         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
27804         u8_strcmp_gnu.
27805         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
27806
27807 2010-12-06  Bruno Haible  <bruno@clisp.org>
27808
27809         Update internal documentation.
27810         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
27811
27812 2010-12-04  Bruno Haible  <bruno@clisp.org>
27813
27814         Put more information about failed tests into the test return codes.
27815         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
27816         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
27817         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
27818         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
27819         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
27820         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27821         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27822         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27823         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
27824         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
27825         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
27826         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
27827         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
27828         * m4/stdint.m4 (gl_STDINT_H): Likewise.
27829         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
27830         returns a bit mask.
27831         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
27832         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
27833         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
27834         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
27835         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
27836         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
27837         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
27838         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
27839         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27840         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
27841         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
27842         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
27843         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27844         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
27845         * m4/link.m4 (gl_FUNC_LINK): Likewise.
27846         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
27847         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
27848         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
27849         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27850         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
27851         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27852         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
27853         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
27854         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
27855         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27856         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
27857         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
27858         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
27859         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
27860         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
27861         gl_PRINTF_PRECISION): Likewise.
27862         * m4/regex.m4 (gl_REGEX): Likewise.
27863         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
27864         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
27865         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
27866         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
27867         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27868         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27869         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
27870         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
27871         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27872         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
27873         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
27874         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
27875         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
27876         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
27877         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
27878         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
27879         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
27880         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27881         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27882         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
27883         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
27884         enumerated value.
27885         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
27886
27887 2010-12-04  Bruno Haible  <bruno@clisp.org>
27888
27889         Update for Solaris 11 2010-11.
27890         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
27891         Express, released in November 2010.
27892
27893 2010-12-04  Bruno Haible  <bruno@clisp.org>
27894
27895         nproc: Relax license.
27896         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
27897         and Paul Eggert.
27898         Requested by Ludovic Courtès <ludo@gnu.org>.
27899
27900 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
27901
27902         utimecmp: fine-grained src to nearby coarse-grained dest
27903
27904         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
27905         and the source is on a file system with higher-resolution time
27906         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
27907         not work, and the time stamps are close together, the algorithm to
27908         determine the exact resolution from the read-back mtime was buggy:
27909         it had a "!=" where it should have had an "==".  This bug has been
27910         in the code ever since it was introduced to gnulib.
27911         Problem reported by Dan Jacobson in
27912         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
27913
27914 2010-11-30  Bruno Haible  <bruno@clisp.org>
27915
27916         strerror_r-posix: Fix autoconf test.
27917         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
27918
27919 2010-11-28  Bruno Haible  <bruno@clisp.org>
27920             Paul Eggert  <eggert@cs.ucla.edu>
27921
27922         Tests for module 'getdomainname'.
27923         * modules/getdomainname-tests: New file.
27924         * tests/test-getdomainname.c: New file, based on
27925         tests/test-gethostname.c.
27926
27927 2010-11-28  Bruno Haible  <bruno@clisp.org>
27928             Paul Eggert  <eggert@cs.ucla.edu>
27929
27930         getdomainname: Use the system function when possible.
27931         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
27932         (getdomainname): Replace if needed. Provide the declaration if it is
27933         missing. Don't use _GL_CXXALIAS_SYS_CAST.
27934         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
27935         (getdomainname): When the system has getdomainname, call the system
27936         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
27937         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
27938         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
27939         found in libnsl. Look for the declaration also in <netdb.h>. Replace
27940         the function if its second argument is of type 'int' or if it is found
27941         in libnsl.
27942         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
27943         <sys/systeminfo.h> and sysinfo().
27944         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
27945         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27946         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
27947         HAVE_GETDOMAINNAME.
27948         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
27949         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
27950         * doc/glibc-functions/getdomainname.texi: Document the problems with
27951         the getdomainname declaration.
27952
27953 2010-11-28  Bruno Haible  <bruno@clisp.org>
27954
27955         sys_socket: Ensure ss_family field on AIX.
27956         * lib/sys_socket.in.h (ss_family): New macro definition.
27957         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
27958         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
27959         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
27960         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
27961         * modules/sys_socket (Makefile.am): Substitute
27962         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
27963         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
27964
27965 2010-11-27  Bruno Haible  <bruno@clisp.org>
27966
27967         readline: Improve configure output.
27968         * m4/readline.m4 (gl_FUNC_READLINE): Make the
27969         "checking for readline..." result understandable.
27970
27971 2010-11-27  Bruno Haible  <bruno@clisp.org>
27972
27973         *printf-posix: Detect a bug on Solaris 10/x86.
27974         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
27975         for floating-point output.
27976         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
27977         directive.
27978         * tests/test-snprintf-posix.h (test_function): Likewise.
27979         * tests/test-sprintf-posix.h (test_function): Likewise.
27980         * tests/test-vasprintf-posix.c (test_function): Likewise.
27981         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
27982         * doc/posix-functions/printf.texi: Likewise.
27983         * doc/posix-functions/snprintf.texi: Likewise.
27984         * doc/posix-functions/sprintf.texi: Likewise.
27985         * doc/posix-functions/vfprintf.texi: Likewise.
27986         * doc/posix-functions/vprintf.texi: Likewise.
27987         * doc/posix-functions/vsnprintf.texi: Likewise.
27988         * doc/posix-functions/vsprintf.texi: Likewise.
27989         * doc/glibc-functions/obstack_printf.texi: Likewise.
27990         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
27991
27992 2010-11-27  Bruno Haible  <bruno@clisp.org>
27993
27994         Fix link error when module libunistring-optional is in use.
27995         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
27996         * modules/striconveha-tests (Makefile.am): Likewise.
27997
27998 2010-11-27  Bruno Haible  <bruno@clisp.org>
27999
28000         regex: Mention link dependencies.
28001         * modules/regex (Link): New section.
28002         * modules/rpmatch (Link): Likewise.
28003         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
28004
28005 2010-11-27  Bruno Haible  <bruno@clisp.org>
28006
28007         ftoastr: Fix compilation error on Solaris.
28008         * lib/ftoastr.c: Include <config.h>.
28009
28010 2010-11-27  Bruno Haible  <bruno@clisp.org>
28011
28012         getloadavg: Update documentation.
28013         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
28014
28015 2010-11-27  Bruno Haible  <bruno@clisp.org>
28016
28017         sys_socket: Fix test whether the functions are declared.
28018         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
28019         not <sys/select.h>.
28020
28021 2010-11-27  Bruno Haible  <bruno@clisp.org>
28022
28023         getpass: Make sure to get system declaration on some platforms.
28024         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
28025         gl_USE_SYSTEM_EXTENSIONS.
28026         * modules/getpass (Depends-on): Add extensions.
28027
28028 2010-11-26  Bruno Haible  <bruno@clisp.org>
28029
28030         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
28031         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
28032         'iconv' module is present.
28033         (ICONV_CONST): New macro.
28034         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
28035         ICONV_CONST.
28036         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
28037         set ICONV_CONST.
28038         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
28039         here.
28040         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
28041         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
28042         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
28043         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
28044         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
28045         present.
28046
28047 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
28048
28049         ftoastr: comment fix
28050         * lib/ftoastr.c: "little" -> "little or no" in comment
28051
28052 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
28053
28054         stdint: port to GCC 4.3 + OSX + Octave
28055         On this platform, stdint.h is buggy and defines int64_t to long
28056         long int.  The replacement defined it to long int, causing
28057         problems with C++ style name mangling.  Instead, trust the system
28058         definition if INT64_MAX is defined, and likewise for the unsigned
28059         variant.   Problem reported by Jarno Rajahalme in
28060         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
28061         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
28062         and don't mess with int64_t and INT64_MAX in this case.
28063         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
28064
28065 2010-11-24  Bruno Haible  <bruno@clisp.org>
28066
28067         doc: Corrections regarding MacOS X 10.4 and 10.5.
28068         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
28069         MacOS X.
28070         Reported by Simon Josefsson.
28071
28072 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
28073
28074         Uninstall ".bin" files installed by relocwrapper.
28075         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
28076         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
28077         unless it is already there.
28078
28079 2010-11-21  Bruno Haible  <bruno@clisp.org>
28080
28081         Update for NetBSD 5.0.
28082         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28083         NetBSD; the test fails on NetBSD 5.0.
28084         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28085         about NetBSD.
28086
28087 2010-11-21  Bruno Haible  <bruno@clisp.org>
28088
28089         Update for HP-UX 11.23 and HP-UX 11.31.
28090         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
28091         HP-UX.
28092
28093 2010-11-21  Bruno Haible  <bruno@clisp.org>
28094
28095         Update for MacOS X 10.5.
28096         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28097         MacOS X; the test fails on MacOS X 10.5.8.
28098         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28099         about MacOS X.
28100
28101 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
28102
28103         bootstrap: add bootstrap_sync option.
28104         See discussion at
28105         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
28106         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
28107         * build-aux/bootstrap: Accept --bootstrap-sync to update
28108         bootstrap if it is not identical to the local gnulib's
28109         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
28110         enable this by default.  Accept --no-bootstrap-sync to disable
28111         it.
28112
28113 2010-11-20  Bruno Haible  <bruno@clisp.org>
28114
28115         Ensure that <features.h> is included before __GLIBC__ is tested.
28116         * lib/printf-parse.h: Include <features.h>.
28117         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
28118         Reported by Mike Frysinger <vapier@gentoo.org>.
28119
28120         Ensure that <features.h> is included before __GLIBC__ is tested.
28121         * lib/wchar.in.h: Include <features.h>.
28122         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
28123         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
28124         Reported by Mike Frysinger <vapier@gentoo.org>.
28125
28126         Ensure that <features.h> is included before __GLIBC__ is tested.
28127         * lib/arpa_inet.in.h: Include <features.h>.
28128         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
28129         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
28130         Reported by Mike Frysinger <vapier@gentoo.org>.
28131
28132         Ensure that <features.h> is included before __GLIBC__ is tested.
28133         * build-aux/link-warning.h: Include <features.h>.
28134         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
28135         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
28136         Reported by Mike Frysinger <vapier@gentoo.org>.
28137
28138         Ensure that <features.h> is included before __GLIBC__ is tested.
28139         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
28140         Reported by Mike Frysinger <vapier@gentoo.org>.
28141
28142 2010-11-20  Bruno Haible  <bruno@clisp.org>
28143
28144         memmem: Fix autoconf test.
28145         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
28146
28147 2010-11-20  Bruno Haible  <bruno@clisp.org>
28148
28149         Port to uClibc.
28150         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
28151         * lib/fcntl.in.h: Likewise.
28152         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
28153         * lib/mbrtowc.c (mbrtowc): Likewise.
28154         * lib/relocatable.c (find_shared_library_fullname): Likewise.
28155         * lib/strerror_r.c: Likewise.
28156         * lib/unistr/u8-strnlen.c: Likewise.
28157         * lib/vasnprintf.c (decimal_point_char): Likewise.
28158         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
28159         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28160         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
28161         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
28162         * tests/test-sigaction.c (handler, main): Likewise.
28163         * lib/freading.h: Treat uClibc like a non-glibc platform.
28164         * lib/freading.c: Likewise.
28165         * lib/gettext.h: Likewise.
28166         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
28167         Likewise.
28168         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
28169         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
28170         * lib/propername.c (proper_name_utf8): Likewise.
28171         * lib/spawn.in.h: Likewise.
28172         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
28173         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
28174         mem_cd_iconveh_internal): Likewise.
28175         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
28176         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28177         strstr, strcasestr): Likewise.
28178         * lib/unicodeio.c (unicode_to_mb): Likewise.
28179         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
28180         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
28181         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
28182         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
28183         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
28184         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
28185         * lib/unistr/u8-stpncpy.c: Likewise.
28186         * lib/vasnprintf.c (VASNPRINTF): Likewise.
28187         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
28188         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28189         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28190         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
28191         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
28192         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
28193         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
28194         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
28195         Likewise.
28196         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28197         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28198         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
28199         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28200         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28201         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28202         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
28203         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
28204         * tests/test-getopt.h (OPTIND_MIN): Likewise.
28205         * tests/test-striconveha.c (main): Likewise.
28206         * tests/test-vasnprintf-posix.c (test_function): Likewise.
28207         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
28208         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
28209         * doc/posix-functions/getline.texi: Likewise.
28210         Reported by Mike Frysinger <vapier@gentoo.org>.
28211
28212 2010-11-20  Bruno Haible  <bruno@clisp.org>
28213
28214         nproc: Fix condition.
28215         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
28216         HAVE_PTHREAD_AFFINITY_NP.
28217
28218 2010-11-20  Bruno Haible  <bruno@clisp.org>
28219
28220         Fix a comment.
28221         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
28222
28223 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
28224
28225         ftoastr: don't assume snprintf
28226         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
28227         Implement a subset of snprintf here, by using sprintf safely.
28228         * modules/ftoastr (Depends-on): Remove snprintf.
28229
28230 2010-11-19  Jim Meyering  <meyering@redhat.com>
28231
28232         test-rename.h: fix compilation failure
28233         * tests/test-rename.h (test_rename): Add omitted "}".
28234
28235 2010-11-17  Jim Meyering  <meyering@redhat.com>
28236
28237         maint.mk: add a URL discussing the no-@acronym policy
28238         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
28239
28240 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
28241
28242         ftoastr: depend on snprintf, improve comments
28243         * lib/ftoastr.c: Also mention Loitsch's draft.
28244         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
28245         needed in the current implementation, but it might simplify
28246         speeding up the code later.
28247         * modules/ftoastr: Depend on snprintf; this improves portability.
28248         Suggested by Bruno Haible in the same email.
28249
28250         ftoastr: port to hosts lacking strtof and strtold
28251         Problem reported by Bruno Haible in
28252         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
28253         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
28254         environment and strtold (and presumably strtof) are not available.
28255         * modules/ftoastr (Files): Add m4/c-strtod.m4.
28256         (configure.ac): Require gl_C99_STRTOLD.
28257
28258 2010-11-18  Bruno Haible  <bruno@clisp.org>
28259
28260         c-strtold: Avoid link error on AIX 7.
28261         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
28262         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
28263         (gl_C_STRTOLD): Test whether strtold_l exists.
28264         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28265
28266 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28267
28268         intprops: new macro INT_BITS_STRLEN_BOUND
28269         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
28270         ftoastr.h.  This exposes an internal of intprops.h that was formerly
28271         not exposed.  Also, it uses a slightly tighter bound than before;
28272         though this makes no practical difference, we might as well be as
28273         tight as we easily can.
28274
28275         ftoastr: new module, for lossless conversion of floats to short strings
28276         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
28277         * modules/ftoastr: New files.
28278
28279 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
28280
28281         bootstrap: port to Solaris sed
28282         * build-aux/bootstrap (get_version): Port to Solaris sed.
28283         See Ralf Wildenhues's note in
28284         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
28285
28286 2010-11-14  Jim Meyering  <meyering@redhat.com>
28287
28288         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
28289         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
28290         and move definition closer to sole use.
28291
28292 2010-11-13  Jim Meyering  <meyering@redhat.com>
28293
28294         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
28295         Now we require at least autoconf-2.59, which means the work-around
28296         is no longer needed.
28297         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
28298         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28299         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
28300         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
28301         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
28302
28303 2010-11-13  Bruno Haible  <bruno@clisp.org>
28304
28305         rename, renameat: Avoid test failures at NFS mounted locations.
28306         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
28307         functions.
28308         (test_rename): Use assert_nonexistent.
28309         * tests/test-rename.c: Include <dirent.h>.
28310         * tests/test-renameat.c: Likewise.
28311         Reported by Gary V. Vaughan <gary@gnu.org>.
28312
28313         rename, renameat: Document Linux bug with NFS
28314         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
28315         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
28316         * doc/posix-functions/renameat.texi: Likewise.
28317         Suggested by Eric Blake.
28318
28319 2010-11-13  Bruno Haible  <bruno@clisp.org>
28320
28321         rename test: Add comments.
28322         * tests/test-rename.h (test_rename): Add structure and comments.
28323
28324 2010-11-13  Eric Blake  <eblake@redhat.com>
28325
28326         maintainer-makefile: cover a few more files
28327         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
28328         scripts generated within C files, for libvirt.
28329
28330 2010-11-13  Bruno Haible  <bruno@clisp.org>
28331
28332         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
28333         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
28334         character, return the number of bytes that belong together, not always
28335         1.
28336         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
28337         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
28338         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
28339         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
28340         number of bytes of an invalid character.
28341         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
28342         (main): Invoke it.
28343         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
28344         results.
28345         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
28346         malformed byte sequences.
28347         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
28348         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
28349         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
28350         Reported by Ben Pfaff and Paolo Bonzini.
28351
28352 2010-11-13  Bruno Haible  <bruno@clisp.org>
28353
28354         openat: Work around glibc bug with fchownat() and empty file names.
28355         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
28356         (gl_FUNC_FCHOWNAT): Invoke it.
28357         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
28358         * doc/posix-functions/fchownat.texi: Document the glibc bug.
28359         Reported by Gary V. Vaughan <gary@gnu.org>.
28360
28361 2010-11-13  Bruno Haible  <bruno@clisp.org>
28362
28363         openat: Ensure autoconf macro ordering.
28364         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
28365         gl_USE_SYSTEM_EXTENSIONS.
28366         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
28367
28368 2010-11-13  Bruno Haible  <bruno@clisp.org>
28369
28370         Update comments.
28371         * lib/unistr/u8-check.c: Update file name in comments.
28372         * lib/unistr/u8-mblen.c: Likewise.
28373         * lib/unistr/u8-prev.c: Likewise.
28374         * lib/unistr/u8-strmblen.c: Likewise.
28375         * lib/unistr/u8-strmbtouc.c: Likewise.
28376
28377 2010-11-13  Jim Meyering  <meyering@redhat.com>
28378
28379         tests: avoid test failure on Solaris 10 due to lack of PATH export
28380         * tests/test-update-copyright.sh: Don't forget to export PATH.
28381
28382         init.sh: ensure that IFS is defined, just in case...
28383         * tests/init.sh (setup_): Ensure that IFS is defined,
28384         so that saving and restoring it works as expected.  This
28385         appears to be useful at least for an old version of dash
28386         from a long time ago (RH 6).  See here for details:
28387         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
28388
28389         maint.mk: tighten "test a == b" check
28390         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
28391         test to files that contain something like #!/bin/sh.
28392         Without this, coreutils would get two false positives in
28393         the comments of C source files.
28394
28395 2010-11-12  Eric Blake  <eblake@redhat.com>
28396
28397         bootstrap: fix typo in previous attempt
28398         * build-aux/bootstrap (buildreq): Correct the grouping.
28399         Reported by Paul Eggert.
28400
28401         maintainer-makefile: prohibit test x == x
28402         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
28403         Based on a report by Matthias Bolte.
28404
28405         bootstrap: allow FreeBSD gzip
28406         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
28407         which has no '.' and goes to stderr.
28408         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
28409         Reported by Matthias Bolte.
28410
28411         maintainer-makefile: check for i18n setup
28412         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
28413         will likely work.
28414
28415 2010-11-12  Bruno Haible  <bruno@clisp.org>
28416
28417         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
28418         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
28419         * lib/nanosleep.c (nanosleep): Likewise.
28420
28421 2010-11-11  Bruno Haible  <bruno@clisp.org>
28422
28423         fcntl-h: Fix for use of C++ on glibc systems.
28424         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
28425         also on glibc systems in C++ mode.
28426         Reported by Gary V. Vaughan <gary@gnu.org>.
28427
28428 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28429
28430         mknod: avoid false failure with dash
28431         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
28432
28433 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
28434
28435         unlink: Fix "is it should" typo in diagnostic.
28436         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
28437         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
28438
28439 2010-11-11  Bruno Haible  <bruno@clisp.org>
28440
28441         Tests for module 'strerror_r-posix'.
28442         * modules/strerror_r-posix-tests: New file.
28443         * tests/test-strerror_r.c: New file.
28444         * tests/test-string-c++.cc: Check the signature of strerror_r.
28445
28446         New module 'strerror_r-posix'.
28447         * lib/string.in.h (strerror_r): New declaration.
28448         * lib/strerror_r.c: New file.
28449         * m4/strerror_r.m4: New file.
28450         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
28451         of strerror_r.
28452         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
28453         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28454         * modules/strerror_r-posix: New file.
28455         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
28456         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28457         * doc/posix-functions/strerror_r.texi: Mention the new module and the
28458         portability problems.
28459
28460 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
28461
28462         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
28463         line is also considered for output. Quoted function name in shell
28464         command, so temporary files for functions like MyClass::operator()
28465         are removed correctly without errors.
28466
28467 2010-11-09  Bruno Haible  <bruno@clisp.org>
28468
28469         * doc/posix-functions/strerror.texi: List more failing platforms.
28470
28471         * doc/posix-functions/strerror.texi: Add a comment.
28472
28473 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
28474
28475         fdopendir: fix bug on MacOS X when low on file descriptors
28476
28477         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
28478         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
28479         All callers changed.
28480         (fdopendir): Invoke save_cwd at the top level, not after using
28481         multiple dup() calls to use up file descriptors.  Then retry
28482         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
28483         less than the maximum number of open file descriptors, because
28484         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
28485         on Mac OS X 10.6.4 for tar 1.24
28486         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
28487         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
28488         and for tar 1.25
28489         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
28490
28491 2010-11-07  Bruno Haible  <bruno@clisp.org>
28492
28493         vasnprintf: Support I flag on glibc systems.
28494         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
28495         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
28496         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
28497         snprintf function.
28498         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
28499         glibc systems.
28500         * tests/test-vasnprintf-posix3.c: New file.
28501         * modules/vasnprintf-posix-tests (Files): Add it.
28502         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
28503
28504 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28505
28506         [html] Fix copy/paste bug: Use unique name for compiler warnings.
28507         * MODULES.html.sh: For compiler warnings, use name
28508         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
28509
28510 2010-11-05  Eric Blake  <eblake@redhat.com>
28511
28512         ceil, floor: avoid spurious failure with icc
28513         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
28514         [denormals-as-zero] when optimizing without -mieee-fp option.
28515         * tests/test-floorf2.c (floorf_reference): Likewise.
28516         * tests/test-ceilf1.c (dummy): New function.
28517         (main): Use it to outsmart icc's optimization.
28518         * tests/test-floorf1.c (dummy, main): Likewise.
28519
28520         tests: require working signbit
28521         * modules/ceilf-tests (Depends-on): Add signbit.
28522         * modules/ceill-tests (Depends-on): Likewise.
28523         * modules/floorf-tests (Depends-on): Likewise.
28524         * modules/floorl-tests (Depends-on): Likewise.
28525         * modules/round-tests (Depends-on): Likewise.
28526         * modules/roundf-tests (Depends-on): Likewise.
28527         * modules/roundl-tests (Depends-on): Likewise.
28528         * modules/trunc-tests (Depends-on): Likewise.
28529         * modules/truncf-tests (Depends-on): Likewise.
28530         * modules/truncl-tests (Depends-on): Likewise.
28531
28532         strtod: work around icc bug
28533         * lib/strtod.c (minus_zero): Define to working value.
28534         (strtod): Use it to avoid icc bug.
28535
28536         copysign: enhance tests
28537         * modules/copysign-tests (Files): Add minus-zero.h.
28538         * tests/test-copysign.c (main): Also test zeros.
28539
28540 2010-11-04  Eric Blake  <eblake@redhat.com>
28541
28542         ceil, floor, round, trunc: enhance tests of -0
28543         * tests/test-ceilf1.c (main): Ensure correct sign of result.
28544         * tests/test-ceill.c (main): Likewise.
28545         * tests/test-floorf1.c (main): Likewise.
28546         * tests/test-floorl.c (main): Likewise.
28547         * tests/test-round1.c (main): Likewise.
28548         * tests/test-roundf1.c (main): Likewise.
28549         * tests/test-roundl.c (main): Likewise.
28550         * tests/test-trunc1.c (main): Likewise.
28551         * tests/test-truncf1.c (main): Likewise.
28552         * tests/test-truncl.c (main): Likewise.
28553
28554 2010-11-04  Eric Blake  <eblake@redhat.com>
28555
28556         frexp, tests: work around ICC bug with -zero
28557         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
28558         works with more compilers.
28559         * tests/minus-zero.h: New file.
28560         * modules/ceilf-tests (Files): Include it.
28561         * modules/ceill-tests (Files): Likewise.
28562         * modules/floorf-tests (Files): Likewise.
28563         * modules/floorl-tests (Files): Likewise.
28564         * modules/frexp-nolibm-tests (Files): Likewise.
28565         * modules/frexp-tests (Files): Likewise.
28566         * modules/frexpl-nolibm-tests (Files): Likewise.
28567         * modules/frexpl-tests (Files): Likewise.
28568         * modules/isnan-tests (Files): Likewise.
28569         * modules/isnand-nolibm-tests (Files): Likewise.
28570         * modules/isnand-tests (Files): Likewise.
28571         * modules/isnanf-nolibm-tests (Files): Likewise.
28572         * modules/isnanf-tests (Files): Likewise.
28573         * modules/isnanl-nolibm-tests (Files): Likewise.
28574         * modules/isnanl-tests (Files): Likewise.
28575         * modules/round-tests (Files): Likewise.
28576         * modules/roundf-tests (Files): Likewise.
28577         * modules/roundl-tests (Files): Likewise.
28578         * modules/ldexpl-tests (Files): Likewise.
28579         * modules/signbit-tests (Files): Likewise.
28580         * modules/snprintf-posix-tests (Files): Likewise.
28581         * modules/sprintf-posix-tests (Files): Likewise.
28582         * modules/strtod-tests (Files): Likewise.
28583         * modules/trunc-tests (Files): Likewise.
28584         * modules/truncf-tests (Files): Likewise.
28585         * modules/truncl-tests (Files): Likewise.
28586         * modules/vsnprintf-posix-tests (Files): Likewise.
28587         * modules/vsprintf-posix-tests (Files): Likewise.
28588         * modules/vasnprintf-posix-tests (Files): Likewise.
28589         * modules/vasprintf-posix-tests (Files): Likewise.
28590         * tests/test-ceilf1.c (main): Use it.
28591         * tests/test-ceill.c (main): Likewise.
28592         * tests/test-floorf1.c (main): Likewise.
28593         * tests/test-floorl.c (main): Likewise.
28594         * tests/test-frexp.c (main): Likewise.
28595         * tests/test-frexpl.c (main): Likewise.
28596         * tests/test-isnan.c (main): Likewise.
28597         * tests/test-isnand.h (main): Likewise.
28598         * tests/test-isnanf.h (main): Likewise.
28599         * tests/test-isnanl.h (main): Likewise.
28600         * tests/test-ldexpl.c (main): Likewise.
28601         * tests/test-round.c (main): Likewise.
28602         * tests/test-roundf.c (main): Likewise.
28603         * tests/test-roundl.c (main): Likewise.
28604         * tests/test-signbit.c (test_signbitf, test_signbitd)
28605         (test_signbitl): Likewise.
28606         * tests/test-snprintf-posix.h (test_function): Likewise.
28607         * tests/test-sprintf-posix.h (test_function): Likewise.
28608         * tests/test-strtod.c (main): Likewise.
28609         * tests/test-trunc1.c (main): Likewise.
28610         * tests/test-truncf1.c (main): Likewise.
28611         * tests/test-truncl.c (main): Likewise.
28612
28613         isnanl: work around icc bug
28614         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
28615
28616 2010-11-03  Eric Blake  <eblake@redhat.com>
28617
28618         tests: fix compiler warnings
28619         * tests/test-getopt.h (test_getopt): Fix condition.
28620         * tests/test-getopt_long.h (test_getopt_long): Likewise.
28621         * tests/test-pipe2.c (main): Likewise.
28622         * tests/test-quotearg-simple.c (main): Avoid icc warning.
28623
28624         utimens: fix broken m4 test
28625         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
28626
28627 2010-10-28  Bruno Haible  <bruno@clisp.org>
28628
28629         posix_spawn*, getdtablesize: Relax license.
28630         * modules/posix_spawn (License): Change to LGPLv2+.
28631         * modules/posix_spawnp (License): Likewise.
28632         * modules/posix_spawn-internal (License): Likewise.
28633         * modules/posix_spawnattr_init (License): Likewise.
28634         * modules/posix_spawnattr_getflags (License): Likewise.
28635         * modules/posix_spawnattr_setflags (License): Likewise.
28636         * modules/posix_spawnattr_getpgroup (License): Likewise.
28637         * modules/posix_spawnattr_setpgroup (License): Likewise.
28638         * modules/posix_spawnattr_getschedparam (License): Likewise.
28639         * modules/posix_spawnattr_setschedparam (License): Likewise.
28640         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
28641         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
28642         * modules/posix_spawnattr_getsigdefault (License): Likewise.
28643         * modules/posix_spawnattr_setsigdefault (License): Likewise.
28644         * modules/posix_spawnattr_getsigmask (License): Likewise.
28645         * modules/posix_spawnattr_setsigmask (License): Likewise.
28646         * modules/posix_spawnattr_destroy (License): Likewise.
28647         * modules/posix_spawn_file_actions_init (License): Likewise.
28648         * modules/posix_spawn_file_actions_addclose (License): Likewise.
28649         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
28650         * modules/posix_spawn_file_actions_addopen (License): Likewise.
28651         * modules/posix_spawn_file_actions_destroy (License): Likewise.
28652         * modules/getdtablesize (License): Likewise.
28653         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
28654
28655 2010-10-26  Bruno Haible  <bruno@clisp.org>
28656
28657         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
28658         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
28659         Cygwin and mingw.
28660         Suggested by Eric Blake.
28661
28662 2010-10-26  Bruno Haible  <bruno@clisp.org>
28663
28664         stdio: Work around compilation error due to renameat() on Solaris 10.
28665         * lib/stdio.in.h: Include <unistd.h> on Solaris.
28666         * lib/renameat.c: Don't include <unistd.h> here.
28667         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
28668         Reported by Paul Eggert and Eric Blake.
28669
28670 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
28671
28672         renameat: port to Solaris 10, which declares renameat in unistd.h
28673
28674         * lib/renameat.c: Include unistd.h before stdio.h, because
28675         Solaris 10 declares renameat in unistd.h.  Problem encountered
28676         when building GNU tar 1.24 on Solaris 10.
28677
28678 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28679
28680         fdopendir: fix C89 compilation
28681         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
28682         compilers.
28683
28684 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
28685
28686         inttostr: simplify by removing unnecessary redundancy
28687         * lib/anytostr.c: Don't include verify.h.
28688         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
28689         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
28690         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
28691         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
28692         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
28693         Likewise.
28694         * modules/inttostr (Depends-on): Remove 'verify'.
28695
28696 2010-10-23  Bruno Haible  <bruno@clisp.org>
28697
28698         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
28699         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
28700         Reported by Eric Blake.
28701
28702 2010-10-23  Bruno Haible  <bruno@clisp.org>
28703
28704         Tests: Fix LOCALE_JA on MirBSD 10.
28705         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
28706         to an UTF-8 locale.
28707         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
28708         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28709         Reported by Eric Blake.
28710
28711 2010-10-21  Bruno Haible  <bruno@clisp.org>
28712
28713         nl_langinfo test: Avoid test failure on NetBSD 5.
28714         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
28715         Reported by Eric Blake.
28716
28717 2010-10-21  Eric Blake  <eblake@redhat.com>
28718
28719         c-stack: work around libsigsegv 2.8 bug
28720         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
28721         overflow on at least PowerPC64.
28722
28723 2010-10-17  Bruno Haible  <bruno@clisp.org>
28724
28725         userspec: Drop redundant file.
28726         * modules/userspec (Files): Remove lib/inttostr.h.
28727
28728 2010-10-17  Bruno Haible  <bruno@clisp.org>
28729
28730         nl_langinfo tests: Silence some warnings.
28731         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
28732         Reported by Jim Meyering.
28733
28734 2010-10-17  Bruno Haible  <bruno@clisp.org>
28735
28736         Make use of GCC's attribute __alloc_size__.
28737         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
28738         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
28739         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
28740         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
28741         __alloc_size__.
28742         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
28743         Suggested by Jim Meyering.
28744
28745 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
28746
28747         bootstrap: anchor .gitignore entries.
28748         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
28749         with...
28750         (insert_vc_ignore): ... this new function, which prepends `/' to
28751         all .gitignore entries before passing them to
28752         insert_sorted_if_absent.
28753
28754 2010-10-16  Bruno Haible  <bruno@clisp.org>
28755
28756         nextafter: Fix configure check.
28757         * modules/nextafter (configure.ac): Correct expected prototype.
28758
28759 2010-10-16  Bruno Haible  <bruno@clisp.org>
28760
28761         termios: Update documentation.
28762         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
28763
28764 2010-10-16  Bruno Haible  <bruno@clisp.org>
28765
28766         tests: Make them compile with TinyCC.
28767         * tests/test-strstr.c (main): Remove parentheses around array
28768         initializer.
28769
28770 2010-10-15  Eric Blake  <eblake@redhat.com>
28771
28772         ignore-value: make header idempotent
28773         * lib/ignore-value.h: Add double-inclusion guards.
28774         Reported by Stefan Berger.
28775
28776 2010-10-15  Jim Meyering  <meyering@redhat.com>
28777
28778         GNUmakefile: handle "stable" target, not "major"
28779         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
28780         lists in maint.mk and announce-gen.  Without this, "make stable"
28781         would fail to ensure that $(VERSION) is up to date.
28782
28783 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
28784
28785         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
28786         & co.
28787
28788 2010-10-14  Bruno Haible  <bruno@clisp.org>
28789
28790         vasnprintf: Don't set errno to 0.
28791         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
28792         block that sets it to 0.
28793         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
28794
28795 2010-10-14  Bruno Haible  <bruno@clisp.org>
28796
28797         socketlib: Fix.
28798         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
28799         gl_PREREQ_SYS_H_WINSOCK2.
28800         Reported by Ian Beckwith <ianb@erislabs.net>.
28801
28802 2010-10-13  Jim Meyering  <meyering@redhat.com>
28803
28804         test-select-stdin.c: avoid warn_unused_result warnings
28805         * tests/test-select-stdin.c: Include "macros.h".
28806         ASSERT that read and fflush succeed.
28807
28808 2010-10-13  Jim Meyering  <meyering@redhat.com>
28809
28810         git-version-gen: do require git-VC'd files in cwd
28811         * build-aux/git-version-gen: Reject a git version string
28812         if there are no commits associated with the current directory.
28813         This avoids an unlikely false-positive (unrelated dir whose parent
28814         repository also contains a tag matching v*), as pointed out
28815         by Giuseppe Scrivano in
28816         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
28817
28818 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
28819
28820         argv-iter: omit nonconforming declaration
28821         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
28822         enum arg_iter_err declaration, which doesn't conform to C99.
28823         Solaris 10 cc warns about this.
28824
28825 2010-10-13  Eric Blake  <eblake@redhat.com>
28826
28827         termios: fix compilation on mingw
28828         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
28829         (gl_TERMIOS_H): Adjust it on mingw.
28830         * modules/termios (Makefile.am): Substitute new key.
28831         * lib/termios.in.h (includes): Make include_next conditional.
28832         * doc/posix-headers/termios.texi (termios.h): Update
28833         documentation.
28834         Reported by Daniel P. Berrange.
28835
28836 2010-10-13  Jim Meyering  <meyering@redhat.com>
28837
28838         git-version-gen: don't require that .git/ be in the current dir
28839         * build-aux/git-version-gen: Adjust this script so that it works
28840         when run from any working directory beneath the top-level .git/-
28841         containing directory.  Inspired by a patch from Giuseppe Scrivano,
28842         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
28843
28844         test-select: avoid warn_unused_result warnings
28845         * tests/test-select.c: Include "macros.h".
28846         ASSERT that each call to read, write, and pipe succeeds.
28847         While not technically required, also check each "close".
28848         * modules/select-tests (Files): Add tests/macros.h.
28849
28850         test-symlinkat: remove declaration of unused local
28851         * tests/test-symlinkat.c (main): Remove unused local, "buf".
28852
28853         test-inttostr: avoid shadowing warnings
28854         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
28855         and use malloc rather than the stack for the same reason as
28856         mentioned in the comment justifying the other allocation.
28857
28858 2010-10-11  Bruno Haible  <bruno@clisp.org>
28859
28860         stdlib: Allow multiple gnulib generated replacements to coexist.
28861         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
28862         Reported by Sam Steingold <sds@gnu.org>.
28863
28864 2010-10-11  Jim Meyering  <meyering@redhat.com>
28865
28866         fix a documentation typo
28867         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
28868
28869 2010-10-11  Eric Blake  <eblake@redhat.com>
28870
28871         futimens: work around Solaris 11 bug
28872         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
28873         * tests/test-futimens.h (test_futimens): Enhance, rather than
28874         weaken test.
28875         * doc/posix-functions/futimens.texi (futimens): Document the bug.
28876
28877 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
28878
28879         Indentation.
28880         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
28881         higher-level operators more to the left.
28882
28883 2010-10-11  Jim Meyering  <meyering@redhat.com>
28884
28885         test-futimens: avoid unwarranted test failure on Solaris 5.11
28886         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
28887         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
28888         because it tries to dereference the NULL name argument.
28889
28890 2010-10-11  Bruno Haible  <bruno@clisp.org>
28891
28892         Indentation.
28893         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
28894         indentation.
28895
28896 2010-10-11  Jim Meyering  <meyering@redhat.com>
28897
28898         spawn.in.h: make indentation consistent with parentheses
28899         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
28900         Make indentation consistent with parentheses.
28901
28902 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
28903
28904         Fix mismatched parens in previous commit
28905         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
28906         parens.
28907
28908 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
28909
28910         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
28911
28912         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
28913         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
28914         * lib/malloca.c: Include "verify.h".
28915         (verify1): Remove, replacing with a verify call.
28916         * lib/relocwrapper.c (verify1): Likewise.
28917         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
28918         Likewise.
28919         * modules/malloca (Depends-on): Add 'verify'.
28920         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
28921         * modules/vasnprintf (Depends-on): Add 'verify'.
28922         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28923         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28924         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28925         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28926         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28927         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28928         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28929
28930         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
28931
28932         Formerly the style was sometimes 2*X - 1, because the C standard
28933         was wrongly thought to disallow ?: in integral constant expressions.
28934         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
28935         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
28936         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
28937         * lib/stdint.in.h (_verify_intmax_size): Likewise.
28938         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
28939         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
28940         verify that time_t cannot be floating.
28941
28942 2010-10-08  Eric Blake  <eblake@redhat.com>
28943
28944         time: enforce recent POSIX ruling that time_t is integral
28945         * lib/time.in.h (__time_t_must_be_integral): Detect any
28946         problematic systems, allowing the rest of gnulib to assume POSIX.
28947
28948 2010-10-08  Jim Meyering  <meyering@redhat.com>
28949
28950         fdopendir: fix a bug on systems lacking openat and /proc support
28951         OpenBSD 4.7 is one such system.  The most noticeable effect was
28952         failure of any application making nontrivial use of fts: rm, du,
28953         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
28954           ./rm: traversal failed: `a': Bad file descriptor
28955         Debugging that, you see that even though FD 6 was closed just
28956         prior to the opendir call in fd_clone_opendir, its resulting
28957         dir->dd_fd was 8, rather than the expected value of 6:
28958
28959         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
28960         93                close (fd);
28961         (gdb) n
28962         94                dir = fd_clone_opendir (dupfd);
28963         (gdb) n
28964         95                saved_errno = errno;
28965         (gdb) p dir->dd_fd
28966         $11 = 8
28967
28968         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
28969         The problem is that on OpenBSD, fd_clone_opendir has to resort
28970         to using the old-style save/restore CWD mechanism, due to its
28971         lack of openat/proc support, and *that* would steal the FD (6)
28972         that opendir was supposed to use.
28973
28974         The fix is to squirrel away the desired FD so that save_cwd uses a
28975         different one, and then free the dest FD right before calling opendir.
28976         That guarantees opendir will use the required file descriptor.
28977
28978         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
28979
28980 2010-10-08  Bruno Haible  <bruno@clisp.org>
28981
28982         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
28983         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
28984
28985 2010-10-08  Bruno Haible  <bruno@clisp.org>
28986
28987         nanosleep: Make replacement POSIX compliant.
28988         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
28989         is out of range.
28990         Reported by Jim Meyering.
28991
28992 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
28993
28994         bootstrap: add hook for altering gnulib.mk, for Bison
28995         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
28996         the Bison bootstrapping process can rewrite file names and variables
28997         in this file before later parts of 'bootstrap' use the file.
28998         Bison wants to include lib/gnulib.mk from the top-level makefile,
28999         so it needs the file names in this file to be relative to the top
29000         level, not relative to lib; plus it needs variable names to be
29001         rewritten.
29002         (slurp): Use the new function.
29003
29004         bootstrap: reformat for readability
29005         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
29006
29007 2010-10-08  Eric Blake  <eblake@redhat.com>
29008
29009         docs: update cygwin progress
29010         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
29011         1.7.7.
29012         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
29013         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
29014         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
29015         * doc/posix-functions/carg.texi (carg): Likewise.
29016         * doc/posix-functions/cargf.texi (cargf): Likewise.
29017         * doc/posix-functions/casin.texi (casin): Likewise.
29018         * doc/posix-functions/casinf.texi (casinf): Likewise.
29019         * doc/posix-functions/casinh.texi (casinh): Likewise.
29020         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
29021         * doc/posix-functions/catan.texi (catan): Likewise.
29022         * doc/posix-functions/catanf.texi (catanf): Likewise.
29023         * doc/posix-functions/catanh.texi (catanh): Likewise.
29024         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
29025         * doc/posix-functions/ccos.texi (ccos): Likewise.
29026         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
29027         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
29028         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
29029         * doc/posix-functions/cexp.texi (cexp): Likewise.
29030         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
29031         * doc/posix-functions/cimag.texi (cimag): Likewise.
29032         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
29033         * doc/posix-functions/clog.texi (clog): Likewise.
29034         * doc/posix-functions/clogf.texi (clogf): Likewise.
29035         * doc/posix-functions/conj.texi (conj): Likewise.
29036         * doc/posix-functions/conjf.texi (conjf): Likewise.
29037         * doc/posix-functions/cpow.texi (cpow): Likewise.
29038         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
29039         * doc/posix-functions/cproj.texi (cproj): Likewise.
29040         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
29041         * doc/posix-functions/creal.texi (creal): Likewise.
29042         * doc/posix-functions/crealf.texi (crealf): Likewise.
29043         * doc/posix-functions/csin.texi (csin): Likewise.
29044         * doc/posix-functions/csinf.texi (csinf): Likewise.
29045         * doc/posix-functions/csinh.texi (csinh): Likewise.
29046         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
29047         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
29048         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
29049         * doc/posix-functions/ctan.texi (ctan): Likewise.
29050         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
29051         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
29052         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
29053         * doc/posix-headers/complex.texi (complex.h): Likewise.
29054
29055 2010-10-07  Jim Meyering  <meyering@redhat.com>
29056
29057         parse-datetime: avoid compilation failure on OpenBSD 4.7
29058         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
29059         This works around a compilation failure on OpenBSD 4.7:
29060         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
29061
29062 2010-10-07  Eric Blake  <eblake@redhat.com>
29063
29064         docs: update cygwin progress
29065         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
29066         1.7.6.
29067         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
29068         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
29069         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
29070         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
29071         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
29072         Likewise.
29073         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
29074         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
29075         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
29076         Likewise.
29077         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
29078         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
29079         Likewise.
29080         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
29081         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
29082         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
29083         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
29084         Likewise.
29085         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
29086         Likewise.
29087         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
29088
29089         docs: update parse-datetime history
29090         * doc/parse-datetime.texi (Authors of parse_datetime): Better
29091         documentation of this function's history and alternatives.
29092
29093         cygwin: use more robust version check
29094         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
29095         exclude an eventual cygwin 1.9.1.
29096         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29097         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29098         (gl_FUNC_STRCASESTR): Likewise.
29099         Reported by Bruno Haible.
29100
29101 2010-10-06  Bruno Haible  <bruno@clisp.org>
29102
29103         string, sys_select: Avoid #including large headers unless necessary.
29104         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
29105         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
29106         OSF/1, BeOS, Haiku.
29107         Reported by Jim Meyering.
29108
29109 2010-10-05  Eric Blake  <eblake@redhat.com>
29110
29111         memmem, strstr, strcasestr: fix bug with long periodic needle
29112         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
29113         periodic needle having false positive.
29114         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
29115         and cygwin 1.7.7.
29116         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
29117         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29118         (gl_FUNC_STRCASESTR): Likewise.
29119         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29120         * tests/test-memmem.c (main): Expose the bug.
29121         * tests/test-strcasestr.c (main): Likewise.
29122         * tests/test-strstr.c (main): Likewise.
29123         * tests/test-c-strcasestr.c (main): Likewise.
29124         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
29125         * doc/posix-functions/strstr.texi (strstr): Likewise.
29126         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
29127         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
29128
29129 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29130
29131         parse-datetime: do some more renaming
29132         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
29133         parse_datetime, not get_date.  Mention the renaming.
29134         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
29135         in comments.
29136         * m4/bison.m4: Likewise.
29137
29138 2010-10-05  Eric Blake  <eblake@redhat.com>
29139
29140         parse-datetime: better name than get_date
29141         * NEWS: Reword the deprecation notice.
29142         * modules/get_date: Rename to modules/parse-datetime.
29143         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
29144         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
29145         * lib/get_date.y: Rename to lib/parse-datetime.y.
29146         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
29147         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
29148         * doc/getdate.texi: Provide fallback wrapper.
29149         * lib/getdate.h: Move guts, and wrap...
29150         * lib/parse-datetime.h: ...new file.
29151         * lib/parse-datetime.y (get_date): Rename...
29152         (parse_datetime): ...to this.
29153         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
29154         (gl_PARSE_DATETIME): ...to this.
29155         * doc/posix-functions/getdate.texi (get_date): Provide fallback
29156         documentation.
29157         * modules/getdate (Files): Provide fallback docs and header.
29158         (Notice, Depends-on): Update references.
29159         * tests/test-parse-datetime.c: Likewise.
29160         * DEPENDENCIES: Likewise.
29161         * MODULES.html.sh (Date and time <time.h>): Likewise.
29162         * doc/parse-datetime.texi (Date input formats)
29163         (Authors of parse_datetime): Likewise.
29164         * modules/parse-datetime (Files, configure.ac, Makefile.am)
29165         (Include): Likewise.
29166         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
29167         * gnulib-tool: Likewise.
29168         * m4/bison.m4 (gl_BISON): Likewise.
29169         Suggested by Bruno Haible.
29170
29171 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29172
29173         more ports to Solaris tr, which needs [] around ranges
29174         * gnulib-tool: Solaris tr needs [] around ranges.
29175         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
29176         * tests/test-pipe-filter-gi1.c (main): Likewise.
29177         * tests/test-pipe-filter-ii1.c (main): Likewise.
29178
29179 2010-10-05  Eric Blake  <eblake@redhat.com>
29180
29181         bootstrap: fix Solaris regression
29182         * build-aux/bootstrap (check_versions): Solaris tr still needs []
29183         around ranges.
29184         Reported by Pádraig Brady.
29185
29186         bootstrap: work with pkg-config
29187         * build-aux/bootstrap (check_versions): Also transliterate - in
29188         prerequisite name.
29189         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
29190         prerequisites that were already found, to avoid confusion.
29191         Reported by Justin Clift.
29192
29193         faccessat: remove unused wrappers
29194         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
29195         presence of these wrappers dragged in -lgen on Solaris.
29196         Reported by Clemens Brogi; fix suggested by Paul Eggert.
29197
29198 2010-10-05  Jim Meyering  <meyering@redhat.com>
29199
29200         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
29201         * Makefile (sc_pragma_columns): New syntax-check rule.
29202
29203 2010-10-04  Bruno Haible  <bruno@clisp.org>
29204
29205         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
29206         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
29207         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
29208         Reported by Bruce Korb and Eric Blake.
29209
29210 2010-10-04  Bruno Haible  <bruno@clisp.org>
29211
29212         threadlib: Make option --with-libpth-prefix work.
29213         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
29214         use $LIBPTH, not just -lpth.
29215
29216 2010-10-04  Bruno Haible  <bruno@clisp.org>
29217
29218         Avoid line length limitation from HP NonStop system header files.
29219         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
29220         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
29221         * lib/ctype.in.h: Likewise.
29222         * lib/dirent.in.h: Likewise.
29223         * lib/errno.in.h: Likewise.
29224         * lib/fcntl.in.h: Likewise.
29225         * lib/float.in.h: Likewise.
29226         * lib/getopt.in.h: Likewise.
29227         * lib/iconv.in.h: Likewise.
29228         * lib/inttypes.in.h: Likewise.
29229         * lib/langinfo.in.h: Likewise.
29230         * lib/locale.in.h: Likewise.
29231         * lib/math.in.h: Likewise.
29232         * lib/netdb.in.h: Likewise.
29233         * lib/netinet_in.in.h: Likewise.
29234         * lib/poll.in.h: Likewise.
29235         * lib/pthread.in.h: Likewise.
29236         * lib/pty.in.h: Likewise.
29237         * lib/sched.in.h: Likewise.
29238         * lib/se-selinux.in.h: Likewise.
29239         * lib/search.in.h: Likewise.
29240         * lib/signal.in.h: Likewise.
29241         * lib/spawn.in.h: Likewise.
29242         * lib/stdarg.in.h: Likewise.
29243         * lib/stddef.in.h: Likewise.
29244         * lib/stdint.in.h: Likewise.
29245         * lib/stdio.in.h: Likewise.
29246         * lib/stdlib.in.h: Likewise.
29247         * lib/string.in.h: Likewise.
29248         * lib/strings.in.h: Likewise.
29249         * lib/sys_file.in.h: Likewise.
29250         * lib/sys_ioctl.in.h: Likewise.
29251         * lib/sys_select.in.h: Likewise.
29252         * lib/sys_socket.in.h: Likewise.
29253         * lib/sys_stat.in.h: Likewise.
29254         * lib/sys_time.in.h: Likewise.
29255         * lib/sys_times.in.h: Likewise.
29256         * lib/sys_utsname.in.h: Likewise.
29257         * lib/sys_wait.in.h: Likewise.
29258         * lib/sysexits.in.h: Likewise.
29259         * lib/termios.in.h: Likewise.
29260         * lib/time.in.h: Likewise.
29261         * lib/unistd.in.h: Likewise.
29262         * lib/wchar.in.h: Likewise.
29263         * lib/wctype.in.h: Likewise.
29264         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
29265         * modules/ctype (Makefile.am): Likewise.
29266         * modules/dirent (Makefile.am): Likewise.
29267         * modules/errno (Makefile.am): Likewise.
29268         * modules/fcntl-h (Makefile.am): Likewise.
29269         * modules/float (Makefile.am): Likewise.
29270         * modules/getopt-posix (Makefile.am): Likewise.
29271         * modules/iconv-h (Makefile.am): Likewise.
29272         * modules/inttypes (Makefile.am): Likewise.
29273         * modules/langinfo (Makefile.am): Likewise.
29274         * modules/locale (Makefile.am): Likewise.
29275         * modules/math (Makefile.am): Likewise.
29276         * modules/netdb (Makefile.am): Likewise.
29277         * modules/netinet_in (Makefile.am): Likewise.
29278         * modules/poll-h (Makefile.am): Likewise.
29279         * modules/pthread (Makefile.am): Likewise.
29280         * modules/pty (Makefile.am): Likewise.
29281         * modules/sched (Makefile.am): Likewise.
29282         * modules/search (Makefile.am): Likewise.
29283         * modules/selinux-h (Makefile.am): Likewise.
29284         * modules/signal (Makefile.am): Likewise.
29285         * modules/spawn (Makefile.am): Likewise.
29286         * modules/stdarg (Makefile.am): Likewise.
29287         * modules/stddef (Makefile.am): Likewise.
29288         * modules/stdint (Makefile.am): Likewise.
29289         * modules/stdio (Makefile.am): Likewise.
29290         * modules/stdlib (Makefile.am): Likewise.
29291         * modules/string (Makefile.am): Likewise.
29292         * modules/strings (Makefile.am): Likewise.
29293         * modules/sys_file (Makefile.am): Likewise.
29294         * modules/sys_ioctl (Makefile.am): Likewise.
29295         * modules/sys_select (Makefile.am): Likewise.
29296         * modules/sys_socket (Makefile.am): Likewise.
29297         * modules/sys_stat (Makefile.am): Likewise.
29298         * modules/sys_time (Makefile.am): Likewise.
29299         * modules/sys_times (Makefile.am): Likewise.
29300         * modules/sys_utsname (Makefile.am): Likewise.
29301         * modules/sys_wait (Makefile.am): Likewise.
29302         * modules/sysexits (Makefile.am): Likewise.
29303         * modules/termios (Makefile.am): Likewise.
29304         * modules/time (Makefile.am): Likewise.
29305         * modules/unistd (Makefile.am): Likewise.
29306         * modules/wchar (Makefile.am): Likewise.
29307         * modules/wctype (Makefile.am): Likewise.
29308
29309 2010-10-04  Bruno Haible  <bruno@clisp.org>
29310
29311         read-file tests: Avoid a test failure on NonStop Kernel.
29312         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
29313         a regular file.
29314         Reported by Joachim Schmitz <schmitz@hp.com>.
29315
29316 2010-10-03  Bruno Haible  <bruno@clisp.org>
29317
29318         gnulib-tool: Fixes for --create-testdir with --libtool.
29319         * gnulib-tool (func_get_automake_snippet): Don't augment
29320         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
29321         an executable.
29322         (func_create_testdir): Handle module 'alloca' like func_import.
29323         Reported by Bruce Korb <bruce.korb@gmail.com>.
29324
29325 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
29326
29327         Avoid some lines longer than 80 characters.
29328         * lib/stdint.in.h: Break long comment lines.
29329         * lib/math.in.h: Likewise.
29330         (_GL_NUM_UINT_WORDS): New macro, for readability.
29331         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
29332         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
29333         * lib/stdlib.in.h: Likewise.
29334         * lib/spawn.in.h: Likewise.
29335         * lib/sys_socket.in.h: Update an URL.
29336         * lib/sys_stat.in.h: Break long line.
29337
29338 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
29339
29340         Improve pmccabe2html.
29341         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
29342         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
29343         when the sources change. Remove the line in the HTML about "Used
29344         ranges" (which implied that there might be other unused ranges),
29345         rename "Resume" to "Summary" (easier to understand for more users).
29346         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
29347         styles, and some unnecessary blank lines.
29348
29349 2010-10-03  Bruno Haible  <bruno@clisp.org>
29350             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
29351
29352         acl: Add support for ACLs on NonStop Kernel.
29353         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
29354         Check whether the function aclsort() exists.
29355         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
29356         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
29357         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29358         (acl_nontrivial [HAVE_ACLSORT]: New function.
29359         (file_has_acl): Implement for NonStop Kernel.
29360         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29361         (qset_acl): Implement for NonStop Kernel.
29362         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
29363         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29364         (main): Implement for NonStop Kernel.
29365         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
29366         Kernel. Handle this flavor.
29367         * tests/test-set-mode-acl.sh: Likewise.
29368         * tests/test-copy-acl.sh: Likewise.
29369         * tests/test-copy-file.sh: Likewise.
29370
29371 2010-10-03  Bruno Haible  <bruno@clisp.org>
29372
29373         Info about ACLs on NonStop Kernel.
29374         * doc/acl-resources.txt: Add info about NonStop Kernel.
29375         References by Joachim Schmitz <schmitz@hp.com>.
29376
29377 2010-10-02  Bruno Haible  <bruno@clisp.org>
29378
29379         Define missing EDQUOT on NonStop Kernel.
29380         * lib/errno.in.h (EDQUOT): Assign a value if missing.
29381         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
29382         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
29383         missing.
29384         * doc/posix-headers/errno.texi: Mention the NSK bug.
29385         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
29386         Reported by Joachim Schmitz <schmitz@hp.com>.
29387
29388 2010-10-02  Bruno Haible  <bruno@clisp.org>
29389
29390         Update doc for POSIX:2008.
29391         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
29392         Update URL of POSIX specification.
29393
29394 2010-10-02  Bruno Haible  <bruno@clisp.org>
29395
29396         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
29397         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
29398         from gnulib, not from Automake.
29399
29400 2010-10-02  Bruno Haible  <bruno@clisp.org>
29401
29402         New module 'system-posix'.
29403         * modules/system-posix: New file.
29404         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
29405         module is present.
29406         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29407         GNULIB_SYSTEM_POSIX.
29408         * modules/stdlib (Depends-on): Remove sys_wait.
29409         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
29410         * doc/posix-functions/system.texi: Mention the new module.
29411         * doc/posix-headers/stdlib.texi: Likewise.
29412         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
29413         define test_sys_wait_macros to a no-op.
29414         Reported by Sam Steingold <sds@gnu.org>.
29415
29416 2010-09-30  Bruno Haible  <bruno@clisp.org>
29417
29418         More renaming from 'getdate' to 'get_date'.
29419         * doc/get_date.texi: Renamed from doc/getdate.texi.
29420         * modules/get_date (Files): Update.
29421         * MODULES.html.sh (Date and time <time.h>): Update.
29422         * DEPENDENCIES: Update.
29423         * gnulib-tool: Update comment.
29424         * m4/bison.m4 (gl_BISON): Likewise.
29425         * m4/get_date.m4 (gl_GET_DATE): Likewise.
29426
29427 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
29428
29429         bootstrap: support ACLOCAL_FLAGS during aclocal
29430         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
29431         can add additional -I dir for third-party .m4 files.
29432
29433 2010-09-30  Eric Blake  <eblake@redhat.com>
29434
29435         bootstrap: use glibtoolize on MacOS
29436         * build-aux/bootstrap (check_versions): Convert libtool into
29437         libtoolize.
29438         (tool search): Move libtool check earlier, and look for
29439         glibtoolize for MacOS.
29440         (gnulib_tool_options): Auto-add --libtool when appropriate.
29441         Reported by Justin Clift.
29442
29443         poll: fix typo that broke test on MacOS
29444         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
29445         Reported by Justin Clift.
29446
29447         getdate: rename to get_date
29448         Note: getdate.h is not renamed, to minimize client impact.
29449         * modules/getdate: Mark obsolete.  Move old contents...
29450         * modules/get_date: ...to new module name.
29451         * modules/getdate-tests: Move...
29452         * modules/get_date-tests: ...here.
29453         * m4/getdate.m4: Move...
29454         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
29455         * lib/getdate.y: Move...
29456         * lib/get_date.y: ...here.
29457         * tests/test-getdate.c: Move...
29458         * tests/test-get_date.c: ...here.
29459         * doc/posix-functions/getdate.texi (getdate): Update name.
29460         * NEWS: Mention the change.
29461
29462 2010-09-29  Bruno Haible  <bruno@clisp.org>
29463
29464         Separate the module 'waitpid' from the module 'sys_wait'.
29465         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
29466         present.
29467         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
29468         gl_MODULE_INDICATOR_FOR_TESTS.
29469         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
29470         * modules/sys_wait (Depends-on): Remove waitpid.
29471         (Makefile.am): Substitute GNULIB_WAITPID.
29472         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
29473         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
29474         signature only if the 'waitpid' module is present.
29475         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
29476         * NEWS: Mention the change.
29477         * modules/grantpt (Depends-on): Add waitpid.
29478         * modules/wait-process (Depends-on): Likewise.
29479
29480 2010-09-29  Bruno Haible  <bruno@clisp.org>
29481
29482         More tests for module 'sys_wait'.
29483         * modules/sys_wait-c++-tests: New file.
29484         * tests/test-sys_wait-c++.cc: New file.
29485         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
29486         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29487
29488 2010-09-29  Bruno Haible  <bruno@clisp.org>
29489
29490         New module 'waitpid'.
29491         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
29492         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
29493         Don't include <process.h>.
29494         (waitpid): Declare only, using modern idiom.
29495         * m4/waitpid.m4: New file.
29496         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
29497         * modules/waitpid: New file.
29498         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
29499         (Makefile.am): Update.
29500         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29501
29502 2010-09-28  Bruno Haible  <bruno@clisp.org>
29503
29504         poll: Assume ANSI C.
29505         * lib/poll.c (poll): Use an ANSI C declaration.
29506
29507 2010-09-28  Bruno Haible  <bruno@clisp.org>
29508
29509         poll-h: Create poll.h on all platforms.
29510         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
29511         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
29512         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
29513         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
29514         (gl_REPLACE_POLL_H): Don't set POLL_H.
29515         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
29516         * modules/poll-h (Depends-on): Add include_next.
29517         (Makefile.am): Create poll.h unconditionally. Substitute also
29518         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
29519
29520 2010-09-28  Bruno Haible  <bruno@clisp.org>
29521
29522         Tests for module 'poll-h'.
29523         * modules/poll-h-c++-tests: New file.
29524         * tests/test-poll-h-c++.cc: New file.
29525
29526         Tests for module 'poll-h'.
29527         * modules/poll-h-tests: New file.
29528         * tests/test-poll-h.c: New file.
29529
29530 2010-09-28  Bruno Haible  <bruno@clisp.org>
29531
29532         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
29533         * modules/poll-h (Depends-on): Add 'extensions'.
29534
29535 2010-09-28  Bruno Haible  <bruno@clisp.org>
29536
29537         New module 'poll-h'.
29538         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
29539         (poll): Use modern idiom.
29540         * modules/poll-h: New file.
29541         * modules/poll (Files): Remove lib/poll.in.h.
29542         (Depends-on): Add poll-h.
29543         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
29544         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
29545         * m4/poll_h.m4: New file.
29546         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
29547         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
29548         and invoke gl_REPLACE_POLL_H.
29549         * lib/poll.c: Use common idiom.
29550         * tests/test-poll.c: Likewise.
29551         * doc/posix-headers/poll.texi: Mention the poll-h module.
29552         Suggested by Eric Blake.
29553
29554 2010-09-26  Bruno Haible  <bruno@clisp.org>
29555
29556         sys_wait: Implement WSTOPSIG.
29557         * lib/sys_wait.in.h (WSTOPSIG): New macro.
29558         Reported by Simon Josefsson.
29559
29560 2010-09-26  Simon Josefsson  <simon@josefsson.org>
29561
29562         stdlib, sys_wait: Avoid compilation error on mingw.
29563         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
29564
29565 2010-09-26  Bruno Haible  <bruno@clisp.org>
29566
29567         stdlib tests: Avoid code duplication.
29568         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
29569         * modules/sys_wait-tests (Files): Likewise.
29570         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
29571         * tests/test-stdlib.c: Include test-sys_wait.h.
29572         (main): Invoke test_sys_wait_macros.
29573         * tests/test-sys_wait.c: Include test-sys_wait.h.
29574         (main): Invoke test_sys_wait_macros.
29575
29576 2010-09-25  Simon Josefsson  <simon@josefsson.org>
29577
29578         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
29579         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
29580         sure Windows sockets are working before calling getaddrinfo.
29581         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
29582         * doc/gnulib.texi (Windows sockets): Fix typo.
29583
29584 2010-09-25  Bruno Haible  <bruno@clisp.org>
29585
29586         Tests for module 'regex-quote'.
29587         * modules/regex-quote-tests: New file.
29588         * tests/test-regex-quote.c: New file.
29589
29590         New module 'regex-quote'.
29591         * lib/regex-quote.h: New file.
29592         * lib/regex-quote.c: New file.
29593         * modules/regex-quote: New file.
29594         Suggested by Reuben Thomas <rrt@sc3d.org>.
29595
29596 2010-09-24  Bruno Haible  <bruno@clisp.org>
29597
29598         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
29599         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
29600
29601 2010-09-23  Bruno Haible  <bruno@clisp.org>
29602
29603         setenv: Relax license.
29604         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
29605         Blake.
29606         Requested by Eric Blake.
29607
29608 2010-09-22  Bruno Haible  <bruno@clisp.org>
29609
29610         termios: Relax license.
29611         * modules/termios (License): Change to LGPLv2+.
29612         Requested by Eric Blake.
29613
29614 2010-09-22  Bruno Haible  <bruno@clisp.org>
29615
29616         threadlib: Allow the package to change the default to 'no'.
29617         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
29618         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
29619         Reported by Paul Eggert.
29620
29621 2010-09-22  Pádraig Brady  <P@draigbrady.com>
29622             Bruno Haible  <bruno@clisp.org>
29623
29624         Fix endless loop in mbmemcasecoll.
29625         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
29626         byte.
29627         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
29628
29629 2010-09-22  Bruno Haible  <bruno@clisp.org>
29630
29631         Tests for module 'memcoll'.
29632         * modules/memcoll-tests: New file.
29633         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
29634
29635         memcoll, xmemcoll: Clarify size vs. length.
29636         * modules/memcoll.c (memcoll0): Clarify specification.
29637         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
29638         passed to collate_error.
29639
29640 2010-09-22  Bruno Haible  <bruno@clisp.org>
29641
29642         Tests for module 'memcasecmp'.
29643         * modules/memcasecmp-tests: New file.
29644         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
29645
29646 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
29647
29648         * lib/pthread.in.h: Add split double-inclusion guard, and include
29649         system <pthread.h> if there is one.  Use @@-style as in other
29650         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
29651         pthread.h doesn't.
29652         (pthread_mutexattr_destroy, pthread_mutexattr_init):
29653         (pthread_mutexattr_settype, pthread_mutex_trylock):
29654         New static inline functions, if there's no system <pthread.h>.
29655         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
29656         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
29657         Approximate with mutexes if the system lacks spinlocks, as in
29658         MacOS.
29659         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
29660         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
29661         @@-style.  Check for spinlocks separately.
29662         (gl_PTHREAD_DEFAULTS): New macro.
29663         * modules/pthread: Redo to use a more typical style for in.h files.
29664
29665 2010-09-21  Eric Blake  <eblake@redhat.com>
29666
29667         net_if: enhance tests
29668         * tests/test-net_if.c (main): Move signature checks earlier.
29669         Print failures to stderr.
29670         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
29671         Document the bug that we do not yet fix.
29672
29673 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29674
29675         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
29676         about gnulib, not GSS.
29677
29678 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29679
29680         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
29681         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
29682         for Emacs.
29683         * build-aux/pmccabe2html: Make Makefile.am example code more
29684         cut-and-paste friendly.
29685
29686 2010-09-21  Simon Josefsson  <simon@josefsson.org>
29687
29688         * tests/test-net_if.c: New file.
29689         * modules/net_if-tests: New file.
29690
29691 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
29692
29693         pthread: add pthread_spin_destroy
29694         * lib/pthread.in.h (pthread_spin_destroy): New function.
29695
29696 2010-09-19  Bruno Haible  <bruno@clisp.org>
29697
29698         gnulib-tool: Fix --help output.
29699         * gnulib-tool (func_usage): Fix help message.
29700         Reported by Reuben Thomas <rrt@sc3d.org>.
29701
29702 2010-09-18  Jim Meyering  <meyering@redhat.com>
29703
29704         maint.mk: avoid unexpanded \n in two diagnostics
29705         * top/maint.mk (sc_prohibit_always_true_header_tests):
29706         Don't use a literal \n in a halt=... assignment.  It would not be
29707         expanded, and the two \n bytes would appear in the diagnostic output
29708         rather than the desired newline.  Use halt=$$(printf ... instead.
29709         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29710
29711 2010-09-18  Bruno Haible  <bruno@clisp.org>
29712
29713         netinet_in: Doc tweak.
29714         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
29715         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29716
29717 2010-09-18  Jim Meyering  <meyering@redhat.com>
29718
29719         init.sh: correct an outdated comment
29720         * tests/init.sh (create_exe_shims_):  s/function/alias/
29721
29722         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
29723         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
29724         a file named "*.exe" is removed between the glob expansion and the
29725         processing of that oddly named file.
29726
29727 2010-09-17  Eric Blake  <eblake@redhat.com>
29728
29729         mirbsd: add some more support
29730         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
29731         in BSD family.
29732         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
29733         devices as OpenBSD.
29734         * m4/host-os.m4 (mirbsd): Add MirBSD.
29735
29736         tests: fix unportable assumption on sys/wait.h
29737         * tests/test-sys_wait.c (main): Relax test.
29738         * tests/test-stdlib.c (main): Likewise.
29739
29740         init.sh: accommodate directory with no .exes
29741         * tests/init.sh: Accomodate directory containing only scripts.
29742
29743         tests: avoid compiler warning
29744         * tests/test-stdlib.c (main): Use the variable.
29745
29746         fdutimens, fdutimensat: update signature, again
29747         * lib/utimens.h (gl_futimens): Delete, and move signature...
29748         (fdutimens): ...here.
29749         (fdutimensat): Rearrange signature.
29750         (lutimensat): Rename variable for clarity.
29751         * lib/fdutimensat.c (fdutimensat): Update signature.
29752         * lib/utimens.c (fdutimens): Likewise.
29753         (gl_futimens): Delete.
29754         (utimens, lutimens): Update callers.
29755         * lib/futimens.c (futimens): Likewise.
29756         * tests/test-fdutimensat.c: Likewise.
29757         * tests/test-utimens.c: Likewise.
29758         * tests/test-futimens.h: Update comment.
29759         * NEWS: Mention this.
29760         Suggested by Paul Eggert.
29761
29762 2010-09-17  Bruno Haible  <bruno@clisp.org>
29763
29764         Take over the maintenance of some older macros from Autoconf.
29765         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
29766         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
29767         GNU Autoconf.
29768         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
29769         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
29770
29771 2010-09-17  Eric Blake  <eblake@redhat.com>
29772
29773         fdutimensat: drop atflag validation
29774         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
29775         with valid fd, to close a race scenario where futimens is
29776         unsupported and FILE was replaced by a symlink.
29777         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
29778         accordingly.
29779         Suggested by Paul Eggert.
29780
29781 2010-09-16  Bruno Haible  <bruno@clisp.org>
29782
29783         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
29784         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
29785
29786 2010-09-16  Bruno Haible  <bruno@clisp.org>
29787
29788         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
29789         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
29790         login_tty exists.
29791         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29792
29793 2010-09-16  Bruno Haible  <bruno@clisp.org>
29794
29795         login_tty: Make the replacement code work on BSD systems.
29796         * lib/login_tty.c: Include <sys/ioctl.h>.
29797         (login_tty): Use ioctl TIOCSCTTY when available.
29798         * modules/login_tty (Depends-on): Add sys_ioctl.
29799         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29800
29801 2010-09-16  Bruno Haible  <bruno@clisp.org>
29802
29803         login_tty: Stricter unit test.
29804         * modules/login_tty-tests (Depends-on): Add tcgetsid.
29805         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
29806         and tcgetsid() after login_tty.
29807         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29808
29809 2010-09-16  Bruno Haible  <bruno@clisp.org>
29810
29811         New module 'tcgetsid'.
29812         * lib/tcgetsid.c: New file.
29813         * m4/tcgetsid.m4: New file.
29814         * modules/tcgetsid: New file.
29815         * modules/termios (Depends-on): Add c++defs, warn-on-use.
29816         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
29817         GNULIB_TCGETSID, HAVE_TCGETSID.
29818         * lib/termios.in.h: Include <sys/types.h>.
29819         (tcgetsid): New declaration.
29820         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
29821         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
29822         * doc/posix-functions/tcgetsid.texi: Mention the new module.
29823         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
29824
29825 2010-09-16  Bruno Haible  <bruno@clisp.org>
29826
29827         Tests for module 'termios'.
29828         * modules/termios-c++-tests: New file.
29829         * modules/termios-tests: New file.
29830         * tests/test-termios-c++.cc: New file.
29831         * tests/test-termios.c: New file.
29832
29833         New module 'termios'.
29834         * modules/termios: New file.
29835         * lib/termios.in.h: New file.
29836         * m4/termios_h.m4: New file.
29837         * doc/posix-headers/termios.texi: Mention the new module.
29838
29839 2010-09-16  Eric Blake  <eblake@redhat.com>
29840
29841         fdutimensat: add an atflag parameter
29842         * lib/fdutimensat.c (fdutimensat): Add new parameter.
29843         * lib/utimens.h (fdutimensat): Update prototype.
29844         * tests/test-fdutimensat.c: Adjust test to match.
29845         * NEWS: Document the change.
29846         Suggested by Paul Eggert.
29847
29848 2010-09-16  Bruno Haible  <bruno@clisp.org>
29849
29850         Fix typos in comments.
29851         * lib/striconveh.h: Fix typo in comment.
29852         * lib/login_tty.c (login_tty): Likewise.
29853
29854 2010-09-15  Bruno Haible  <bruno@clisp.org>
29855
29856         stdlib: clarify MirBSD WEXITSTATUS bug
29857         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
29858         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29859
29860 2010-09-15  Eric Blake  <eblake@redhat.com>
29861
29862         stdlib: work around MirBSD WEXITSTATUS bug
29863         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
29864         * modules/stdlib (Depends-on): Add sys_wait.
29865         * tests/test-sys_wait.c (main): Enhance test.
29866         * tests/test-stdlib.c (main): Likewise.
29867         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
29868
29869         docs: mention MacOS issue with WEXITSTATUS(constant)
29870         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
29871         issue.
29872         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29873
29874         strnlen: add tests
29875         * modules/strnlen-tests: New file.
29876         * tests/test-strnlen.c: Likewise.
29877
29878 2010-09-14  Bruno Haible  <bruno@clisp.org>
29879
29880         unistr/base: Avoid link errors when module 'libunistring' is also used.
29881         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
29882         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
29883         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
29884         Declare also when HAVE_LIBUNISTRING is set.
29885         Reported by Pádraig Brady <P@draigbrady.com>.
29886
29887 2010-09-14  Eric Blake  <eblake@redhat.com>
29888
29889         test-rawmemchr: make more robust
29890         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
29891         (Depends-on, configure.ac): Add needed prerequisites to use it.
29892         * modules/memchr-tests (Files, Depends-on, configure.ac):
29893         Likewise, to avoid implicit reliance on memchr module prereqs.
29894         * tests/test-memchr.c (main): Ensure proper masking.
29895         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
29896         reads.
29897
29898         memchr: detect glibc Alpha bug
29899         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
29900         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
29901         Alpha.
29902         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
29903         * tests/test-memchr.c (main): Enhance test.
29904         Reported by Nelson H. F. Beebe.
29905
29906 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29907
29908         fts, getcwd, glob: audit for dirfd returning -1
29909         * lib/fts.c (opendir): Remove #define; no longer used.
29910         (opendirat): New arg PDIR_FD.  All callers changed.
29911         (fts_build, _opendir2): Use new opendirat to avoid the need for
29912         dirfd, or for checking whether dirfd returns a negative value.
29913         Don't use opendir; always use openat followed by fdopendir.
29914         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
29915         it.
29916         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
29917         returns -1 here.
29918         * modules/fts (Depends-on): Remove dirfd.
29919         * modules/getcwd (Depends-on): Likewise.
29920
29921 2010-09-13  Eric Blake  <eblake@redhat.com>
29922
29923         float: fix broken MirBSD header
29924         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
29925         * doc/posix-headers/float.texi (float.h): Document it.
29926
29927 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29928
29929         fts: use O_NOFOLLOW to avoid race condition when opening a directory
29930         * lib/fts.c (opendirat): New arg extra_flags.
29931         (__opendir2): Use it to avoid following symlinks when opening
29932         a directory, if symlinks are not supposed to be followed.  See
29933         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
29934
29935         fdopendir: preserve argument fd before returning
29936         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
29937         (fdopendir_with_dup, fd_clone_opendir): New static functions.
29938         (fdopendir): Use them, arranging for FD to be open to the same
29939         directory that it was when it started.  (It might be temporarily
29940         closed while fdopendir is running, so this not thread- or
29941         signal-safe.)  Be careful to do the right thing even when file
29942         descriptors are scarce and dup fails with errno == EMFILE.  See
29943         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
29944
29945 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
29946
29947         regex: Pass the system regex if its only problem is 32-bit regoff_t.
29948         * NEWS: Document change.
29949         * m4/regex.m4: Disable test for regoff_t size.
29950
29951 2010-09-13  Jim Meyering  <meyering@redhat.com>
29952
29953         fts: don't operate on an invalid file descriptor after failed dup
29954         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
29955         negative file descriptor.
29956
29957 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
29958
29959         savedir: add streamsavedir, deprecate fdsavedir
29960         * NEWS: Mention deprecation of fdsavedir.
29961         * lib/savedir.c (streamsavedir): New extern function, whose name
29962         ends in "savedir" to be consistent with the others.  This differs
29963         from savedirstream in that it doesn't close its argument.  The
29964         next version of GNU tar will use this instead of fdsavedir, to
29965         avoid some race conditions and conserve file descriptors.
29966         (savedirstream): Reimplement as a wrapper around streamsavedir.
29967         (fdsavedir): Add a comment deprecating this function.  As far as
29968         I know, only GNU tar used it, and GNU tar doesn't need it any more.
29969         * lib/savedir.h (streamsavedir): New decl.
29970         (fdsavedir): Add a comment deprecating this.
29971
29972 2010-09-10  Bruno Haible  <bruno@clisp.org>
29973
29974         langinfo: Fix last commit.
29975         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
29976         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
29977         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29978
29979 2010-09-10  Bruno Haible  <bruno@clisp.org>
29980
29981         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
29982         * lib/progreloc.c (O_EXEC): Define fallback.
29983
29984 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
29985
29986         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
29987         * NEWS: Document recent changes to fcntl-h.
29988         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
29989         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
29990         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
29991         Similarly for O_SEARCH; this last was already true, but not documented.
29992         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
29993         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
29994         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
29995         Likewise.
29996         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
29997         is zero, not whether it is defined.
29998         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
29999         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
30000         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
30001
30002 2010-09-10  Bruno Haible  <bruno@clisp.org>
30003
30004         langinfo, nl_langinfo: Fix for IRIX 5.3.
30005         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
30006         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
30007         HAVE_LANGINFO_YESEXPR.
30008         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
30009         HAVE_LANGINFO_YESEXPR.
30010         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
30011         HAVE_LANGINFO_T_FMT_AMPM is 0.
30012         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
30013         HAVE_LANGINFO_YESEXPR is 0.
30014         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
30015         NOEXPR.
30016         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
30017         * doc/posix-functions/nl_langinfo.texi: Likewise.
30018         Reported by Eric Blake.
30019
30020 2010-09-10  Bruno Haible  <bruno@clisp.org>
30021
30022         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
30023         * doc/glibc-functions/login_tty.texi: Mention the include file problem
30024         on FreeBSD 8.0 and OpenBSD 4.6.
30025         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
30026         * m4/pty_h.m4 (gl_PTY_H): Likewise.
30027         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
30028         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
30029         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
30030         ac_includes_default.
30031         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30032
30033 2010-09-09  Eric Blake  <eblake@redhat.com>
30034
30035         strsignal: work around NetBSD bug
30036         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
30037         * lib/string.in.h (includes): Likewise.
30038         * doc/posix-functions/strsignal.texi (strsignal): Document the
30039         bug.
30040         Reported by Nelson H. F. Beebe.
30041
30042         gnulib-tool: work with NetBSD /bin/sh
30043         * gnulib-tool (func_cache_var, func_cache_lookup_module)
30044         (func_get_description, func_get_comment, func_get_status)
30045         (func_get_notice, func_get_applicability, func_get_filelist)
30046         (func_get_dependencies, func_get_autoconf_early_snippet)
30047         (func_get_autoconf_snippet, func_get_automake_snippet)
30048         (func_get_include_directive, func_get_link_directive)
30049         (func_get_license, func_get_maintainer, func_import): Avoid
30050         shell syntax errors from parsing syntax extensions.
30051
30052 2010-09-09  Bruno Haible  <bruno@clisp.org>
30053
30054         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30055         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
30056         a reliable way to determine whether the 'alias' command works.
30057
30058 2010-09-08  Jim Meyering  <meyering@redhat.com>
30059
30060         init.sh: penalize a set-x-impaired shell; don't disqualify it
30061         * tests/init.sh: Too many shells corrupt application stderr when
30062         you set -x, so we can't afford to disqualify them, since at least
30063         on Irix-6.5, that would disqualify all bourne shells.
30064         Instead, use a two-pass approach.
30065         On the first pass, try to find a shell that meets the stricter
30066         condition that set -x does not corrupt stderr.
30067         If no shell meets the stricter condition, retest each candidate
30068         shell, but without that extra condition.  Finally, when
30069         VERBOSE=yes is requested and set -x might cause trouble, simply
30070         issue a warning and refrain from enabling debug output.
30071
30072 2010-09-08  Eric Blake  <eblake@redhat.com>
30073
30074         unsetenv: fix OpenBSD bug
30075         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
30076         * doc/posix-functions/unsetenv.texi (unsetenv): Update
30077         documentation.
30078         Reported by Jim Meyering.
30079
30080         strtod: work around IRIX 6.5 bug
30081         * lib/strtod.c (strtod): Reparse number on shorter string if
30082         exponent parse was invalid.
30083         * tests/test-strtod.c (main): Add check for "0x1p 2".
30084         Reported by Tom G. Christensen.
30085
30086         getopt: optimize previous patch
30087         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
30088         empty variable.  Speed up awk script.
30089         Reported by Paolo Bonzini.
30090
30091 2010-09-08  Jim Meyering  <meyering@redhat.com>
30092
30093         test.sh: disqualify shells for which set -x corrupts stderr
30094         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
30095         and OpenBSD 4.7.  They make it so with "set -x", environment settings
30096         appear in stderr output.  For example, this command:
30097             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
30098         prints "P=1" on those two systems:
30099
30100 2010-09-08  Bruno Haible  <bruno@clisp.org>
30101
30102         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30103         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
30104         commands, because some shells ignore redirections when there is an
30105         error in the command lookup.
30106         Reported by Eric Blake.
30107
30108 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
30109
30110         * lib/regex.h: Fix a mention of `regex_compile' (should be
30111         `re_compile_pattern').
30112         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
30113         (re_set_registers): Correct name of parameter in comment.
30114
30115         * doc/regex.texi: Add documentation for missing syntax flags.
30116         Remove commented-out documentation of defunct syntax option
30117         RE_NO_EMPTY_ALTS.
30118         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
30119         Add documentation of re_set_registers.
30120         Document trick to re-use a pattern buffer by setting fastmap manually.
30121         Update documentation of struct re_pattern_buffer per public members.
30122         Uncomment documentation of equivalence class operators and
30123         collating symbol operators, since they are now implemented,
30124         Explain leftmost-longest matching in relation to alternatives.
30125         Tidy documentation of substring matching.
30126         Remove POSIX documentation, which is done better in
30127         glibc, and refer the reader there. Keep BSD API documentation, as
30128         that is not readily available elsewhere.
30129
30130 2010-09-07  Eric Blake  <eblake@redhat.com>
30131
30132         getopt: handle POSIXLY_CORRECT set but not exported
30133         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
30134         export state of POSIXLY_CORRECT, due to bash set -o posix.
30135         Reported by Dustin J. Mitchell.
30136
30137 2010-09-05  Bruno Haible  <bruno@clisp.org>
30138
30139         gnulib-tool: Highlight the changed options.
30140         * gnulib-tool (func_usage): Display the --import, --add-import,
30141         --remove-import explanations in bold font.
30142
30143 2010-09-06  Karl Berry  <karl@gnu.org>
30144
30145         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
30146
30147 2010-09-05  Bruno Haible  <bruno@clisp.org>
30148
30149         uniwidth/width: Update comment.
30150         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
30151         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
30152
30153 2010-09-05  Bruno Haible  <bruno@clisp.org>
30154
30155         isinf, isnan: Relax license.
30156         * modules/isinf (License): Change from GPL to LGPL, with consent from
30157         Ben Pfaff.
30158         * modules/isnan (License): Likewise.
30159         Requested by Ludovic Courtès.
30160
30161 2010-09-04  Bruno Haible  <bruno@clisp.org>
30162
30163         gnulib-tool: Help migration from --import to --add-import or --update.
30164         * gnulib-tool: Emit a verbose error message when --import is used
30165         without any module name.
30166
30167 2010-09-04  Bruno Haible  <bruno@clisp.org>
30168
30169         Update doc about gnulib-tool.
30170         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
30171         'gnulib-tool --update' in more detail.
30172         Reported by Eric Blake.
30173
30174 2010-09-04  Bruno Haible  <bruno@clisp.org>
30175
30176         gnulib-tool: Change --import. New options --add/remove-import.
30177         * gnulib-tool: New options --add-import, --remove-import.
30178         (func_usage): Document them.
30179         (have_associative): Define always.
30180         (func_import): In import mode, don't merge the specified settings with
30181         the cached settings. Implement remove-import mode.
30182         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
30183         Explain when to use them versus --import.
30184         (Simple update): Use --add-import instead of --import.
30185         * NEWS: Mention the change.
30186
30187 2010-09-04  Bruno Haible  <bruno@clisp.org>
30188
30189         * doc/gnulib-tool.texi (Initial import): Update paragraph about
30190         separate gnulib.mk.
30191
30192 2010-09-04  Bruno Haible  <bruno@clisp.org>
30193
30194         gnulib-tool: Don't talk about CVS any more.
30195         * gnulib-tool (func_usage, func_import): Write "version control"
30196         instead of CVS.
30197
30198 2010-09-04  Jim Meyering  <meyering@redhat.com>
30199
30200         maint.mk: avoid obscure sc_copyright_check failure in coreutils
30201         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
30202         false positives (whose names may be ill-chosen) when searching
30203         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
30204         would cause a false-positive.
30205
30206         avoid coreutils "make distcheck" failure
30207         Coreutils tests with an absolute build directory name that contains
30208         a space.  Not quoting this directory name caused a failure.
30209         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
30210         * tests/test-vc-list-files-cvs.sh: Likewise.
30211
30212 2010-09-04  Bruno Haible  <bruno@clisp.org>
30213
30214         gnulib-tool: Avoid error when run in a package without Makefile.am.
30215         * gnulib-tool: When collecting the m4dirs in a package that does not
30216         have a Makefile.am, eliminate those directories that contain no
30217         gnulib-cache.m4. Fix expression that counts these directories.
30218
30219 2010-09-04  Bruno Haible  <bruno@clisp.org>
30220
30221         update-copyright test: Improve output when perl is missing or too old.
30222         * tests/test-update-copyright.sh: Move test of Perl version down after
30223         the test whether Perl exists. Provide an explanation relating Perl's
30224         error message to Automake's SKIP: message.
30225
30226 2010-09-04  Bruno Haible  <bruno@clisp.org>
30227
30228         Don't augment PATH in TESTS_ENVIRONMENT.
30229         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
30230         set abs_aux_dir instead of augmenting PATH.
30231         * modules/vc-list-files-tests (Makefile.am): Likewise.
30232         * tests/test-update-copyright.sh: Augment PATH here.
30233         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
30234         path_prepend_.
30235         * tests/test-vc-list-files-git.sh: Likewise.
30236
30237 2010-09-04  Jim Meyering  <meyering@redhat.com>
30238
30239         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
30240         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
30241
30242 2010-09-04  Bruno Haible  <bruno@clisp.org>
30243
30244         strdup: Fix compilation error in C++ mode.
30245         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
30246         the macro.
30247
30248 2010-09-04  Bruno Haible  <bruno@clisp.org>
30249
30250         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
30251         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
30252         macro into a function.
30253         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30254
30255 2010-09-04  Bruno Haible  <bruno@clisp.org>
30256
30257         Set PATH_SEPARATOR the same way autoconf does.
30258         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
30259         the value of PATH_SEPARATOR the same way autoconf-generated configure
30260         scripts do.
30261         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
30262         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30263
30264 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
30265
30266         Set PATH_SEPARATOR the same way autoconf does.
30267         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
30268         the same way autoconf-generated configure scripts do.
30269         * posix-modules: Likewise.
30270
30271 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
30272
30273         hash: fix safe_hasher const typo
30274         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
30275         const; otherwise, there is a type error later.
30276
30277 2010-09-02  Jim Meyering  <meyering@redhat.com>
30278
30279         test-update-copyright.sh: require perl 5.8.0
30280         * tests/test-update-copyright.sh: Require 5.8.0,
30281         which Tom G. Christensen has confirmed is adequate,
30282         while 5.6.1 is not.
30283
30284 2010-09-02  Eric Blake  <eblake@redhat.com>
30285
30286         tests: init.sh improvements for re-exec'ing with zsh
30287         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
30288         -vx through shell re-exec.
30289         Reported by Tom G. Christensen.
30290
30291         wctype: fix typo in previous commit
30292         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
30293         Reported by Ludovic Courtès.
30294
30295 2010-09-02  Jim Meyering  <meyering@redhat.com>
30296
30297         test-update-copyright.sh: skip test if Perl is too old
30298         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
30299         Reported by Tom G. Christensen.
30300
30301 2010-09-02  Bruno Haible  <bruno@clisp.org>
30302
30303         wctype: Avoid compilation error on IRIX 6.5.30.
30304         * lib/wctype.in.h (iswblank): Declare with a replacement if
30305         REPLACE_ISWBLANK is set.
30306         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
30307         declared. Set REPLACE_ISWBLANK.
30308         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
30309         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
30310         * doc/posix-headers/wctype.texi: Likewise.
30311         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30312
30313 2010-09-01  Bruno Haible  <bruno@clisp.org>
30314
30315         New module 'socketlib'.
30316         * modules/socketlib: New file.
30317         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
30318         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
30319         * modules/sockets (Depends-on): Add socketlib.
30320         Suggested by Sam Steingold <sds@gnu.org>.
30321
30322 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
30323
30324         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
30325
30326         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
30327         when one needs search access to a directory but not read access.
30328         On systems where it is available, it works in some cases where
30329         O_RDONLY does not, namely on directories that are searchable but
30330         not readable, and which need only to be searchable.  If O_SEARCH
30331         is not available, fall back to the traditional method of using
30332         O_RDONLY.
30333
30334         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
30335         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
30336         when opening a directory that needs only to be searchable.
30337         * lib/chdir-safer.c (chdir_no_follow): Likewise.
30338         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
30339         * lib/openat-proc.c (openat_proc_name): Likewise.
30340         * lib/openat.c (openat_needs_fchdir): Likewise.
30341         * lib/save-cwd.c (save_cwd): Likewise.
30342         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
30343
30344 2010-08-28  Bruno Haible  <bruno@clisp.org>
30345
30346         New module 'host-cpu-c-abi'.
30347         * modules/host-cpu-c-abi: New file.
30348         * m4/host-cpu-c-abi.m4: New file, based on part of
30349         clisp/src/m4/general.m4.
30350         Requested by Sam Steingold <sds@gnu.org>.
30351
30352 2010-08-31  Eric Blake  <eblake@redhat.com>
30353         and Jim Meyering  <meyering@redhat.com>
30354
30355         hash: factor, and guard against misbehaving hasher function
30356         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
30357         of table->hasher's return value.  Also protect against a hash value
30358         so large that adding it to table->bucket results in a NULL pointer.
30359         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
30360         Use it in place of open-coded check-and-abort.
30361
30362 2010-08-30  Bruno Haible  <bruno@clisp.org>
30363
30364         hash: silence spurious clang warning
30365         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
30366         Reported by Eric Blake.
30367
30368 2010-08-30  Eric Blake  <eblake@redhat.com>
30369
30370         strstr, memmem, strcasestr: avoid leaked shell message
30371         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
30372         FreeBSD.
30373         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30374         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30375
30376         tests: silence clang warning
30377         * tests/test-malloca.c (do_allocation): Avoid dead store.
30378
30379 2010-08-29  Bruno Haible  <bruno@clisp.org>
30380
30381         gettext: Fix recent mistake.
30382         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
30383
30384 2010-08-29  Bruno Haible  <bruno@clisp.org>
30385
30386         selinux-h: Offer a --without-selinux option.
30387         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
30388         --without-selinux was specified, skip all tests and define
30389         HAVE_SELINUX_SELINUX_H to 0.
30390         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
30391         set LIB_SELINUX to empty.
30392         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
30393         gl_LIBSELINUX. If --without-selinux was specified, replace
30394         selinux/context.h.
30395         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
30396
30397 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30398             Bruno Haible  <bruno@clisp.org>
30399
30400         Make the module 'realloc-gnu' work again on AIX and OSF/1.
30401         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
30402         of HAVE_REALLOC.
30403         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
30404         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
30405         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
30406         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30407
30408 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30409             Bruno Haible  <bruno@clisp.org>
30410
30411         Make the module 'calloc-gnu' work again on AIX and OSF/1.
30412         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
30413         HAVE_CALLOC.
30414         * lib/xmalloc.c: Update accordingly.
30415         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
30416         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
30417         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
30418
30419 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30420             Bruno Haible  <bruno@clisp.org>
30421
30422         Make the module 'malloc-gnu' work again on AIX and OSF/1.
30423         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
30424         HAVE_MALLOC.
30425         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
30426         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
30427         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30428
30429 2010-08-29  Bruno Haible  <bruno@clisp.org>
30430
30431         Update modules list.
30432         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30433         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
30434         (String handling <string.h>): Add astrxfrm.
30435         (File system functions): Add readlinkat.
30436
30437 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30438
30439         Tests for module 'realloc-gnu'.
30440         * modules/realloc-gnu-tests: New file.
30441         * tests/test-realloc-gnu.c: New file.
30442
30443         Tests for module 'calloc-gnu'.
30444         * modules/calloc-gnu-tests: New file.
30445         * tests/test-calloc-gnu.c: New file.
30446
30447         Tests for module 'malloc-gnu'.
30448         * modules/malloc-gnu-tests: New file.
30449         * tests/test-malloc-gnu.c: New file.
30450
30451 2010-08-28  Bruno Haible  <bruno@clisp.org>
30452
30453         Rename module 'realloc' -> 'realloc-gnu'.
30454         * modules/realloc-gnu: New file, copied from modules/realloc.
30455         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
30456         obsolete.
30457         * modules/mgetgroups (Depends-on): Update.
30458         * doc/posix-functions/realloc.texi: Update.
30459         * NEWS: Mention the change.
30460
30461         Rename module 'calloc' -> 'calloc-gnu'.
30462         * modules/calloc-gnu: New file, copied from modules/calloc.
30463         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
30464         obsolete.
30465         * doc/posix-functions/calloc.texi: Update.
30466         * NEWS: Mention the change.
30467
30468         Rename module 'malloc' -> 'malloc-gnu'.
30469         * modules/malloc-gnu: New file, copied from modules/malloc.
30470         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
30471         obsolete.
30472         * modules/argp (Depends-on): Update.
30473         * modules/regex (Depends-on): Update.
30474         * doc/posix-functions/malloc.texi: Update.
30475         * NEWS: Mention the change.
30476
30477 2010-08-28  Eric Blake  <eblake@redhat.com>
30478
30479         pread, pwrite: add missing dependency
30480         * modules/pread (Depends-on): Add extensions.
30481         * modules/pwrite (Depends-on): Likewise.
30482
30483 2010-08-28  Bruno Haible  <bruno@clisp.org>
30484
30485         unistr/u*-strchr: Fix tests dependencies.
30486         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
30487         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
30488         Reported by Ian Beckwith <ianb@erislabs.net>.
30489
30490 2010-08-28  Bruno Haible  <bruno@clisp.org>
30491
30492         read-file: Don't occupy too much unused memory.
30493         * lib/read-file.c (fread_file): Shrink the buffer at the end.
30494
30495 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
30496             Eric Blake  <eblake@redhat.com>
30497             Bruno Haible  <bruno@clisp.org>
30498
30499         read-file: Avoid memory reallocations with regular files.
30500         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
30501         (fread_file): With regular files, use the remaining length as the
30502         initial buffer size.  Check against overflow.
30503         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
30504         sys_stat.
30505
30506 2010-08-28  Bruno Haible  <bruno@clisp.org>
30507
30508         ftello: Relax license.
30509         * modules/ftello (License): Relax to LGPLv2+.
30510         Reported by Eric Blake.
30511
30512 2010-08-28  Bruno Haible  <bruno@clisp.org>
30513
30514         Avoid relocwrapper link errors due to gnulib replacement functions.
30515         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
30516         function.
30517         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30518
30519 2010-08-28  Bruno Haible  <bruno@clisp.org>
30520
30521         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
30522         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
30523         defined.
30524         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
30525         Suggested by Eric Blake.
30526
30527 2010-08-28  Bruno Haible  <bruno@clisp.org>
30528
30529         sys_socket, netdb: Ensure socklen_t gets defined.
30530         * modules/sys_socket (Depends-on): Add socklen.
30531         * modules/netdb (Depends-on): Likewise.
30532         * modules/getaddrinfo (Depends-on): Remove socklen.
30533         * modules/getsockopt (Depends-on): Likewise.
30534         * modules/setsockopt (Depends-on): Likewise.
30535         * tests/test-sys_socket.c: Check that socklen_t is defined.
30536         * tests/test-netdb.c: Likewise.
30537         * m4/socklen.m4: Update comments.
30538         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30539
30540 2010-08-27  Eric Blake  <eblake@redhat.com>
30541
30542         login_tty: add missing dependency
30543         * modules/login_tty (Depends-on): Add pty.
30544
30545 2010-08-26  Eric Blake  <eblake@redhat.com>
30546
30547         lib-symbol-versions: fix m4 quoting
30548         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
30549         format for AC_LINK_IFELSE.
30550
30551         glob: fix compile test
30552         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
30553
30554         btowc: fix missing file
30555         * modules/btowc (Files): Also ship locale-fr.m4.
30556
30557         lseek: fix link test
30558         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
30559         AC_LINK_IFELSE.
30560
30561         include_next: silence autoconf 2.68 warning
30562         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
30563         AC_COMPILE_IFELSE as special.
30564         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
30565         autoconf < 2.68.
30566
30567         acl: fix compilation test
30568         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
30569         AC_COMPILE_IFELSE.
30570
30571 2010-08-26  Bruno Haible  <bruno@clisp.org>
30572
30573         Modernize AC_TRY_RUN invocations.
30574         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
30575         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
30576         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
30577         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
30578         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
30579         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
30580         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
30581         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
30582         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30583         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30584         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
30585         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
30586         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
30587         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30588         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
30589         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
30590         gl_MBRLEN_NUL_RETVAL): Likewise.
30591         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
30592         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
30593         Likewise.
30594         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
30595         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
30596         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
30597         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
30598         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
30599         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
30600         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
30601         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
30602         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
30603         Likewise.
30604         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
30605         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
30606         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30607         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30608         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30609         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
30610         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
30611         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
30612         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
30613         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30614
30615 2010-08-26  Bruno Haible  <bruno@clisp.org>
30616
30617         Modernize AC_TRY_LINK invocations.
30618         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
30619         AC_TRY_LINK.
30620         * m4/argp.m4 (gl_ARGP): Likewise.
30621         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
30622         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30623         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30624         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30625         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30626         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
30627         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
30628         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
30629         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30630         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
30631         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30632         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
30633         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
30634         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30635         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
30636         * m4/hostent.m4 (gl_HOSTENT): Likewise.
30637         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30638         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
30639         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
30640         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
30641         Likewise.
30642         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
30643         Likewise.
30644         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
30645         Likewise.
30646         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
30647         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
30648         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
30649         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
30650         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
30651         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
30652         * m4/servent.m4 (gl_SERVENT): Likewise.
30653         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
30654         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
30655         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
30656         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
30657         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30658         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
30659         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30660         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30661         * modules/tsearch-tests (configure.ac): Likewise.
30662
30663 2010-08-26  Bruno Haible  <bruno@clisp.org>
30664
30665         Modernize AC_TRY_COMPILE invocations.
30666         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
30667         AC_TRY_COMPILE.
30668         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
30669         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
30670         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
30671         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
30672         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
30673         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
30674         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30675         * m4/lock.m4 (gl_LOCK): Likewise.
30676         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
30677         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
30678         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
30679         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30680         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
30681         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
30682         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
30683         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
30684         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
30685         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
30686         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
30687         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
30688         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
30689         extraneous semicolon.
30690
30691 2010-08-26  Jim Meyering  <meyering@redhat.com>
30692
30693         stat-time: relax license LGPL
30694         * modules/stat-time (License): Change from GPL to LGPL,
30695         with consent from all contributors, for use in libguile.
30696         Requested by Ludovic Courtès.
30697
30698 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
30699
30700         poll: return immediately on POLLHUP.
30701         * lib/poll.c (poll): Always set timeout before wait_timeout is
30702         computed.
30703
30704 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30705
30706         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
30707         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
30708         rmdir ("dir/.//"), unlinkat.
30709
30710 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
30711
30712         stdbool: avoid spurious failure with modern xlc
30713         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30714
30715 2010-08-24  Bruno Haible  <bruno@clisp.org>
30716
30717         getloadavg: simplify code
30718         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
30719         gl_have_func. Update comments.
30720
30721 2010-08-24  Eric Blake  <eblake@redhat.com>
30722
30723         getloadavg: don't define SVR4 on cygwin
30724         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
30725         only define SVR4 when -lkvm is required.
30726         Reported by Yaakov Selkowitz.
30727
30728 2010-08-24  Bruno Haible  <bruno@clisp.org>
30729
30730         priv-set: fix comment
30731         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
30732
30733 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
30734
30735         priv-set: fix comments
30736         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
30737         to match code, as suggested by David Bartley in:
30738         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
30739
30740 2010-08-23  Eric Blake  <eblake@redhat.com>
30741
30742         stdbool: avoid rejecting clang
30743         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30744         * tests/test-stdbool.c: Enable more tests if using the system
30745         <stdbool.h> instead of the gnulib replacement.
30746         (main): Move xlc bug test to a runtime test for all compilers.
30747         Reported by Anders Kaseorg.
30748
30749         argz: fix shell quoting issue
30750         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
30751         Reported by Charles Wilson.
30752
30753 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
30754             Erik Faye-Lund <kusmabite@gmail.com>
30755
30756         poll, select: handle ERROR_BROKEN_PIPE.
30757         * lib/poll.c (win32_compute_revents): Return POLLHUP when
30758         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30759         * lib/select.c (win32_compute_revents): Do not mark a pipe
30760         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30761
30762 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
30763
30764         fts: allow compilation with C++
30765         * lib/fts_.h: Specify extern "C" linkage with C++.
30766
30767 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30768
30769         Fix gnulib-tool sed script de-commentation for AIX sed.
30770         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
30771         sed.
30772
30773 2010-08-17  Eric Blake  <eblake@redhat.com>
30774
30775         test-stddef: test for (some) offsetof bugs
30776         * tests/test-stddef.c: Enhance test to ensure correct type of
30777         offsetof.
30778         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
30779         that we are not fixing at this time.
30780
30781 2010-08-15  Bruno Haible  <bruno@clisp.org>
30782
30783         stpncpy: Allow stpncpy to be defined as a macro.
30784         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
30785         if it's already correctly declared.
30786         * lib/string.in.h (stpncpy): Undefine before redefining.
30787         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
30788
30789 2010-08-14  Bruno Haible  <bruno@clisp.org>
30790
30791         Rename module 'memxfrm' to 'amemxfrm'.
30792         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
30793         (amemxfrm): Renamed from memxfrm.
30794         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
30795         (amemxfrm): Renamed from memxfrm.
30796         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
30797         * NEWS: Mention the change.
30798         * MODULES.html.sh (String handling <string.h>): Update.
30799         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
30800         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
30801         * lib/unicase/u16-casexfrm.c: Likewise.
30802         * lib/unicase/u32-casexfrm.c: Likewise.
30803         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
30804         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
30805         * lib/uninorm/u16-normxfrm.c: Likewise.
30806         * lib/uninorm/u32-normxfrm.c: Likewise.
30807         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
30808         memxfrm.
30809         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
30810         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
30811         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
30812         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
30813         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
30814         Suggested by Paul Eggert.
30815
30816 2010-08-14  Bruno Haible  <bruno@clisp.org>
30817
30818         Tests for module 'astrxfrm'.
30819         * modules/astrxfrm-tests: New file.
30820         * tests/test-astrxfrm.c: New file.
30821
30822         New module 'astrxfrm'.
30823         * lib/astrxfrm.h: New file.
30824         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
30825         * modules/astrxfrm: New file.
30826
30827 2010-08-14  Reuben Thomas <rrt@sc3d.org>
30828
30829         regex: Tweak doc.
30830         * doc/regex.texi (Overview): Don't mention regex.c.
30831         (GNU Regular Expression Compiling): Likewise.
30832         (Match-end-of-line Operator): Mention 'not_eol'.
30833
30834 2010-08-14  Brian Gough  <bjg@gnu.org>
30835             Bruno Haible  <bruno@clisp.org>
30836
30837         git-merge-changelog: add doc relating to use with bzr and hg.
30838         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
30839
30840 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
30841
30842         pthread: fix pthread.h creation for srcdir != builddir
30843         * modules/pthread (Makefile.am): Fix the rule to work also in a
30844         non-srcdir build.
30845
30846 2010-08-13  Karl Berry  <karl@gnu.org>
30847
30848         * doc/regex.texi (Predefined Syntaxes): @smallexample.
30849         * doc/posix-*/*: force line break before @url of POSIX
30850         specifications.
30851         Suggested by Werner Lemberg.
30852
30853 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
30854
30855         strtod: fix const diagnostic
30856         * lib/strtod.c (strtod): Don't assign const char * to char *,
30857         as this elicits a warning from GCC when warnings are enabled.
30858
30859 2010-08-10  Pádraig Brady <P@draigbrady.com>
30860         and Eric Blake  <eblake@redhat.com>
30861
30862         copy-acl: ignore ENOTSUP on HP-UX
30863         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
30864         so that it is available for HP-UX.
30865         * lib/copy-acl.c (qcopy_acl): Use it.
30866         Reported by Patrick M. Callahan.
30867
30868 2010-08-10  Eric Blake  <eblake@redhat.com>
30869
30870         open, chown: relax license
30871         * modules/open (License): Change to LGPLv2+, with consent by all
30872         authors, for use in augeas.
30873         * modules/chown (License): Likewise.
30874         * modules/lchown (Likewise): Likewise.
30875         Requested by Adam Stokes.
30876
30877 2010-08-09  Karl Berry  <karl@gnu.org>
30878
30879         * build-aux/ar-lib: new file, import from Automake.
30880         * config/srclist.txt: autocheck for updates.
30881
30882 2010-08-09  Eric Blake  <eblake@redhat.com>
30883
30884         readlinkat: adjust client modules
30885         * modules/areadlinkat (Depends-on): Use readlinkat, not
30886         symlinkat.
30887         * modules/areadlinkat-with-size (Depends-on): Likewise.
30888
30889         mknod: be more vocal about danger of running tests as root
30890         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
30891         root, since that is just asking for problems.
30892         Suggested by Bruno Haible, based on a report by Rainer Tammer.
30893
30894         readlinkat: split into its own module
30895         * modules/symlinkat: Split readlinkat...
30896         * modules/readlinkat: ...into separate module.
30897         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
30898         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
30899         * lib/symlinkat.c (readlinkat): Move...
30900         * lib/readlinkat.c: ...into new file.
30901         * modules/symlinkat-tests: Split readlinkat test...
30902         * modules/readlinkat-tests: ...into separate module.
30903         * tests/test-symlinkat.c: Split...
30904         * tests/test-readlinkat.c: ...into new file.
30905         * NEWS: Document the split.
30906         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30907         * lib/unistd.in.h (readlinkat): Likewise.
30908         Suggested by Bruno Haible.
30909
30910 2010-08-08  Bruno Haible  <bruno@clisp.org>
30911
30912         memxfrm: Speed up.
30913         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
30914         that usually only one call to strxfrm is necessary for each string
30915         part.
30916         Reported by Paul Eggert <eggert@cs.ucla.edu>.
30917
30918 2010-08-07  Karl Berry  <karl@gnu.org>
30919
30920         * doc/posix-headers/limits.texi,
30921         * doc/posix-functions/malloc.texi,
30922         * doc/posix-functions/strsignal.texi: missing @item.
30923         * doc/ld-version-script.texi: spurious leading i.
30924         * doc/regex.texi (Interval Operators): no commas inside @var.
30925
30926 2010-08-01  Bruno Haible  <bruno@clisp.org>
30927
30928         Integrate the regex documentation.
30929         * doc/gnulib.texi: Define 'cn' index.
30930         (Regular expressions): New a chapter that includes regex.texi and
30931         regexprops-generic.texi.
30932         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
30933         syntax.
30934
30935         Whitespace cleanup.
30936         * doc/regex.texi: Remove trailing spaces.
30937
30938         Add regex documentation.
30939         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
30940         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
30941         Written by Kathy A. Hargreaves and Karl Berry.
30942
30943 2010-08-01  Bruno Haible  <bruno@clisp.org>
30944
30945         link: Update documentation.
30946         * doc/posix-functions/link.texi: Update regarding Solaris.
30947
30948 2010-07-31  Bruno Haible  <bruno@clisp.org>
30949
30950         Update modules list.
30951         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
30952         (String handling <string.h>): Add memcmp2, memxfrm.
30953         (Container data structures): Add xlist, xsublist, xoset.
30954         (Core language properties): Add alignof, unused-parameter.
30955         (Process control, Numeric conversion functions <stdlib.h>): Renamed
30956         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
30957         (Unibyte characters <ctype.h>): New section.
30958         (String handling <string.h>): New section.
30959         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
30960         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
30961         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
30962         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
30963         tan, tanh, tanl, y0, y1, yn.
30964         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
30965         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
30966         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
30967         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
30968         unlockpt, vdprintf, vdprintf-posix.
30969         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
30970         (File system functions): Add concat-filename, sys_file, sys_ioctl,
30971         xconcat-filename.
30972         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
30973         getdtablesize, pipe2, pipe2-safer.
30974         (Security): New section.
30975         (Networking functions): Add accept4.
30976         (Signal handling): Add sigpipe.
30977         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
30978         mbmemcasecoll.
30979         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
30980         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
30981         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
30982         pipe-filter-ii.
30983         (Misc): Add argp-version-etc, login_tty, parse-duration.
30984
30985 2010-07-31  Bruno Haible  <bruno@clisp.org>
30986
30987         Improve doc in MODULES.html.
30988         * modules/linkat (Description): Add the word "function".
30989         * modules/mkfifo (Description): Likewise.
30990         * modules/mknod (Description): Likewise.
30991         * modules/remove (Description): Likewise.
30992         * modules/renameat (Description): Likewise.
30993         * modules/stat (Description): Likewise.
30994         * modules/symlink (Description): Likewise.
30995         * modules/unlink (Description): Likewise.
30996
30997 2010-07-31  Bruno Haible  <bruno@clisp.org>
30998
30999         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
31000         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
31001         option --enable/disable-c++ instead of --enable/disable-cxx.
31002         * NEWS: Mention the change.
31003
31004 2010-07-31  Bruno Haible  <bruno@clisp.org>
31005
31006         readlink, areadlink: Relax test a bit.
31007         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
31008         alternative to ENOTDIR.
31009         * tests/test-areadlink.h (test_areadlink): Likewise.
31010         Reported by Rainer Tammer.
31011
31012 2010-07-31  Bruno Haible  <bruno@clisp.org>
31013
31014         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
31015         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
31016         character, perform the search using U_STRCHR.
31017         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
31018         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
31019         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
31020         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
31021         Suggested by Paolo Bonzini.
31022
31023 2010-07-31  Bruno Haible  <bruno@clisp.org>
31024
31025         unistr/u*-strstr: Fix dependencies.
31026         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
31027         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
31028         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
31029
31030 2010-07-31  Bruno Haible  <bruno@clisp.org>
31031
31032         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
31033         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
31034         the beginning of the loop.
31035         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
31036         cases in 'switch' statement.
31037
31038         unistr/u8-strchr: Fix several bugs.
31039         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
31040         the string. When not found, return NULL, not a pointer near the end.
31041
31042         More tests for unistr/u8-strchr.
31043         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
31044         that the function does not read past the first occurrence of the byte
31045         being searched.
31046         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
31047         * tests/unistr/test-u16-strchr.c (main): New function.
31048         * tests/unistr/test-u32-strchr.c (main): New function.
31049
31050 2010-07-31  Bruno Haible  <bruno@clisp.org>
31051
31052         posix-modules: Ignore backup files of documentation files.
31053         * posix-modules: grep only through files named *.texi.
31054
31055 2010-07-31  Bruno Haible  <bruno@clisp.org>
31056
31057         symlinkat: Fix documentation.
31058         * doc/posix-functions/readlinkat.texi: Fix module name.
31059
31060 2010-07-31  Bruno Haible  <bruno@clisp.org>
31061
31062         fchownat: Replace also when chown has the trailing slash bug.
31063         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
31064         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
31065         introduced on 2010-04-10.
31066         Reported by Rainer Tammer.
31067
31068 2010-07-31  Bruno Haible  <bruno@clisp.org>
31069
31070         linkat: Work around AIX 7.1 bug.
31071         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
31072         whether linkat handles trailing slash correctly. If not, replace linkat
31073         and define LINKAT_TRAILING_SLASH_BUG.
31074         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
31075         check whether (fd1,file1) points to a directory if file1 or file2 ends
31076         in a slash. Code taken from lib/link.c.
31077         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
31078         Reported by Rainer Tammer.
31079
31080 2010-07-31  Bruno Haible  <bruno@clisp.org>
31081
31082         Correctly determine whether pow is available in libc on AIX 7 with xlc.
31083         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
31084         This disables an xlc optimization that was causing wrong test results.
31085         Reported by Rainer Tammer.
31086
31087 2010-07-31  Bruno Haible  <bruno@clisp.org>
31088
31089         iconv: Work around AIX 6.1..7.1 bug.
31090         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
31091         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
31092         cross-compiling, guess no on all versions of AIX.
31093         Reported by Rainer Tammer.
31094
31095 2010-07-31  Bruno Haible  <bruno@clisp.org>
31096
31097         readlink: Relax test a bit.
31098         * tests/test-readlink.h (test_readlink): Allow different errno value
31099         when readlink is called with a file name that ends in / and refers to
31100         a file.
31101         Suggested by Eric Blake.
31102         Reported by Rainer Tammer.
31103
31104 2010-07-31  Bruno Haible  <bruno@clisp.org>
31105
31106         copysign: Does not require -lm on glibc systems.
31107         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
31108         gl_COMMON_DOUBLE_MATHFUNC.
31109         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
31110
31111 2010-07-31  Bruno Haible  <bruno@clisp.org>
31112
31113         duplocale: Work around AIX 7.1 bug.
31114         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
31115         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
31116         * lib/duplocale.c (rpl_duplocale): Update comment.
31117         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
31118         Reported by Rainer Tammer.
31119
31120 2010-07-30  Bruno Haible  <bruno@clisp.org>
31121
31122         dirfd: Avoid link error on AIX 7.1.
31123         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
31124         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
31125         exist, set REPLACE_DIRFD.
31126         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
31127         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
31128         * doc/posix-functions/dirfd.texi: Update.
31129         Reported by Rainer Tammer.
31130
31131 2010-07-30  Eric Blake  <eblake@redhat.com>
31132
31133         strtod: next round of AIX fixes
31134         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
31135         exponent.
31136         * tests/test-strtod.c (main): Enhance tests.
31137         * doc/posix-functions/strtod.texi (strtod): Document next bug.
31138         Reported by Rainer Tammer.
31139
31140         futimens: fix configure check
31141         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
31142         Reported by Bruno Haible.
31143
31144 2010-07-30  Bruno Haible  <bruno@clisp.org>
31145
31146         getline: Update regarding AIX.
31147         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
31148         Reported by Rainer Tammer.
31149
31150 2010-07-30  Bruno Haible  <bruno@clisp.org>
31151
31152         wcwidth: Drop replacement on AIX 7.
31153         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
31154         AIX 7.
31155         Reported by Rainer Tammer.
31156
31157 2010-07-30  Bruno Haible  <bruno@clisp.org>
31158
31159         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
31160         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
31161         a 'char *'.
31162         Reported by Rainer Tammer.
31163
31164 2010-07-30  Bruno Haible  <bruno@clisp.org>
31165
31166         unlink: Update regarding AIX.
31167         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
31168         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
31169         Reported by Rainer Tammer.
31170
31171 2010-07-30  Bruno Haible  <bruno@clisp.org>
31172
31173         symlink: Update regarding AIX.
31174         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
31175         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
31176         Reported by Rainer Tammer.
31177
31178 2010-07-30  Bruno Haible  <bruno@clisp.org>
31179
31180         strndup: Update regarding AIX.
31181         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
31182         AIX 7.
31183         Reported by Rainer Tammer.
31184
31185 2010-07-30  Bruno Haible  <bruno@clisp.org>
31186
31187         stat: Update regarding AIX.
31188         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
31189         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
31190         Reported by Rainer Tammer.
31191
31192 2010-07-30  Bruno Haible  <bruno@clisp.org>
31193
31194         truncl: Fix autoconf test.
31195         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
31196         whether truncl works.
31197         Reported by Rainer Tammer.
31198
31199 2010-07-30  Bruno Haible  <bruno@clisp.org>
31200
31201         round: Update regarding AIX.
31202         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
31203         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
31204         Reported by Rainer Tammer.
31205
31206 2010-07-30  Bruno Haible  <bruno@clisp.org>
31207
31208         rename: Update regarding AIX.
31209         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
31210         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
31211         Reported by Rainer Tammer.
31212
31213 2010-07-30  Bruno Haible  <bruno@clisp.org>
31214
31215         printf.m4: Update regarding AIX.
31216         * m4/printf.m4: Update comments regarding AIX.
31217         Reported by Rainer Tammer.
31218
31219 2010-07-30  Bruno Haible  <bruno@clisp.org>
31220
31221         iconv: Update regarding AIX.
31222         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
31223         AIX 7.
31224         Reported by Rainer Tammer.
31225
31226 2010-07-30  Bruno Haible  <bruno@clisp.org>
31227
31228         getopt: Update regarding AIX.
31229         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
31230         no on AIX.
31231         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
31232         Reported by Rainer Tammer.
31233
31234 2010-07-30  Bruno Haible  <bruno@clisp.org>
31235
31236         ldexpl; Update regarding AIX.
31237         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
31238         on AIX 7.
31239         Reported by Rainer Tammer.
31240
31241 2010-07-30  Bruno Haible  <bruno@clisp.org>
31242
31243         frexpl: Update regarding AIX.
31244         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
31245         on AIX 7.
31246         Reported by Rainer Tammer.
31247
31248 2010-07-30  Bruno Haible  <bruno@clisp.org>
31249
31250         open, fopen: Update regarding AIX.
31251         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
31252         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
31253         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
31254         * doc/posix-functions/fopen.texi: Likewise.
31255         Reported by Rainer Tammer.
31256
31257 2010-07-30  Bruno Haible  <bruno@clisp.org>
31258
31259         chown: Update doc regarding AIX.
31260         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
31261         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
31262         Reported by Rainer Tammer.
31263
31264 2010-07-30  Eric Blake  <eblake@redhat.com>
31265
31266         strtod: fix bug in replacement function on AIX
31267         * lib/strtod.c (strtod): Special case broken "0x" parse in
31268         underlying strtod.
31269         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
31270         * doc/posix-functions/strtod.texi (strtod): Likewise.
31271         Reported by Rainer Tammer.
31272
31273 2010-07-30  Bruno Haible  <bruno@clisp.org>
31274
31275         mbrlen: Fix cross-compilation guess for AIX.
31276         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
31277         guess. Leftover from 2008-12-22.
31278
31279 2010-07-30  Bruno Haible  <bruno@clisp.org>
31280
31281         mbrtowc: Fix cross-compilation guess for AIX.
31282         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
31283         guess. Leftover from 2008-12-21.
31284
31285 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
31286
31287         init.sh: work around trap limitation of some shells
31288         * tests/init.sh (setup_): Move exit trap outside of shell function.
31289
31290 2010-07-29  Eric Blake  <eblake@redhat.com>
31291
31292         strtod: aid debugging
31293         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
31294         understanding why strtod is rejected.
31295
31296 2010-07-28  Bruno Haible  <bruno@clisp.org>
31297
31298         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
31299         * lib/unistr/u8-chr.c: Include <string.h>.
31300         * tests/unistr/test-u8-chr.c: Likewise.
31301         * tests/unistr/test-u16-chr.c: Likewise.
31302         * tests/unistr/test-u32-chr.c: Likewise.
31303         * tests/unistr/test-u8-strchr.c: Likewise.
31304         * tests/unistr/test-u16-strchr.c: Likewise.
31305         * tests/unistr/test-u32-strchr.c: Likewise.
31306         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
31307         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
31308         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
31309         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
31310
31311 2010-07-28  Bruno Haible  <bruno@clisp.org>
31312
31313         Use spaces for indentation, not tabs.
31314         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31315
31316 2010-07-27  Bruno Haible  <bruno@clisp.org>
31317
31318         mbspcasecmp: Fix function specification.
31319         * lib/string.in.h (mbspcasecmp): Fix specification comment.
31320         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
31321         Reported by Eric Blake <eblake@redhat.com>.
31322
31323 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
31324
31325         timespec: use cast and not conditional, as truncation isn't possible
31326         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
31327         instead of a conditional.  Comment about the situation in more detail.
31328         This undoes most of the 2009-10-29 patch.
31329
31330 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
31331
31332         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
31333         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
31334         * lib/unistr/u8-strchr.c: Likewise.
31335         * modules/unistr/u8-chr: Depend on memchr.
31336
31337         unistr/u*-strchr: add tests
31338         * modules/unistr/u8-strchr-tests: New file.
31339         * modules/unistr/u16-strchr-tests: New file.
31340         * modules/unistr/u32-strchr-tests: New file.
31341         * tests/unistr/test-strchr.h: New file.
31342         * tests/unistr/test-u8-strchr.c: New file.
31343         * tests/unistr/test-u16-strchr.c: New file.
31344         * tests/unistr/test-u32-strchr.c: New file.
31345
31346         unistr/u*-chr: test multibyte sequences more
31347         * tests/unistr/test-chr.h: Do complete testing of the characters in the
31348         test vector.
31349         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
31350         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
31351         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
31352
31353         unistr/u*-chr: test multibyte sequences
31354         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
31355
31356         unistr/u*-chr: prepare for multibyte tests
31357         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
31358         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
31359         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
31360         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
31361         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
31362         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
31363
31364 2010-07-18  Bruno Haible  <bruno@clisp.org>
31365
31366         unistr/u8-strchr: Optimize non-ASCII argument case.
31367         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
31368         because the first byte often matches anyway.
31369         Reported by Pádraig Brady <P@draigbrady.com>.
31370
31371 2010-07-15  Karl Berry  <karl@gnu.org>
31372
31373         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
31374
31375 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
31376
31377         getcwd: on Solaris, work better if ancestors are inaccessible
31378         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
31379         buffer and size, try again with a large buffer.  This works better
31380         on Solaris, since its getcwd succeeds even if the path to the root
31381         is inaccessible, and this is helpful in common cases such as .zfs
31382         hidden directories.  Problem reported by J Chapman Flack in
31383         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
31384         Use system getcwd if it's declared, not merely if it's partly
31385         working; use the partly-working test only to avoid needless effort
31386         if the system getcwd fails.
31387         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
31388         comment that was already obsolete and is now even more obsolete.
31389         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
31390         now might call strdup.
31391
31392 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
31393
31394         pthread: Add enough so that coreutils/src/sort.c compiles.
31395         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
31396         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
31397         gnulib. Include <sched.h> and <time.h>, as per POSIX.
31398         Include <sys/types.h>, in case it defines pthread_t.
31399         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
31400         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
31401         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
31402         (pthread_rwlockattr_t, pthread_spinlock_t):
31403         New typedefs, if HAVE_PTHREAD_T is not defined.
31404         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
31405         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
31406         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
31407         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
31408         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
31409         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
31410         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
31411         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
31412         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
31413         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
31414         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
31415         New macros.
31416         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
31417         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
31418         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
31419         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
31420         (pthread_spin_unlock): New dummy functions.
31421         (pthread_create): Return EAGAIN; don't set errno.
31422         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
31423         require AC_C_INLINE.
31424         * modules/pthread (Depends-on): Add sched, time.
31425         (pthread.h): Use AM_V_GEN.
31426
31427 2010-07-13  Bruno Haible  <bruno@clisp.org>
31428
31429         striconveh: Don't malloc memory if the result buffer is sufficient.
31430         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
31431         buffer if its size is sufficient.
31432         Reported by Ludovic Courtès <ludo@gnu.org>.
31433
31434 2010-07-13  Bruno Haible  <bruno@clisp.org>
31435
31436         strtod: Add safety check.
31437         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
31438
31439 2010-07-12  Bruno Haible  <bruno@clisp.org>
31440
31441         Unify tests that set gl_cv_func_ldexpl_no_libm.
31442         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
31443         gl_FUNC_LDEXPL.
31444         (gl_FUNC_LDEXPL): Invoke it.
31445         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31446
31447 2010-07-12  Bruno Haible  <bruno@clisp.org>
31448
31449         Unify tests that set gl_cv_func_ldexp_no_libm.
31450         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
31451         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
31452         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
31453         (configure.ac): Simply invoke gl_FUNC_LDEXP.
31454         * modules/strtod (Files): Add m4/ldexp.m4.
31455
31456 2010-07-12  Bruno Haible  <bruno@clisp.org>
31457
31458         Unify tests that set gl_cv_func_frexpl_no_libm.
31459         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
31460         gl_FUNC_FREXPL_NO_LIBM.
31461         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
31462         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31463
31464 2010-07-12  Bruno Haible  <bruno@clisp.org>
31465
31466         Unify tests that set gl_cv_func_frexp_no_libm.
31467         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
31468         gl_FUNC_FREXP_NO_LIBM.
31469         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
31470         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31471
31472 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31473
31474         memcoll: clarify sizes versus lengths, document better, and tweak perf
31475         * lib/memcoll.c (strcoll_loop, memcoll0):
31476         Improve quality of descriptive comments.  Name variables
31477         consistently as to whether they are lengths (which do not include
31478         terminating null) versus sizes (which do).
31479         * lib/xmemcoll.c (xmemcoll0): Likewise.
31480         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
31481         returned when s1size == 0; this is easier to compile and saves
31482         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
31483
31484 2010-07-12  Bruno Haible  <bruno@clisp.org>
31485
31486         Tests for module '_Exit'.
31487         * modules/_Exit-tests: New file.
31488         * tests/test-_Exit.sh: New file.
31489         * tests/test-_Exit.c: New file.
31490
31491         New module '_Exit'.
31492         * lib/stdlib.in.h (__attribute__): New macro.
31493         (_Exit): New declaration.
31494         * lib/_Exit.c: New file.
31495         * m4/_Exit.m4: New file.
31496         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
31497         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
31498         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
31499         * modules/_Exit: New file.
31500         * tests/test-stdlib-c++.cc (_Exit): Check signature.
31501         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
31502
31503 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31504
31505         strtod: make it more-accurate typically, and don't require libm
31506         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
31507         Include limits.h.  Don't include string.h.
31508         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
31509         (locale_isspace): New function, so that no casts are needed to
31510         check whether *s is a space.
31511         (ldexp): Provide an unused dummy if not available.
31512         (scale_radix_exp, parse_number, underlying_strtod): New functions.
31513         (strtod): Use them.  This implementation prefers to use the
31514         underlying strtod if available, falling back on our own code
31515         only to fix known bugs.  This is more likely to produce an
31516         accurate result.  Also, it avoids the use of libm functions.
31517         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
31518         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
31519         was absent, but it caused a test failure with coreutils.
31520         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
31521         with libm.
31522         * modules/strtod (Makefile.am, Link): libm is no longer needed.
31523         * modules/strtod-tests (Makefile.am): Likewise.
31524
31525 2010-07-11  Pádraig Brady  <P@draigBrady.com>
31526             Bruno Haible  <bruno@clisp.org>
31527
31528         unistr/u8-strchr: Optimize ASCII argument case.
31529         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
31530
31531 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
31532
31533         (x)memcoll: minor tweaks
31534         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
31535         is after the type that it qualifies.
31536         (memcoll0): Likewise.
31537         * lib/memcoll.h (memcoll0): Likewise.
31538         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
31539         * lib/xmemcoll.h (xmemcoll0): Likewise.
31540         * lib/memcoll.c (memcoll0): Correct the comment.  This function
31541         differs from memcoll in that the NUL byte is part of the argument.
31542         Omit the abort-checks, as performance is a real issue here.  Plus,
31543         the checks were wrong anyway (an off-by-one error).  Omit local
31544         variable 'diff', as it's a bit clearer that way.
31545         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
31546         no longer needed.
31547
31548 2010-07-08  Chen Guo <chenguo4@yahoo.com>
31549
31550         (x)memcoll: speedup when input is known to be NUL delimited
31551         * lib/memcoll.c: Include stdlib.
31552         (memcoll0): New function.
31553         (strcoll_loop): New function, refactored for use in both memcoll
31554         and memcoll0.
31555         * lib/memcoll.h (memcoll0): Add prototype.
31556         * lib/xmemcoll.c (xmemcoll0): New function.
31557         (collate_error): New function, refactored for use in both xmemcoll
31558         and xmemcoll0.
31559         * lib/xmemcoll.h (xmemcoll0): Add prototype.
31560         * m4/memcoll.m4: add inline invocation.
31561
31562 2010-07-06  Pádraig Brady  <P@draigBrady.com>
31563
31564         * build-aux/bootstrap: Remove any local translations
31565         from the translation project synchronization directory,
31566         so that local only translations are not distributed.
31567
31568 2010-07-04  Bruno Haible  <bruno@clisp.org>
31569
31570         fsusage: Clarify which code applies to which platforms.
31571         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
31572         platform.
31573         * lib/fsusage.c (get_fs_usage): Likewise.
31574
31575 2010-07-04  Bruno Haible  <bruno@clisp.org>
31576
31577         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
31578         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
31579         Reported by Martin Lambers <marlam@marlam.de>.
31580
31581 2010-07-04  Jim Meyering  <meyering@redhat.com>
31582
31583         hash: once again explicitly disallow insertion of NULL
31584         * lib/hash.c (hash_insert0): Reinstate just-removed test:
31585         inserting a NULL pointer cannot work with these functions.
31586         Add a comment with details.
31587         This reverts part of the 2010-07-01 commit, 5bef1a35
31588         "hash: extend module to deal with non-pointer keys".
31589
31590 2010-07-01  Bruno Haible  <bruno@clisp.org>
31591
31592         stdbool: Update doc.
31593         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
31594         Info from Christian Weisgerber <naddy@mips.inka.de>.
31595
31596 2010-07-01  Jim Meyering  <meyering@redhat.com>
31597
31598         hash: extend module to deal with non-pointer keys
31599         * lib/hash.c (hash_insert0): New interface, much like hash_insert
31600         but that allows insertion of non-pointer entries.
31601         Do not disallow an ENTRY value of NULL.
31602         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
31603         * lib/hash.h (hash_insert0): Declare.
31604
31605 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
31606
31607         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
31608         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
31609         not present (i.e. with autoconf 2.59 and when using gettextize, not
31610         gnulib), require AC_GNU_SOURCE instead.
31611
31612 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
31613
31614         idpriv-drop: Fix tests.
31615         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
31616         not to the test-idpriv-droptemp program.
31617
31618 2010-06-29  Bruno Haible  <bruno@clisp.org>
31619
31620         string: Fix syntax error with g++ 2.96.
31621         * lib/string.in.h (__pure__): Remove definition.
31622         (_GL_ATTRIBUTE_PURE): New macro.
31623         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
31624         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
31625         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31626
31627 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
31628
31629         unitypes: Fix bug introduced on 2010-05-18.
31630         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
31631
31632 2010-06-22  Eric Blake  <eblake@redhat.com>
31633
31634         memmem: slight optimization
31635         * lib/str-two-way.h (critical_factorization): Update comments.
31636         Reduce work during factorization phase.
31637         Reported by Carlos Bueno <carlos@bueno.org>.
31638
31639 2010-06-21  Bruno Haible  <bruno@clisp.org>
31640
31641         Fix HAVE_CALLOC_POSIX misnomer.
31642         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
31643         !HAVE_CALLOC_POSIX.
31644         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
31645         HAVE_CALLOC_POSIX.
31646         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
31647         instead of HAVE_CALLOC_POSIX.
31648         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
31649         HAVE_CALLOC_POSIX.
31650
31651         Use modern idiom for calloc() replacement.
31652         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
31653         AC_FUNC_CALLOC.
31654         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
31655         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
31656         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31657         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
31658         (gl_REPLACE_CALLOC): New macro.
31659
31660 2010-06-21  Bruno Haible  <bruno@clisp.org>
31661
31662         Fix HAVE_REALLOC_POSIX misnomer.
31663         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
31664         !HAVE_REALLOC_POSIX.
31665         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
31666         HAVE_REALLOC_POSIX.
31667         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
31668         instead of HAVE_REALLOC_POSIX.
31669         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
31670         HAVE_REALLOC_POSIX.
31671
31672         Use modern idiom for realloc() replacement.
31673         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
31674         AC_FUNC_REALLOC.
31675         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
31676         Autoconf's AC_FUNC_REALLOC.
31677         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31678         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
31679         (gl_REPLACE_REALLOC): New macro.
31680         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31681
31682 2010-06-21  Bruno Haible  <bruno@clisp.org>
31683
31684         Fix HAVE_MALLOC_POSIX misnomer.
31685         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
31686         !HAVE_MALLOC_POSIX.
31687         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
31688         HAVE_MALLOC_POSIX.
31689         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
31690         instead of HAVE_MALLOC_POSIX.
31691         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
31692         HAVE_MALLOC_POSIX.
31693
31694         Use modern idiom for malloc() replacement.
31695         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
31696         AC_FUNC_MALLOC.
31697         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
31698         Autoconf's AC_FUNC_MALLOC.
31699         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31700         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
31701         (gl_REPLACE_MALLOC): New macro.
31702         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31703
31704 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
31705
31706         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
31707         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
31708         This macro takes 3 arguments, not 4.
31709
31710 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
31711
31712         ipv6: fix detection under mingw
31713         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
31714         in6_addr.
31715
31716 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
31717
31718         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
31719         that strtod() works when cross-compiling to a glibc version known
31720         to work.
31721
31722 2010-06-15  Bruno Haible  <bruno@clisp.org>
31723
31724         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
31725
31726 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
31727
31728         select: Correct timeout.
31729         * lib/select.c (rpl_select): Compute wait_timeout correctly.
31730
31731 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
31732
31733         git-version-gen: init shell var to avoid env var influence
31734         * build-aux/git-version-gen (v): Init shell var to empty.
31735
31736 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
31737
31738         priv-set: Don't assume that priv.h exists merely because getppriv does.
31739         See Jan Andersen's bug report about AIX 5L in
31740         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
31741         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
31742         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
31743         * lib/priv-set.h: Likewise.
31744         * tests/test-priv-set.c: Likewise.
31745
31746 2010-06-13  Bruno Haible  <bruno@clisp.org>
31747
31748         relocatable: Make it easier to test whether to install wrappers.
31749         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
31750         RELOCATABLE_VIA_WRAPPER.
31751
31752 2010-06-13  Bruno Haible  <bruno@clisp.org>
31753
31754         gnulib-tool: Display specified modules and dependencies differently.
31755         * gnulib-tool (func_show_module_list): New function.
31756         (func_import, func_create_testdir): Invoke it.
31757         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
31758
31759 2010-06-13  Bruno Haible  <bruno@clisp.org>
31760
31761         gnulib-tool: Align code of func_import and func_create_testdir.
31762         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
31763         specified_modules.
31764
31765 2010-06-12  Jim Meyering  <meyering@redhat.com>
31766
31767         test-inttostr: avoid spurious failure on Solaris 9
31768         * tests/test-inttostr.c (main): Skip the test when snprintf fails
31769         to accept "%ju".  Reported by Bruno Haible.
31770
31771 2010-06-11  Jim Meyering  <meyering@redhat.com>
31772
31773         test-sys_socket: mark variables as used more readably
31774         * tests/test-sys_socket.c (main): Mark otherwise unused variables
31775         as "used" explicitly via (void) statement casts.  This is more
31776         readable than using them in an artificial return expression.
31777         Suggestion from Bruno Haible.
31778
31779 2010-06-11  Bruno Haible  <bruno@clisp.org>
31780
31781         Avoid some more warnings from "gcc -Wwrite-strings".
31782         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
31783         to 'const char *'.
31784         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
31785         * tests/test-c-strcasestr.c (main): Likewise.
31786         * tests/test-mbscasestr1.c (main): Likewise.
31787         * tests/test-mbscasestr2.c (main): Likewise.
31788         * tests/test-memmem.c (main): Likewise.
31789         * tests/test-strstr.c (main): Likewise.
31790         * tests/test-strcasestr.c (main): Likewise.
31791
31792 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31793
31794         init.sh: change framework_failure_ to fail with status 99, not 1
31795         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
31796         automake's parallel-tests rule that this is an unexpected failure,
31797         even if the test is listed in XFAIL_TESTS.
31798
31799 2010-06-11  Jim Meyering  <meyering@redhat.com>
31800
31801         test-inttostr: avoid warnings about 4-6KB literal strings
31802         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
31803         Include "macros.h", for its definition of ASSERT.
31804         (CK): s/assert/ASSERT/
31805         * modules/inttostr-tests (Files): Add macros.h.
31806
31807         init.sh: don't use $ME_ or skip_ before they are defined
31808         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
31809         their first uses.  Also hoist their companions: warn_, fail_,
31810         framework_failure_, $stderr_fileno.  Prompted by a patch from
31811         Stefano Lattarini.
31812
31813         test-sys_socket: avoid set-but-not-used warnings from gcc
31814         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
31815         avoid warning about set-but-not-used variables.
31816
31817         test-xvasprintf: avoid 'const' discard warnings
31818         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
31819         "const" when assigning from literal strings.
31820         (test_xasprintf): Add "void" in function argument list to placate
31821         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
31822
31823         tests: avoid compilation warnings in argmatch and exclude tests...
31824         in packages that define ARGMATCH_DIE_DECL, like coreutils.
31825         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
31826         Since it always exits, declare with the "noreturn" attribute.
31827         * tests/test-argmatch.c: Likewise.
31828
31829         tests: avoid 'const' discard warnings in mbsstr tests
31830         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
31831         * tests/test-mbsstr2.c (main): Likewise.
31832
31833         test-verify: avoid warning from gcc's -Wmissing-declarations
31834         * tests/test-verify.c (function): Declare to be static.
31835
31836         test-inttostr.c: include <string.h> for use of strcmp
31837         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
31838
31839         test-linkat: avoid failed assertion on "other" architectures
31840         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
31841         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
31842         sparc: https://bugs.launchpad.net/bugs/591968
31843
31844 2010-06-11  Jim Meyering  <meyering@redhat.com>
31845
31846         printf.m4: avoid autoconf's "Expanded Before Required" warning
31847         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
31848         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
31849         autoconf warning.
31850
31851 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
31852
31853         Replacement header templates are now named with ".in", not "_".
31854         * doc/gnulib-intro.texi: Correct.
31855
31856 2010-06-10  Jim Meyering  <meyering@redhat.com>
31857
31858         inttostr-tests: depend on snprintf, not snprintf-posix
31859         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
31860         snprintf-posix, to avoid this aclocal failure:
31861           missing file gnulib-tests/vasnprintf.c
31862           configure.ac:45: error: expected source file, required through \
31863           AC_LIBSOURCES, not found
31864
31865 2010-06-10  Jim Meyering  <meyering@redhat.com>
31866
31867         inttostr: add a new function, inttostr, and tests
31868         The namesake function was not available.  The existence of the
31869         template file, inttostr.c makes its addition nontrivial.
31870         * lib/anytostr.c: Rename from inttostr.c.
31871         (anytostr): Rename from inttostr.
31872         * lib/inttostr.c: New file.
31873         * modules/inttostr (Files): Add anytostr.c.
31874         (Makefile.am): Set lib_SOURCES instead of ...
31875         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
31876         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
31877         * lib/offtostr.c: Likewise.
31878         * lib/uinttostr.c: Likewise.
31879         * lib/umaxtostr.c: Likewise.
31880         * modules/inttostr-tests: New file.
31881         * tests/test-inttostr.c: New file.  Test these functions.
31882
31883 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
31884             Bruno Haible  <bruno@clisp.org>
31885
31886         Add "Extending Gnulib" chapter to manual.
31887         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
31888         chapter.
31889         (Extending Gnulib): New chapter.
31890         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
31891         chapter.
31892
31893 2010-06-09  Bruno Haible  <bruno@clisp.org>
31894
31895         Avoid relocwrapper link errors due to gnulib replacement functions.
31896         * lib/areadlink.c: Use the system's malloc, realloc functions.
31897         (areadlink): Set errno to ENOMEM explicitly.
31898         * modules/areadlink (Depends-on): Remove malloc-posix.
31899         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31900
31901 2010-06-09  Bruno Haible  <bruno@clisp.org>
31902
31903         Avoid relocwrapper link errors due to gnulib replacement functions.
31904         * lib/canonicalize-lgpl.c: Use the system's malloc function.
31905         * lib/malloca.c: Likewise.
31906         * lib/relocatable.c: Likewise.
31907         * lib/progreloc.c: Use the system's malloc, sprintf functions.
31908         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
31909         * lib/setenv.c: Use the system's malloc, realloc functions.
31910         * lib/strerror.c: Use the system's sprintf function.
31911         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31912
31913 2010-06-04  Bruno Haible  <bruno@clisp.org>
31914
31915         Prefer documented low-level autoconf macro names.
31916         * m4/lib-link.m4: Use m4_translit instead of translit.
31917         * m4/environ.m4: Likewise.
31918         * m4/mathfunc.m4: Likewise.
31919         * m4/onceonly.m4: Likewise.
31920         * m4/stdint.m4: Likewise.
31921         Suggested by Eric Blake.
31922
31923 2010-06-04  Martin Lambers  <marlam@marlam.de>
31924             Bruno Haible  <bruno@clisp.org>
31925
31926         havelib: Allow library names with '+' characters.
31927         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
31928         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
31929
31930 2010-06-09  Bruno Haible  <bruno@clisp.org>
31931
31932         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
31933         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
31934         realloc failed.
31935
31936 2010-06-08  Peter Simons  <simons@cryp.to>
31937
31938         maint.mk: make the news-check rule more configurable
31939         * top/maint.mk (news-check-lines-spec): New variable.
31940         (news-check): Use "sed -n 1,10p" in place of "head".
31941
31942 2010-06-07  Jim Meyering  <meyering@redhat.com>
31943
31944         do-release-commit-and-tag: fix typo in --help
31945         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
31946
31947         regex: avoid new dead-code warning with gcc-4.6.0
31948         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
31949         if-block containing a while-loop.  It's been unused for at least
31950         5 years.
31951
31952 2010-06-05  Bruno Haible  <bruno@clisp.org>
31953
31954         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
31955         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
31956
31957 2010-06-04  Bruno Haible  <bruno@clisp.org>
31958
31959         Update to GNU gettext 0.18.1.
31960         * modules/gettext (configure.ac): Require gettext infrastructure from
31961         version 0.18.1.
31962
31963 2010-06-03  Bruno Haible  <bruno@clisp.org>
31964
31965         Don't use AC_LIBOBJ with file names in subdirectories.
31966         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
31967         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
31968         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
31969         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
31970         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
31971         gl_LIBUNISTRING_LIBSOURCE.
31972         (Makefile.am): Augment lib_SOURCES here, conditionally.
31973         * NEWS: Drop requirement for Automake option 'subdir-objects'.
31974
31975 2010-06-03  Bruno Haible  <bruno@clisp.org>
31976
31977         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
31978         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
31979         expansion does not end with a newline.
31980         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
31981         unnecessary newline.
31982
31983 2010-06-03  Bruno Haible  <bruno@clisp.org>
31984
31985         Reduce dependencies.
31986         * tests/test-quotearg.h: New file, extracted from
31987         tests/test-quotearg.c.
31988         * tests/test-quotearg-simple.c: New file, extracted from
31989         tests/test-quotearg.c.
31990         * tests/test-quotearg.c: Don't include <ctype.h>.
31991         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
31992         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
31993         use_quote_double_quotes, use_quotearg_colon): Moved to
31994         tests/test-quotearg.h.
31995         (results_g, flag_results, custom_quotes, custom_results): Moved
31996         to tests/test-quotearg-simple.c.
31997         (main): Moved the part that does not depend on gettext to
31998         tests/test-quotearg-simple.c. Return 77 if the test cannot be
31999         performed.
32000         * modules/quotearg-simple: New file.
32001         * modules/quotearg-simple-tests: New file.
32002         * modules/quotearg (Depends-on): Add quotearg-simple.
32003         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
32004         (Files): Add tests/test-quotearg.h.
32005         Reported by Paolo Bonzini.
32006
32007 2010-06-03  Bruno Haible  <bruno@clisp.org>
32008
32009         Reduce dependencies.
32010         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
32011
32012 2010-06-03  Bruno Haible  <bruno@clisp.org>
32013
32014         time: Undefine more broken macros.
32015         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
32016         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
32017         Reported by Eric Blake.
32018
32019 2010-06-03  Bruno Haible  <bruno@clisp.org>
32020
32021         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
32022         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
32023         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
32024         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
32025         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
32026         Reported by Ludovic Courtès <ludo@gnu.org>.
32027
32028 2010-06-02  Eric Blake  <eblake@redhat.com>
32029
32030         time: work with mingw + pthreads-win32 library
32031         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
32032         if timespec is defined only in pthread.h.
32033         * modules/time (Makefile.am): Substitute it.
32034         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
32035         <pthread.h>, when needed.
32036         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
32037         from the library.
32038
32039 2010-05-31  Bruno Haible  <bruno@clisp.org>
32040
32041         Avoid expanding two macros in the wrong order.
32042         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
32043         gl_LIBUNISTRING if it is defined.
32044         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
32045         autoconf >= 2.64.
32046         Reported by Ludovic Courtès <ludo@gnu.org>.
32047
32048 2010-05-27  Jim Meyering  <meyering@redhat.com>
32049
32050         maint.mk: also prohibit "#undef" of always-defined symbols
32051         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
32052         Allow more than one space before the symbol name.
32053         (sc_prohibit_always-defined_macros): Use grep's -E, now that
32054         the regexp uses alternation.
32055
32056 2010-05-26  Eric Blake  <eblake@redhat.com>
32057
32058         maint.mk: avoid echo -e
32059         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
32060         Convert all uses of echo -* to printf.
32061         Reported by Matthias Bolte.
32062
32063 2010-05-25  Bruno Haible  <bruno@clisp.org>
32064
32065         Update to GNU gettext 0.18, part 2.
32066         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
32067         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
32068
32069 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32070
32071         Add missing include in test-pwrite.c.
32072         * tests/test-pwrite.c: Include string.h, for strcmp.
32073
32074 2010-05-24  Bruno Haible  <bruno@clisp.org>
32075
32076         * NEWS: Mention requirement for Automake option 'subdir-objects'.
32077
32078 2010-05-24  Bruno Haible  <bruno@clisp.org>
32079
32080         Don't use conversion with transliteration in u{8,16,32}_strcoll.
32081         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
32082         iconveh_error argument.
32083         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
32084         U_STRCONV_TO_LOCALE.
32085         * lib/unistr/u16-strcoll.c: Likewise.
32086         * lib/unistr/u32-strcoll.c: Likewise.
32087         * modules/unistr/u8-strcoll (Depends-on): Add
32088         uniconv/u8-strconv-to-enc, localcharset. Remove
32089         uniconv/u8-strconv-to-locale.
32090         (configure.ac): Bump version number.
32091         * modules/unistr/u16-strcoll (Depends-on): Add
32092         uniconv/u16-strconv-to-enc, localcharset. Remove
32093         uniconv/u16-strconv-to-locale.
32094         (configure.ac): Bump version number.
32095         * modules/unistr/u32-strcoll (Depends-on): Add
32096         uniconv/u32-strconv-to-enc, localcharset. Remove
32097         uniconv/u32-strconv-to-locale.
32098         (configure.ac): Bump version number.
32099
32100 2010-05-24  Bruno Haible  <bruno@clisp.org>
32101
32102         Avoid a test failure on NetBSD 5.0.
32103         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
32104         an iconv() bug.
32105
32106 2010-05-24  Bruno Haible  <bruno@clisp.org>
32107
32108         Adjust #include directive style.
32109         * modules/regex (Includes): Recommend to write <regex.h>.
32110
32111 2010-05-24  Bruno Haible  <bruno@clisp.org>
32112
32113         regex: Don't require alloca.
32114         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
32115         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
32116         only inside if (0).
32117
32118 2010-05-23  Jim Meyering  <meyering@redhat.com>
32119
32120         test-renameat.c: include <sys/stat.h>
32121         * tests/test-renameat.c: Include <sys/stat.h>; required for
32122         definition of S_IS* macros.
32123
32124 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
32125
32126         Update maintainer documentation for 'relocatable-prog' module.
32127         * doc/relocatable-maint.texi: Update.
32128         Comments by Bruno Haible.
32129
32130 2010-05-23  Bruno Haible  <bruno@clisp.org>
32131
32132         git-merge-changelog: Enable --split-merged-entry by default.
32133         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
32134         (usage): Don't mention this option any more.
32135         Reported by Ralf Wildenhues.
32136
32137 2010-05-23  Jim Meyering  <meyering@redhat.com>
32138
32139         test-pwrite: do not leave behind a test file named "out"
32140         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
32141         The trivial-looking use of init.sh is really necessary.
32142         It ensures that the temporary file, "out", is created in
32143         a temporary directory, and removed upon termination.
32144         * tests/test-pwrite.sh: Re-add file.
32145         * modules/pwrite-tests: Reference it.
32146
32147 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32148
32149         Fix output redirection buglet in init.sh.
32150         * tests/init.sh: Fix redirection of stderr.
32151
32152 2010-05-20  Simon Josefsson  <simon@josefsson.org>
32153
32154         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
32155
32156 2010-05-17  Simon Josefsson  <simon@josefsson.org>
32157
32158         * modules/valgrind-tests: New file.
32159         * m4/valgrind-tests.m4: New file.
32160         * doc/valgrind-tests.texi: New file.
32161         * doc/gnulib.texi (Running self-tests under valgrind): New
32162         section.
32163
32164 2010-05-19  Bruno Haible  <bruno@clisp.org>
32165
32166         Clean up dead code in recent commit.
32167         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
32168         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
32169         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
32170         Suggested by Paolo Bonzini.
32171
32172 2010-05-19  Bruno Haible  <bruno@clisp.org>
32173
32174         Avoid valgrind error reports from libunistring.
32175         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
32176         * modules/libunistring (Files): Add it.
32177         * modules/libunistring-optional (Files): Likewise.
32178
32179 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
32180             Bruno Haible  <bruno@clisp.org>
32181
32182         New module 'libunistring-optional'.
32183         * modules/libunistring-optional: New file.
32184         * m4/libunistring-base.m4: New file.
32185         * m4/libunistring-optional.m4: New file.
32186         * lib/unicase.in.h: Renamed from lib/unicase.h.
32187         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
32188         * lib/unictype.in.h: Renamed from lib/unictype.h.
32189         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
32190         * lib/uniname.in.h: Renamed from lib/uniname.h.
32191         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
32192         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
32193         * lib/unistr.in.h: Renamed from lib/unistr.h.
32194         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
32195         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
32196         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
32197         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
32198         gl_LIBUNISTRING. If the library was found, determine the installed
32199         version and set LIBUNISTRING_VERSION.
32200         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
32201         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
32202         handle a configuration option --with-included-libunistring.
32203         * modules/libunistring (Files): Add m4/absolute-header.m4.
32204         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
32205         Add m4/libunistring-base.m4.
32206         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32207         (Makefile.am): Build unicase.h from unicase.in.h.
32208         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
32209         Add m4/libunistring-base.m4.
32210         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32211         (Makefile.am): Build uniconv.h from uniconv.in.h.
32212         * modules/unictype/base (Files): Use unictype.in.h instead of
32213         unictype.h. Add m4/libunistring-base.m4.
32214         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32215         (Makefile.am): Build unictype.h from unictype.in.h.
32216         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
32217         Add m4/libunistring-base.m4.
32218         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32219         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
32220         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
32221         Add m4/libunistring-base.m4.
32222         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32223         (Makefile.am): Build uniname.h from uniname.in.h.
32224         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
32225         Add m4/libunistring-base.m4.
32226         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32227         (Makefile.am): Build uninorm.h from uninorm.in.h.
32228         * modules/unistdio/base (Files): Use unistdio.in.h instead of
32229         unistdio.h. Add m4/libunistring-base.m4.
32230         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32231         (Makefile.am): Build unistdio.h from unistdio.in.h.
32232         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
32233         Add m4/libunistring-base.m4.
32234         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32235         (Makefile.am): Build unistr.h from unistr.in.h.
32236         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
32237         Add m4/libunistring-base.m4.
32238         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32239         (Makefile.am): Build unitypes.h from unitypes.in.h.
32240         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
32241         Add m4/libunistring-base.m4.
32242         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32243         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
32244         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
32245         uniwidth.h. Add m4/libunistring-base.m4.
32246         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32247         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
32248         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
32249         instead of augmenting lib_SOURCES.
32250         * modules/unicase/empty-suffix-context: Likewise.
32251         * modules/unicase/locale-language: Likewise.
32252         * modules/unicase/tolower: Likewise.
32253         * modules/unicase/totitle: Likewise.
32254         * modules/unicase/toupper: Likewise.
32255         * modules/unicase/u8-casecmp: Likewise.
32256         * modules/unicase/u8-casecoll: Likewise.
32257         * modules/unicase/u8-casefold: Likewise.
32258         * modules/unicase/u8-casexfrm: Likewise.
32259         * modules/unicase/u8-ct-casefold: Likewise.
32260         * modules/unicase/u8-ct-tolower: Likewise.
32261         * modules/unicase/u8-ct-totitle: Likewise.
32262         * modules/unicase/u8-ct-toupper: Likewise.
32263         * modules/unicase/u8-is-cased: Likewise.
32264         * modules/unicase/u8-is-casefolded: Likewise.
32265         * modules/unicase/u8-is-lowercase: Likewise.
32266         * modules/unicase/u8-is-titlecase: Likewise.
32267         * modules/unicase/u8-is-uppercase: Likewise.
32268         * modules/unicase/u8-prefix-context: Likewise.
32269         * modules/unicase/u8-suffix-context: Likewise.
32270         * modules/unicase/u8-tolower: Likewise.
32271         * modules/unicase/u8-totitle: Likewise.
32272         * modules/unicase/u8-toupper: Likewise.
32273         * modules/unicase/u16-casecmp: Likewise.
32274         * modules/unicase/u16-casecoll: Likewise.
32275         * modules/unicase/u16-casefold: Likewise.
32276         * modules/unicase/u16-casexfrm: Likewise.
32277         * modules/unicase/u16-ct-casefold: Likewise.
32278         * modules/unicase/u16-ct-tolower: Likewise.
32279         * modules/unicase/u16-ct-totitle: Likewise.
32280         * modules/unicase/u16-ct-toupper: Likewise.
32281         * modules/unicase/u16-is-cased: Likewise.
32282         * modules/unicase/u16-is-casefolded: Likewise.
32283         * modules/unicase/u16-is-lowercase: Likewise.
32284         * modules/unicase/u16-is-titlecase: Likewise.
32285         * modules/unicase/u16-is-uppercase: Likewise.
32286         * modules/unicase/u16-prefix-context: Likewise.
32287         * modules/unicase/u16-suffix-context: Likewise.
32288         * modules/unicase/u16-tolower: Likewise.
32289         * modules/unicase/u16-totitle: Likewise.
32290         * modules/unicase/u16-toupper: Likewise.
32291         * modules/unicase/u32-casecmp: Likewise.
32292         * modules/unicase/u32-casecoll: Likewise.
32293         * modules/unicase/u32-casefold: Likewise.
32294         * modules/unicase/u32-casexfrm: Likewise.
32295         * modules/unicase/u32-ct-casefold: Likewise.
32296         * modules/unicase/u32-ct-tolower: Likewise.
32297         * modules/unicase/u32-ct-totitle: Likewise.
32298         * modules/unicase/u32-ct-toupper: Likewise.
32299         * modules/unicase/u32-is-cased: Likewise.
32300         * modules/unicase/u32-is-casefolded: Likewise.
32301         * modules/unicase/u32-is-lowercase: Likewise.
32302         * modules/unicase/u32-is-titlecase: Likewise.
32303         * modules/unicase/u32-is-uppercase: Likewise.
32304         * modules/unicase/u32-prefix-context: Likewise.
32305         * modules/unicase/u32-suffix-context: Likewise.
32306         * modules/unicase/u32-tolower: Likewise.
32307         * modules/unicase/u32-totitle: Likewise.
32308         * modules/unicase/u32-toupper: Likewise.
32309         * modules/unicase/ulc-casecmp: Likewise.
32310         * modules/unicase/ulc-casecoll: Likewise.
32311         * modules/unicase/ulc-casexfrm: Likewise.
32312         * modules/uniconv/u8-conv-from-enc: Likewise.
32313         * modules/uniconv/u8-conv-to-enc: Likewise.
32314         * modules/uniconv/u8-strconv-from-enc: Likewise.
32315         * modules/uniconv/u8-strconv-from-locale: Likewise.
32316         * modules/uniconv/u8-strconv-to-enc: Likewise.
32317         * modules/uniconv/u8-strconv-to-locale: Likewise.
32318         * modules/uniconv/u16-conv-from-enc: Likewise.
32319         * modules/uniconv/u16-conv-to-enc: Likewise.
32320         * modules/uniconv/u16-strconv-from-enc: Likewise.
32321         * modules/uniconv/u16-strconv-from-locale: Likewise.
32322         * modules/uniconv/u16-strconv-to-enc: Likewise.
32323         * modules/uniconv/u16-strconv-to-locale: Likewise.
32324         * modules/uniconv/u32-conv-from-enc: Likewise.
32325         * modules/uniconv/u32-conv-to-enc: Likewise.
32326         * modules/uniconv/u32-strconv-from-enc: Likewise.
32327         * modules/uniconv/u32-strconv-from-locale: Likewise.
32328         * modules/uniconv/u32-strconv-to-enc: Likewise.
32329         * modules/uniconv/u32-strconv-to-locale: Likewise.
32330         * modules/unictype/bidicategory-byname: Likewise.
32331         * modules/unictype/bidicategory-name: Likewise.
32332         * modules/unictype/bidicategory-of: Likewise.
32333         * modules/unictype/bidicategory-test: Likewise.
32334         * modules/unictype/block-list: Likewise.
32335         * modules/unictype/block-test: Likewise.
32336         * modules/unictype/category-C: Likewise.
32337         * modules/unictype/category-Cc: Likewise.
32338         * modules/unictype/category-Cf: Likewise.
32339         * modules/unictype/category-Cn: Likewise.
32340         * modules/unictype/category-Co: Likewise.
32341         * modules/unictype/category-Cs: Likewise.
32342         * modules/unictype/category-L: Likewise.
32343         * modules/unictype/category-Ll: Likewise.
32344         * modules/unictype/category-Lm: Likewise.
32345         * modules/unictype/category-Lo: Likewise.
32346         * modules/unictype/category-Lt: Likewise.
32347         * modules/unictype/category-Lu: Likewise.
32348         * modules/unictype/category-M: Likewise.
32349         * modules/unictype/category-Mc: Likewise.
32350         * modules/unictype/category-Me: Likewise.
32351         * modules/unictype/category-Mn: Likewise.
32352         * modules/unictype/category-N: Likewise.
32353         * modules/unictype/category-Nd: Likewise.
32354         * modules/unictype/category-Nl: Likewise.
32355         * modules/unictype/category-No: Likewise.
32356         * modules/unictype/category-P: Likewise.
32357         * modules/unictype/category-Pc: Likewise.
32358         * modules/unictype/category-Pd: Likewise.
32359         * modules/unictype/category-Pe: Likewise.
32360         * modules/unictype/category-Pf: Likewise.
32361         * modules/unictype/category-Pi: Likewise.
32362         * modules/unictype/category-Po: Likewise.
32363         * modules/unictype/category-Ps: Likewise.
32364         * modules/unictype/category-S: Likewise.
32365         * modules/unictype/category-Sc: Likewise.
32366         * modules/unictype/category-Sk: Likewise.
32367         * modules/unictype/category-Sm: Likewise.
32368         * modules/unictype/category-So: Likewise.
32369         * modules/unictype/category-Z: Likewise.
32370         * modules/unictype/category-Zl: Likewise.
32371         * modules/unictype/category-Zp: Likewise.
32372         * modules/unictype/category-Zs: Likewise.
32373         * modules/unictype/category-and: Likewise.
32374         * modules/unictype/category-and-not: Likewise.
32375         * modules/unictype/category-byname: Likewise.
32376         * modules/unictype/category-name: Likewise.
32377         * modules/unictype/category-none: Likewise.
32378         * modules/unictype/category-of: Likewise.
32379         * modules/unictype/category-or: Likewise.
32380         * modules/unictype/category-test: Likewise.
32381         * modules/unictype/combining-class: Likewise.
32382         * modules/unictype/ctype-alnum: Likewise.
32383         * modules/unictype/ctype-alpha: Likewise.
32384         * modules/unictype/ctype-blank: Likewise.
32385         * modules/unictype/ctype-cntrl: Likewise.
32386         * modules/unictype/ctype-digit: Likewise.
32387         * modules/unictype/ctype-graph: Likewise.
32388         * modules/unictype/ctype-lower: Likewise.
32389         * modules/unictype/ctype-print: Likewise.
32390         * modules/unictype/ctype-punct: Likewise.
32391         * modules/unictype/ctype-space: Likewise.
32392         * modules/unictype/ctype-upper: Likewise.
32393         * modules/unictype/ctype-xdigit: Likewise.
32394         * modules/unictype/decimal-digit: Likewise.
32395         * modules/unictype/digit: Likewise.
32396         * modules/unictype/mirror: Likewise.
32397         * modules/unictype/numeric: Likewise.
32398         * modules/unictype/property-alphabetic: Likewise.
32399         * modules/unictype/property-ascii-hex-digit: Likewise.
32400         * modules/unictype/property-bidi-arabic-digit: Likewise.
32401         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
32402         * modules/unictype/property-bidi-block-separator: Likewise.
32403         * modules/unictype/property-bidi-boundary-neutral: Likewise.
32404         * modules/unictype/property-bidi-common-separator: Likewise.
32405         * modules/unictype/property-bidi-control: Likewise.
32406         * modules/unictype/property-bidi-embedding-or-override: Likewise.
32407         * modules/unictype/property-bidi-eur-num-separator: Likewise.
32408         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
32409         * modules/unictype/property-bidi-european-digit: Likewise.
32410         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
32411         * modules/unictype/property-bidi-left-to-right: Likewise.
32412         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
32413         * modules/unictype/property-bidi-other-neutral: Likewise.
32414         * modules/unictype/property-bidi-pdf: Likewise.
32415         * modules/unictype/property-bidi-segment-separator: Likewise.
32416         * modules/unictype/property-bidi-whitespace: Likewise.
32417         * modules/unictype/property-byname: Likewise.
32418         * modules/unictype/property-combining: Likewise.
32419         * modules/unictype/property-composite: Likewise.
32420         * modules/unictype/property-currency-symbol: Likewise.
32421         * modules/unictype/property-dash: Likewise.
32422         * modules/unictype/property-decimal-digit: Likewise.
32423         * modules/unictype/property-default-ignorable-code-point: Likewise.
32424         * modules/unictype/property-deprecated: Likewise.
32425         * modules/unictype/property-diacritic: Likewise.
32426         * modules/unictype/property-extender: Likewise.
32427         * modules/unictype/property-format-control: Likewise.
32428         * modules/unictype/property-grapheme-base: Likewise.
32429         * modules/unictype/property-grapheme-extend: Likewise.
32430         * modules/unictype/property-grapheme-link: Likewise.
32431         * modules/unictype/property-hex-digit: Likewise.
32432         * modules/unictype/property-hyphen: Likewise.
32433         * modules/unictype/property-id-continue: Likewise.
32434         * modules/unictype/property-id-start: Likewise.
32435         * modules/unictype/property-ideographic: Likewise.
32436         * modules/unictype/property-ids-binary-operator: Likewise.
32437         * modules/unictype/property-ids-trinary-operator: Likewise.
32438         * modules/unictype/property-ignorable-control: Likewise.
32439         * modules/unictype/property-iso-control: Likewise.
32440         * modules/unictype/property-join-control: Likewise.
32441         * modules/unictype/property-left-of-pair: Likewise.
32442         * modules/unictype/property-line-separator: Likewise.
32443         * modules/unictype/property-logical-order-exception: Likewise.
32444         * modules/unictype/property-lowercase: Likewise.
32445         * modules/unictype/property-math: Likewise.
32446         * modules/unictype/property-non-break: Likewise.
32447         * modules/unictype/property-not-a-character: Likewise.
32448         * modules/unictype/property-numeric: Likewise.
32449         * modules/unictype/property-other-alphabetic: Likewise.
32450         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
32451         * modules/unictype/property-other-grapheme-extend: Likewise.
32452         * modules/unictype/property-other-id-continue: Likewise.
32453         * modules/unictype/property-other-id-start: Likewise.
32454         * modules/unictype/property-other-lowercase: Likewise.
32455         * modules/unictype/property-other-math: Likewise.
32456         * modules/unictype/property-other-uppercase: Likewise.
32457         * modules/unictype/property-paired-punctuation: Likewise.
32458         * modules/unictype/property-paragraph-separator: Likewise.
32459         * modules/unictype/property-pattern-syntax: Likewise.
32460         * modules/unictype/property-pattern-white-space: Likewise.
32461         * modules/unictype/property-private-use: Likewise.
32462         * modules/unictype/property-punctuation: Likewise.
32463         * modules/unictype/property-quotation-mark: Likewise.
32464         * modules/unictype/property-radical: Likewise.
32465         * modules/unictype/property-sentence-terminal: Likewise.
32466         * modules/unictype/property-soft-dotted: Likewise.
32467         * modules/unictype/property-space: Likewise.
32468         * modules/unictype/property-terminal-punctuation: Likewise.
32469         * modules/unictype/property-test: Likewise.
32470         * modules/unictype/property-titlecase: Likewise.
32471         * modules/unictype/property-unassigned-code-value: Likewise.
32472         * modules/unictype/property-unified-ideograph: Likewise.
32473         * modules/unictype/property-uppercase: Likewise.
32474         * modules/unictype/property-variation-selector: Likewise.
32475         * modules/unictype/property-white-space: Likewise.
32476         * modules/unictype/property-xid-continue: Likewise.
32477         * modules/unictype/property-xid-start: Likewise.
32478         * modules/unictype/property-zero-width: Likewise.
32479         * modules/unictype/scripts: Likewise.
32480         * modules/unictype/syntax-c-ident: Likewise.
32481         * modules/unictype/syntax-c-whitespace: Likewise.
32482         * modules/unictype/syntax-java-ident: Likewise.
32483         * modules/unictype/syntax-java-whitespace: Likewise.
32484         * modules/unilbrk/u8-possible-linebreaks: Likewise.
32485         * modules/unilbrk/u8-width-linebreaks: Likewise.
32486         * modules/unilbrk/u16-possible-linebreaks: Likewise.
32487         * modules/unilbrk/u16-width-linebreaks: Likewise.
32488         * modules/unilbrk/u32-possible-linebreaks: Likewise.
32489         * modules/unilbrk/u32-width-linebreaks: Likewise.
32490         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
32491         * modules/unilbrk/ulc-width-linebreaks: Likewise.
32492         * modules/uniname/uniname: Likewise.
32493         * modules/uninorm/canonical-decomposition: Likewise.
32494         * modules/uninorm/composition: Likewise.
32495         * modules/uninorm/decomposing-form: Likewise.
32496         * modules/uninorm/decomposition: Likewise.
32497         * modules/uninorm/filter: Likewise.
32498         * modules/uninorm/nfc: Likewise.
32499         * modules/uninorm/nfd: Likewise.
32500         * modules/uninorm/nfkc: Likewise.
32501         * modules/uninorm/nfkd: Likewise.
32502         * modules/uninorm/u8-normalize: Likewise.
32503         * modules/uninorm/u8-normcmp: Likewise.
32504         * modules/uninorm/u8-normcoll: Likewise.
32505         * modules/uninorm/u8-normxfrm: Likewise.
32506         * modules/uninorm/u16-normalize: Likewise.
32507         * modules/uninorm/u16-normcmp: Likewise.
32508         * modules/uninorm/u16-normcoll: Likewise.
32509         * modules/uninorm/u16-normxfrm: Likewise.
32510         * modules/uninorm/u32-normalize: Likewise.
32511         * modules/uninorm/u32-normcmp: Likewise.
32512         * modules/uninorm/u32-normcoll: Likewise.
32513         * modules/uninorm/u32-normxfrm: Likewise.
32514         * modules/unistdio/u8-asnprintf: Likewise.
32515         * modules/unistdio/u8-asprintf: Likewise.
32516         * modules/unistdio/u8-snprintf: Likewise.
32517         * modules/unistdio/u8-sprintf: Likewise.
32518         * modules/unistdio/u8-u8-asnprintf: Likewise.
32519         * modules/unistdio/u8-u8-asprintf: Likewise.
32520         * modules/unistdio/u8-u8-snprintf: Likewise.
32521         * modules/unistdio/u8-u8-sprintf: Likewise.
32522         * modules/unistdio/u8-u8-vasnprintf: Likewise.
32523         * modules/unistdio/u8-u8-vasprintf: Likewise.
32524         * modules/unistdio/u8-u8-vsnprintf: Likewise.
32525         * modules/unistdio/u8-u8-vsprintf: Likewise.
32526         * modules/unistdio/u8-vasnprintf: Likewise.
32527         * modules/unistdio/u8-vasprintf: Likewise.
32528         * modules/unistdio/u8-vsnprintf: Likewise.
32529         * modules/unistdio/u8-vsprintf: Likewise.
32530         * modules/unistdio/u16-asnprintf: Likewise.
32531         * modules/unistdio/u16-asprintf: Likewise.
32532         * modules/unistdio/u16-snprintf: Likewise.
32533         * modules/unistdio/u16-sprintf: Likewise.
32534         * modules/unistdio/u16-u16-asnprintf: Likewise.
32535         * modules/unistdio/u16-u16-asprintf: Likewise.
32536         * modules/unistdio/u16-u16-snprintf: Likewise.
32537         * modules/unistdio/u16-u16-sprintf: Likewise.
32538         * modules/unistdio/u16-u16-vasnprintf: Likewise.
32539         * modules/unistdio/u16-u16-vasprintf: Likewise.
32540         * modules/unistdio/u16-u16-vsnprintf: Likewise.
32541         * modules/unistdio/u16-u16-vsprintf: Likewise.
32542         * modules/unistdio/u16-vasnprintf: Likewise.
32543         * modules/unistdio/u16-vasprintf: Likewise.
32544         * modules/unistdio/u16-vsnprintf: Likewise.
32545         * modules/unistdio/u16-vsprintf: Likewise.
32546         * modules/unistdio/u32-asnprintf: Likewise.
32547         * modules/unistdio/u32-asprintf: Likewise.
32548         * modules/unistdio/u32-snprintf: Likewise.
32549         * modules/unistdio/u32-sprintf: Likewise.
32550         * modules/unistdio/u32-u32-asnprintf: Likewise.
32551         * modules/unistdio/u32-u32-asprintf: Likewise.
32552         * modules/unistdio/u32-u32-snprintf: Likewise.
32553         * modules/unistdio/u32-u32-sprintf: Likewise.
32554         * modules/unistdio/u32-u32-vasnprintf: Likewise.
32555         * modules/unistdio/u32-u32-vasprintf: Likewise.
32556         * modules/unistdio/u32-u32-vsnprintf: Likewise.
32557         * modules/unistdio/u32-u32-vsprintf: Likewise.
32558         * modules/unistdio/u32-vasnprintf: Likewise.
32559         * modules/unistdio/u32-vasprintf: Likewise.
32560         * modules/unistdio/u32-vsnprintf: Likewise.
32561         * modules/unistdio/u32-vsprintf: Likewise.
32562         * modules/unistdio/ulc-asnprintf: Likewise.
32563         * modules/unistdio/ulc-asprintf: Likewise.
32564         * modules/unistdio/ulc-fprintf: Likewise.
32565         * modules/unistdio/ulc-snprintf: Likewise.
32566         * modules/unistdio/ulc-sprintf: Likewise.
32567         * modules/unistdio/ulc-vasnprintf: Likewise.
32568         * modules/unistdio/ulc-vasprintf: Likewise.
32569         * modules/unistdio/ulc-vfprintf: Likewise.
32570         * modules/unistdio/ulc-vsnprintf: Likewise.
32571         * modules/unistdio/ulc-vsprintf: Likewise.
32572         * modules/unistr/u8-check: Likewise.
32573         * modules/unistr/u8-chr: Likewise.
32574         * modules/unistr/u8-cmp: Likewise.
32575         * modules/unistr/u8-cmp2: Likewise.
32576         * modules/unistr/u8-cpy: Likewise.
32577         * modules/unistr/u8-cpy-alloc: Likewise.
32578         * modules/unistr/u8-endswith: Likewise.
32579         * modules/unistr/u8-mblen: Likewise.
32580         * modules/unistr/u8-mbsnlen: Likewise.
32581         * modules/unistr/u8-mbtouc: Likewise.
32582         * modules/unistr/u8-mbtouc-unsafe: Likewise.
32583         * modules/unistr/u8-mbtoucr: Likewise.
32584         * modules/unistr/u8-move: Likewise.
32585         * modules/unistr/u8-next: Likewise.
32586         * modules/unistr/u8-prev: Likewise.
32587         * modules/unistr/u8-set: Likewise.
32588         * modules/unistr/u8-startswith: Likewise.
32589         * modules/unistr/u8-stpcpy: Likewise.
32590         * modules/unistr/u8-stpncpy: Likewise.
32591         * modules/unistr/u8-strcat: Likewise.
32592         * modules/unistr/u8-strchr: Likewise.
32593         * modules/unistr/u8-strcmp: Likewise.
32594         * modules/unistr/u8-strcoll: Likewise.
32595         * modules/unistr/u8-strcpy: Likewise.
32596         * modules/unistr/u8-strcspn: Likewise.
32597         * modules/unistr/u8-strdup: Likewise.
32598         * modules/unistr/u8-strlen: Likewise.
32599         * modules/unistr/u8-strmblen: Likewise.
32600         * modules/unistr/u8-strmbtouc: Likewise.
32601         * modules/unistr/u8-strncat: Likewise.
32602         * modules/unistr/u8-strncmp: Likewise.
32603         * modules/unistr/u8-strncpy: Likewise.
32604         * modules/unistr/u8-strnlen: Likewise.
32605         * modules/unistr/u8-strpbrk: Likewise.
32606         * modules/unistr/u8-strrchr: Likewise.
32607         * modules/unistr/u8-strspn: Likewise.
32608         * modules/unistr/u8-strstr: Likewise.
32609         * modules/unistr/u8-strtok: Likewise.
32610         * modules/unistr/u8-to-u16: Likewise.
32611         * modules/unistr/u8-to-u32: Likewise.
32612         * modules/unistr/u8-uctomb: Likewise.
32613         * modules/unistr/u16-check: Likewise.
32614         * modules/unistr/u16-chr: Likewise.
32615         * modules/unistr/u16-cmp: Likewise.
32616         * modules/unistr/u16-cmp2: Likewise.
32617         * modules/unistr/u16-cpy: Likewise.
32618         * modules/unistr/u16-cpy-alloc: Likewise.
32619         * modules/unistr/u16-endswith: Likewise.
32620         * modules/unistr/u16-mblen: Likewise.
32621         * modules/unistr/u16-mbsnlen: Likewise.
32622         * modules/unistr/u16-mbtouc: Likewise.
32623         * modules/unistr/u16-mbtouc-unsafe: Likewise.
32624         * modules/unistr/u16-mbtoucr: Likewise.
32625         * modules/unistr/u16-move: Likewise.
32626         * modules/unistr/u16-next: Likewise.
32627         * modules/unistr/u16-prev: Likewise.
32628         * modules/unistr/u16-set: Likewise.
32629         * modules/unistr/u16-startswith: Likewise.
32630         * modules/unistr/u16-stpcpy: Likewise.
32631         * modules/unistr/u16-stpncpy: Likewise.
32632         * modules/unistr/u16-strcat: Likewise.
32633         * modules/unistr/u16-strchr: Likewise.
32634         * modules/unistr/u16-strcmp: Likewise.
32635         * modules/unistr/u16-strcoll: Likewise.
32636         * modules/unistr/u16-strcpy: Likewise.
32637         * modules/unistr/u16-strcspn: Likewise.
32638         * modules/unistr/u16-strdup: Likewise.
32639         * modules/unistr/u16-strlen: Likewise.
32640         * modules/unistr/u16-strmblen: Likewise.
32641         * modules/unistr/u16-strmbtouc: Likewise.
32642         * modules/unistr/u16-strncat: Likewise.
32643         * modules/unistr/u16-strncmp: Likewise.
32644         * modules/unistr/u16-strncpy: Likewise.
32645         * modules/unistr/u16-strnlen: Likewise.
32646         * modules/unistr/u16-strpbrk: Likewise.
32647         * modules/unistr/u16-strrchr: Likewise.
32648         * modules/unistr/u16-strspn: Likewise.
32649         * modules/unistr/u16-strstr: Likewise.
32650         * modules/unistr/u16-strtok: Likewise.
32651         * modules/unistr/u16-to-u32: Likewise.
32652         * modules/unistr/u16-to-u8: Likewise.
32653         * modules/unistr/u16-uctomb: Likewise.
32654         * modules/unistr/u32-check: Likewise.
32655         * modules/unistr/u32-chr: Likewise.
32656         * modules/unistr/u32-cmp: Likewise.
32657         * modules/unistr/u32-cmp2: Likewise.
32658         * modules/unistr/u32-cpy: Likewise.
32659         * modules/unistr/u32-cpy-alloc: Likewise.
32660         * modules/unistr/u32-endswith: Likewise.
32661         * modules/unistr/u32-mblen: Likewise.
32662         * modules/unistr/u32-mbsnlen: Likewise.
32663         * modules/unistr/u32-mbtouc: Likewise.
32664         * modules/unistr/u32-mbtouc-unsafe: Likewise.
32665         * modules/unistr/u32-mbtoucr: Likewise.
32666         * modules/unistr/u32-move: Likewise.
32667         * modules/unistr/u32-next: Likewise.
32668         * modules/unistr/u32-prev: Likewise.
32669         * modules/unistr/u32-set: Likewise.
32670         * modules/unistr/u32-startswith: Likewise.
32671         * modules/unistr/u32-stpcpy: Likewise.
32672         * modules/unistr/u32-stpncpy: Likewise.
32673         * modules/unistr/u32-strcat: Likewise.
32674         * modules/unistr/u32-strchr: Likewise.
32675         * modules/unistr/u32-strcmp: Likewise.
32676         * modules/unistr/u32-strcoll: Likewise.
32677         * modules/unistr/u32-strcpy: Likewise.
32678         * modules/unistr/u32-strcspn: Likewise.
32679         * modules/unistr/u32-strdup: Likewise.
32680         * modules/unistr/u32-strlen: Likewise.
32681         * modules/unistr/u32-strmblen: Likewise.
32682         * modules/unistr/u32-strmbtouc: Likewise.
32683         * modules/unistr/u32-strncat: Likewise.
32684         * modules/unistr/u32-strncmp: Likewise.
32685         * modules/unistr/u32-strncpy: Likewise.
32686         * modules/unistr/u32-strnlen: Likewise.
32687         * modules/unistr/u32-strpbrk: Likewise.
32688         * modules/unistr/u32-strrchr: Likewise.
32689         * modules/unistr/u32-strspn: Likewise.
32690         * modules/unistr/u32-strstr: Likewise.
32691         * modules/unistr/u32-strtok: Likewise.
32692         * modules/unistr/u32-to-u16: Likewise.
32693         * modules/unistr/u32-to-u8: Likewise.
32694         * modules/unistr/u32-uctomb: Likewise.
32695         * modules/uniwbrk/u8-wordbreaks: Likewise.
32696         * modules/uniwbrk/u16-wordbreaks: Likewise.
32697         * modules/uniwbrk/u32-wordbreaks: Likewise.
32698         * modules/uniwbrk/ulc-wordbreaks: Likewise.
32699         * modules/uniwbrk/wordbreak-property: Likewise.
32700         * modules/uniwidth/u8-strwidth: Likewise.
32701         * modules/uniwidth/u8-width: Likewise.
32702         * modules/uniwidth/u16-strwidth: Likewise.
32703         * modules/uniwidth/u16-width: Likewise.
32704         * modules/uniwidth/u32-strwidth: Likewise.
32705         * modules/uniwidth/u32-width: Likewise.
32706         * modules/uniwidth/width: Likewise.
32707         * modules/unicase/cased-tests (Makefile.am): Link all test programs
32708         with $(LIBUNISTRING).
32709         * modules/unicase/ignorable-tests: Likewise.
32710         * modules/unicase/locale-language-tests: Likewise.
32711         * modules/unicase/tolower-tests: Likewise.
32712         * modules/unicase/totitle-tests: Likewise.
32713         * modules/unicase/toupper-tests: Likewise.
32714         * modules/unicase/u8-casecmp-tests: Likewise.
32715         * modules/unicase/u8-casecoll-tests: Likewise.
32716         * modules/unicase/u8-casefold-tests: Likewise.
32717         * modules/unicase/u8-is-cased-tests: Likewise.
32718         * modules/unicase/u8-is-casefolded-tests: Likewise.
32719         * modules/unicase/u8-is-lowercase-tests: Likewise.
32720         * modules/unicase/u8-is-titlecase-tests: Likewise.
32721         * modules/unicase/u8-is-uppercase-tests: Likewise.
32722         * modules/unicase/u8-tolower-tests: Likewise.
32723         * modules/unicase/u8-totitle-tests: Likewise.
32724         * modules/unicase/u8-toupper-tests: Likewise.
32725         * modules/unicase/u16-casecmp-tests: Likewise.
32726         * modules/unicase/u16-casecoll-tests: Likewise.
32727         * modules/unicase/u16-casefold-tests: Likewise.
32728         * modules/unicase/u16-is-cased-tests: Likewise.
32729         * modules/unicase/u16-is-casefolded-tests: Likewise.
32730         * modules/unicase/u16-is-lowercase-tests: Likewise.
32731         * modules/unicase/u16-is-titlecase-tests: Likewise.
32732         * modules/unicase/u16-is-uppercase-tests: Likewise.
32733         * modules/unicase/u16-tolower-tests: Likewise.
32734         * modules/unicase/u16-totitle-tests: Likewise.
32735         * modules/unicase/u16-toupper-tests: Likewise.
32736         * modules/unicase/u32-casecmp-tests: Likewise.
32737         * modules/unicase/u32-casecoll-tests: Likewise.
32738         * modules/unicase/u32-casefold-tests: Likewise.
32739         * modules/unicase/u32-is-cased-tests: Likewise.
32740         * modules/unicase/u32-is-casefolded-tests: Likewise.
32741         * modules/unicase/u32-is-lowercase-tests: Likewise.
32742         * modules/unicase/u32-is-titlecase-tests: Likewise.
32743         * modules/unicase/u32-is-uppercase-tests: Likewise.
32744         * modules/unicase/u32-tolower-tests: Likewise.
32745         * modules/unicase/u32-totitle-tests: Likewise.
32746         * modules/unicase/u32-toupper-tests: Likewise.
32747         * modules/unicase/ulc-casecmp-tests: Likewise.
32748         * modules/unicase/ulc-casecoll-tests: Likewise.
32749         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
32750         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
32751         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
32752         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
32753         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
32754         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
32755         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
32756         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
32757         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
32758         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
32759         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
32760         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
32761         * modules/unictype/bidicategory-byname-tests: Likewise.
32762         * modules/unictype/bidicategory-name-tests: Likewise.
32763         * modules/unictype/bidicategory-of-tests: Likewise.
32764         * modules/unictype/bidicategory-test-tests: Likewise.
32765         * modules/unictype/block-list-tests: Likewise.
32766         * modules/unictype/block-of-tests: Likewise.
32767         * modules/unictype/block-test-tests: Likewise.
32768         * modules/unictype/category-C-tests: Likewise.
32769         * modules/unictype/category-Cc-tests: Likewise.
32770         * modules/unictype/category-Cf-tests: Likewise.
32771         * modules/unictype/category-Cn-tests: Likewise.
32772         * modules/unictype/category-Co-tests: Likewise.
32773         * modules/unictype/category-Cs-tests: Likewise.
32774         * modules/unictype/category-L-tests: Likewise.
32775         * modules/unictype/category-Ll-tests: Likewise.
32776         * modules/unictype/category-Lm-tests: Likewise.
32777         * modules/unictype/category-Lo-tests: Likewise.
32778         * modules/unictype/category-Lt-tests: Likewise.
32779         * modules/unictype/category-Lu-tests: Likewise.
32780         * modules/unictype/category-M-tests: Likewise.
32781         * modules/unictype/category-Mc-tests: Likewise.
32782         * modules/unictype/category-Me-tests: Likewise.
32783         * modules/unictype/category-Mn-tests: Likewise.
32784         * modules/unictype/category-N-tests: Likewise.
32785         * modules/unictype/category-Nd-tests: Likewise.
32786         * modules/unictype/category-Nl-tests: Likewise.
32787         * modules/unictype/category-No-tests: Likewise.
32788         * modules/unictype/category-P-tests: Likewise.
32789         * modules/unictype/category-Pc-tests: Likewise.
32790         * modules/unictype/category-Pd-tests: Likewise.
32791         * modules/unictype/category-Pe-tests: Likewise.
32792         * modules/unictype/category-Pf-tests: Likewise.
32793         * modules/unictype/category-Pi-tests: Likewise.
32794         * modules/unictype/category-Po-tests: Likewise.
32795         * modules/unictype/category-Ps-tests: Likewise.
32796         * modules/unictype/category-S-tests: Likewise.
32797         * modules/unictype/category-Sc-tests: Likewise.
32798         * modules/unictype/category-Sk-tests: Likewise.
32799         * modules/unictype/category-Sm-tests: Likewise.
32800         * modules/unictype/category-So-tests: Likewise.
32801         * modules/unictype/category-Z-tests: Likewise.
32802         * modules/unictype/category-Zl-tests: Likewise.
32803         * modules/unictype/category-Zp-tests: Likewise.
32804         * modules/unictype/category-Zs-tests: Likewise.
32805         * modules/unictype/category-and-not-tests: Likewise.
32806         * modules/unictype/category-and-tests: Likewise.
32807         * modules/unictype/category-byname-tests: Likewise.
32808         * modules/unictype/category-name-tests: Likewise.
32809         * modules/unictype/category-none-tests: Likewise.
32810         * modules/unictype/category-of-tests: Likewise.
32811         * modules/unictype/category-or-tests: Likewise.
32812         * modules/unictype/category-test-withtable-tests: Likewise.
32813         * modules/unictype/combining-class-tests: Likewise.
32814         * modules/unictype/ctype-alnum-tests: Likewise.
32815         * modules/unictype/ctype-alpha-tests: Likewise.
32816         * modules/unictype/ctype-blank-tests: Likewise.
32817         * modules/unictype/ctype-cntrl-tests: Likewise.
32818         * modules/unictype/ctype-digit-tests: Likewise.
32819         * modules/unictype/ctype-graph-tests: Likewise.
32820         * modules/unictype/ctype-lower-tests: Likewise.
32821         * modules/unictype/ctype-print-tests: Likewise.
32822         * modules/unictype/ctype-punct-tests: Likewise.
32823         * modules/unictype/ctype-space-tests: Likewise.
32824         * modules/unictype/ctype-upper-tests: Likewise.
32825         * modules/unictype/ctype-xdigit-tests: Likewise.
32826         * modules/unictype/decimal-digit-tests: Likewise.
32827         * modules/unictype/digit-tests: Likewise.
32828         * modules/unictype/mirror-tests: Likewise.
32829         * modules/unictype/numeric-tests: Likewise.
32830         * modules/unictype/property-alphabetic-tests: Likewise.
32831         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
32832         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
32833         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
32834         * modules/unictype/property-bidi-block-separator-tests: Likewise.
32835         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
32836         * modules/unictype/property-bidi-common-separator-tests: Likewise.
32837         * modules/unictype/property-bidi-control-tests: Likewise.
32838         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
32839         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
32840         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
32841         * modules/unictype/property-bidi-european-digit-tests: Likewise.
32842         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
32843         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
32844         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
32845         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
32846         * modules/unictype/property-bidi-pdf-tests: Likewise.
32847         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
32848         * modules/unictype/property-bidi-whitespace-tests: Likewise.
32849         * modules/unictype/property-byname-tests: Likewise.
32850         * modules/unictype/property-combining-tests: Likewise.
32851         * modules/unictype/property-composite-tests: Likewise.
32852         * modules/unictype/property-currency-symbol-tests: Likewise.
32853         * modules/unictype/property-dash-tests: Likewise.
32854         * modules/unictype/property-decimal-digit-tests: Likewise.
32855         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
32856         * modules/unictype/property-deprecated-tests: Likewise.
32857         * modules/unictype/property-diacritic-tests: Likewise.
32858         * modules/unictype/property-extender-tests: Likewise.
32859         * modules/unictype/property-format-control-tests: Likewise.
32860         * modules/unictype/property-grapheme-base-tests: Likewise.
32861         * modules/unictype/property-grapheme-extend-tests: Likewise.
32862         * modules/unictype/property-grapheme-link-tests: Likewise.
32863         * modules/unictype/property-hex-digit-tests: Likewise.
32864         * modules/unictype/property-hyphen-tests: Likewise.
32865         * modules/unictype/property-id-continue-tests: Likewise.
32866         * modules/unictype/property-id-start-tests: Likewise.
32867         * modules/unictype/property-ideographic-tests: Likewise.
32868         * modules/unictype/property-ids-binary-operator-tests: Likewise.
32869         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
32870         * modules/unictype/property-ignorable-control-tests: Likewise.
32871         * modules/unictype/property-iso-control-tests: Likewise.
32872         * modules/unictype/property-join-control-tests: Likewise.
32873         * modules/unictype/property-left-of-pair-tests: Likewise.
32874         * modules/unictype/property-line-separator-tests: Likewise.
32875         * modules/unictype/property-logical-order-exception-tests: Likewise.
32876         * modules/unictype/property-lowercase-tests: Likewise.
32877         * modules/unictype/property-math-tests: Likewise.
32878         * modules/unictype/property-non-break-tests: Likewise.
32879         * modules/unictype/property-not-a-character-tests: Likewise.
32880         * modules/unictype/property-numeric-tests: Likewise.
32881         * modules/unictype/property-other-alphabetic-tests: Likewise.
32882         * modules/unictype/property-other-default-ignorable-code-point-tests:
32883         Likewise.
32884         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
32885         * modules/unictype/property-other-id-continue-tests: Likewise.
32886         * modules/unictype/property-other-id-start-tests: Likewise.
32887         * modules/unictype/property-other-lowercase-tests: Likewise.
32888         * modules/unictype/property-other-math-tests: Likewise.
32889         * modules/unictype/property-other-uppercase-tests: Likewise.
32890         * modules/unictype/property-paired-punctuation-tests: Likewise.
32891         * modules/unictype/property-paragraph-separator-tests: Likewise.
32892         * modules/unictype/property-pattern-syntax-tests: Likewise.
32893         * modules/unictype/property-pattern-white-space-tests: Likewise.
32894         * modules/unictype/property-private-use-tests: Likewise.
32895         * modules/unictype/property-punctuation-tests: Likewise.
32896         * modules/unictype/property-quotation-mark-tests: Likewise.
32897         * modules/unictype/property-radical-tests: Likewise.
32898         * modules/unictype/property-sentence-terminal-tests: Likewise.
32899         * modules/unictype/property-soft-dotted-tests: Likewise.
32900         * modules/unictype/property-space-tests: Likewise.
32901         * modules/unictype/property-terminal-punctuation-tests: Likewise.
32902         * modules/unictype/property-test-tests: Likewise.
32903         * modules/unictype/property-titlecase-tests: Likewise.
32904         * modules/unictype/property-unassigned-code-value-tests: Likewise.
32905         * modules/unictype/property-unified-ideograph-tests: Likewise.
32906         * modules/unictype/property-uppercase-tests: Likewise.
32907         * modules/unictype/property-variation-selector-tests: Likewise.
32908         * modules/unictype/property-white-space-tests: Likewise.
32909         * modules/unictype/property-xid-continue-tests: Likewise.
32910         * modules/unictype/property-xid-start-tests: Likewise.
32911         * modules/unictype/property-zero-width-tests: Likewise.
32912         * modules/unictype/scripts-tests: Likewise.
32913         * modules/unictype/syntax-c-ident-tests: Likewise.
32914         * modules/unictype/syntax-c-whitespace-tests: Likewise.
32915         * modules/unictype/syntax-java-ident-tests: Likewise.
32916         * modules/unictype/syntax-java-whitespace-tests: Likewise.
32917         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
32918         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
32919         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
32920         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
32921         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
32922         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
32923         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
32924         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
32925         * modules/uniname/uniname-tests: Likewise.
32926         * modules/uninorm/canonical-decomposition-tests: Likewise.
32927         * modules/uninorm/compat-decomposition-tests: Likewise.
32928         * modules/uninorm/composition-tests: Likewise.
32929         * modules/uninorm/decomposing-form-tests: Likewise.
32930         * modules/uninorm/decomposition-tests: Likewise.
32931         * modules/uninorm/filter-tests: Likewise.
32932         * modules/uninorm/nfc-tests: Likewise.
32933         * modules/uninorm/nfd-tests: Likewise.
32934         * modules/uninorm/nfkc-tests: Likewise.
32935         * modules/uninorm/nfkd-tests: Likewise.
32936         * modules/uninorm/u8-normcmp-tests: Likewise.
32937         * modules/uninorm/u8-normcoll-tests: Likewise.
32938         * modules/uninorm/u16-normcmp-tests: Likewise.
32939         * modules/uninorm/u16-normcoll-tests: Likewise.
32940         * modules/uninorm/u32-normcmp-tests: Likewise.
32941         * modules/uninorm/u32-normcoll-tests: Likewise.
32942         * modules/unistdio/u8-asnprintf-tests: Likewise.
32943         * modules/unistdio/u8-vasnprintf-tests: Likewise.
32944         * modules/unistdio/u8-vasprintf-tests: Likewise.
32945         * modules/unistdio/u8-vsnprintf-tests: Likewise.
32946         * modules/unistdio/u8-vsprintf-tests: Likewise.
32947         * modules/unistdio/u16-asnprintf-tests: Likewise.
32948         * modules/unistdio/u16-vasnprintf-tests: Likewise.
32949         * modules/unistdio/u16-vasprintf-tests: Likewise.
32950         * modules/unistdio/u16-vsnprintf-tests: Likewise.
32951         * modules/unistdio/u16-vsprintf-tests: Likewise.
32952         * modules/unistdio/u32-asnprintf-tests: Likewise.
32953         * modules/unistdio/u32-vasnprintf-tests: Likewise.
32954         * modules/unistdio/u32-vasprintf-tests: Likewise.
32955         * modules/unistdio/u32-vsnprintf-tests: Likewise.
32956         * modules/unistdio/u32-vsprintf-tests: Likewise.
32957         * modules/unistdio/ulc-asnprintf-tests: Likewise.
32958         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
32959         * modules/unistdio/ulc-vasprintf-tests: Likewise.
32960         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
32961         * modules/unistdio/ulc-vsprintf-tests: Likewise.
32962         * modules/unistr/u8-check-tests: Likewise.
32963         * modules/unistr/u8-chr-tests: Likewise.
32964         * modules/unistr/u8-cmp-tests: Likewise.
32965         * modules/unistr/u8-cmp2-tests: Likewise.
32966         * modules/unistr/u8-cpy-alloc-tests: Likewise.
32967         * modules/unistr/u8-cpy-tests: Likewise.
32968         * modules/unistr/u8-mblen-tests: Likewise.
32969         * modules/unistr/u8-mbsnlen-tests: Likewise.
32970         * modules/unistr/u8-mbtouc-tests: Likewise.
32971         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
32972         * modules/unistr/u8-mbtoucr-tests: Likewise.
32973         * modules/unistr/u8-move-tests: Likewise.
32974         * modules/unistr/u8-next-tests: Likewise.
32975         * modules/unistr/u8-prev-tests: Likewise.
32976         * modules/unistr/u8-set-tests: Likewise.
32977         * modules/unistr/u8-stpcpy-tests: Likewise.
32978         * modules/unistr/u8-stpncpy-tests: Likewise.
32979         * modules/unistr/u8-strcat-tests: Likewise.
32980         * modules/unistr/u8-strcmp-tests: Likewise.
32981         * modules/unistr/u8-strcoll-tests: Likewise.
32982         * modules/unistr/u8-strcpy-tests: Likewise.
32983         * modules/unistr/u8-strdup-tests: Likewise.
32984         * modules/unistr/u8-strlen-tests: Likewise.
32985         * modules/unistr/u8-strmblen-tests: Likewise.
32986         * modules/unistr/u8-strmbtouc-tests: Likewise.
32987         * modules/unistr/u8-strncat-tests: Likewise.
32988         * modules/unistr/u8-strncmp-tests: Likewise.
32989         * modules/unistr/u8-strncpy-tests: Likewise.
32990         * modules/unistr/u8-strnlen-tests: Likewise.
32991         * modules/unistr/u8-to-u16-tests: Likewise.
32992         * modules/unistr/u8-to-u32-tests: Likewise.
32993         * modules/unistr/u8-uctomb-tests: Likewise.
32994         * modules/unistr/u16-check-tests: Likewise.
32995         * modules/unistr/u16-chr-tests: Likewise.
32996         * modules/unistr/u16-cmp-tests: Likewise.
32997         * modules/unistr/u16-cmp2-tests: Likewise.
32998         * modules/unistr/u16-cpy-alloc-tests: Likewise.
32999         * modules/unistr/u16-cpy-tests: Likewise.
33000         * modules/unistr/u16-mblen-tests: Likewise.
33001         * modules/unistr/u16-mbsnlen-tests: Likewise.
33002         * modules/unistr/u16-mbtouc-tests: Likewise.
33003         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
33004         * modules/unistr/u16-mbtoucr-tests: Likewise.
33005         * modules/unistr/u16-move-tests: Likewise.
33006         * modules/unistr/u16-next-tests: Likewise.
33007         * modules/unistr/u16-prev-tests: Likewise.
33008         * modules/unistr/u16-set-tests: Likewise.
33009         * modules/unistr/u16-stpcpy-tests: Likewise.
33010         * modules/unistr/u16-stpncpy-tests: Likewise.
33011         * modules/unistr/u16-strcat-tests: Likewise.
33012         * modules/unistr/u16-strcmp-tests: Likewise.
33013         * modules/unistr/u16-strcoll-tests: Likewise.
33014         * modules/unistr/u16-strcpy-tests: Likewise.
33015         * modules/unistr/u16-strdup-tests: Likewise.
33016         * modules/unistr/u16-strlen-tests: Likewise.
33017         * modules/unistr/u16-strmblen-tests: Likewise.
33018         * modules/unistr/u16-strmbtouc-tests: Likewise.
33019         * modules/unistr/u16-strncat-tests: Likewise.
33020         * modules/unistr/u16-strncmp-tests: Likewise.
33021         * modules/unistr/u16-strncpy-tests: Likewise.
33022         * modules/unistr/u16-strnlen-tests: Likewise.
33023         * modules/unistr/u16-to-u32-tests: Likewise.
33024         * modules/unistr/u16-to-u8-tests: Likewise.
33025         * modules/unistr/u16-uctomb-tests: Likewise.
33026         * modules/unistr/u32-check-tests: Likewise.
33027         * modules/unistr/u32-chr-tests: Likewise.
33028         * modules/unistr/u32-cmp-tests: Likewise.
33029         * modules/unistr/u32-cmp2-tests: Likewise.
33030         * modules/unistr/u32-cpy-alloc-tests: Likewise.
33031         * modules/unistr/u32-cpy-tests: Likewise.
33032         * modules/unistr/u32-mblen-tests: Likewise.
33033         * modules/unistr/u32-mbsnlen-tests: Likewise.
33034         * modules/unistr/u32-mbtouc-tests: Likewise.
33035         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
33036         * modules/unistr/u32-mbtoucr-tests: Likewise.
33037         * modules/unistr/u32-move-tests: Likewise.
33038         * modules/unistr/u32-next-tests: Likewise.
33039         * modules/unistr/u32-prev-tests: Likewise.
33040         * modules/unistr/u32-set-tests: Likewise.
33041         * modules/unistr/u32-stpcpy-tests: Likewise.
33042         * modules/unistr/u32-stpncpy-tests: Likewise.
33043         * modules/unistr/u32-strcat-tests: Likewise.
33044         * modules/unistr/u32-strcmp-tests: Likewise.
33045         * modules/unistr/u32-strcoll-tests: Likewise.
33046         * modules/unistr/u32-strcpy-tests: Likewise.
33047         * modules/unistr/u32-strdup-tests: Likewise.
33048         * modules/unistr/u32-strlen-tests: Likewise.
33049         * modules/unistr/u32-strmblen-tests: Likewise.
33050         * modules/unistr/u32-strmbtouc-tests: Likewise.
33051         * modules/unistr/u32-strncat-tests: Likewise.
33052         * modules/unistr/u32-strncmp-tests: Likewise.
33053         * modules/unistr/u32-strncpy-tests: Likewise.
33054         * modules/unistr/u32-strnlen-tests: Likewise.
33055         * modules/unistr/u32-to-u16-tests: Likewise.
33056         * modules/unistr/u32-to-u8-tests: Likewise.
33057         * modules/unistr/u32-uctomb-tests: Likewise.
33058         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
33059         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
33060         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
33061         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
33062         * modules/uniwidth/u8-strwidth-tests: Likewise.
33063         * modules/uniwidth/u8-width-tests: Likewise.
33064         * modules/uniwidth/u16-strwidth-tests: Likewise.
33065         * modules/uniwidth/u16-width-tests: Likewise.
33066         * modules/uniwidth/u32-strwidth-tests: Likewise.
33067         * modules/uniwidth/u32-width-tests: Likewise.
33068         * modules/uniwidth/width-tests: Likewise.
33069
33070 2010-05-18  Richard Jones  <rjones@redhat.com>
33071
33072         doc: users.txt: list hivex
33073         * users.txt: Add hivex.
33074
33075 2010-05-18  Richard Jones  <rjones@redhat.com>
33076
33077         doc: users.txt: list febootstrap
33078         * users.txt: Add febootstrap.
33079
33080 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
33081
33082         bootstrap: fix an error when gnulib is not used as a git submodule
33083         * build-aux/bootstrap (gnulib_path): If its length is zero then
33084         assign "gnulib" to it.
33085         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
33086
33087 2010-05-16  Bruno Haible  <bruno@clisp.org>
33088
33089         Avoid autoconf warnings about AM_ICONV.
33090         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
33091         2.64.
33092
33093 2010-05-16  Bruno Haible  <bruno@clisp.org>
33094
33095         absolute-header: Make the macro usable in more situations.
33096         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
33097         from gl_ABSOLUTE_HEADER.
33098         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
33099
33100 2010-05-16  James Youngman  <jay@gnu.org>
33101
33102         doc: update users.txt
33103         * users.txt: Add CSSC.
33104
33105 2010-05-16  Jim Meyering  <meyering@redhat.com>
33106
33107         init.sh: fix an error in the previous change; add more comments
33108         * tests/init.sh: Compare exit code in loop against 9, not 2.
33109         Patch by Bruno Haible.
33110         Make the two tests more similar by adding an empty "then" clause.
33111         Add comments.
33112
33113         init.sh: avoid unnecessary shell re-exec
33114         * tests/init.sh: Improve the re-exec-required check to first test the
33115         current shell.  If it passes the test, do not search for a shell that
33116         does pass, and do not re-exec.  This test is particularly contorted to
33117         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
33118         of $(...) evokes a syntax error and causes immediate shell exit with
33119         status 2.  Bruno Haible reported that the re-exec made it impossible
33120         to single-step through any init.sh-using script.
33121
33122 2010-05-16  Bruno Haible  <bruno@clisp.org>
33123
33124         Fix collision between gnulib's and libintl's printf replacements.
33125         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
33126         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
33127         (printf): When using GNU C, map the __printf__ function to rpl_printf
33128         via __asm__. When not using GNU C, define rpl_printf instead of
33129         __printf__.
33130         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
33131         commit.
33132         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
33133         commit.
33134         * m4/asm-underscore.m4: New file.
33135         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
33136         * modules/stdio (Files): Add m4/asm-underscore.m4.
33137         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
33138         Reported by Ben Pfaff.
33139
33140 2010-05-16  Bruno Haible  <bruno@clisp.org>
33141
33142         verify: Avoid skipping the test on openSUSE 11.0.
33143         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
33144
33145 2010-05-13  Bruno Haible  <bruno@clisp.org>
33146
33147         Avoid useless warnings from G++.
33148         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
33149         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
33150         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33151
33152 2010-05-11  Jim Meyering  <meyering@redhat.com>
33153
33154         maint.mk: tweak preceding change
33155         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
33156         regexps tighter by anchoring at EOL, and make the new group "shy"
33157         for slightly decreased overhead.
33158
33159 2010-05-11  Eric Blake  <eblake@redhat.com>
33160
33161         maint.mk: gnulib doesn't guarantee NSIG
33162         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
33163
33164 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33165
33166         test-pwrite.c: Remove unused variable declaration.
33167         * tests/test-pwrite.c (main): Remove read_buf declaration.
33168
33169         Remove useless test-pwrite.sh file.
33170         * tests/test-pwrite.sh: Delete file.
33171         * modules/pwrite-tests: Remove references.
33172         Reported by Bruno Haible.
33173
33174 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33175
33176         init.sh: fix a typo
33177         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
33178
33179 2010-05-10  Jim Meyering  <meyering@redhat.com>
33180
33181         maint.mk: avoid using a temporary file in the always-defined-macros check
33182         * top/maint.mk (.re-defmac): Remove rule.
33183         (gl_trap_): Remove definition.
33184         (sc_prohibit_always-defined_macros): Rewrite not to create and
33185         depend on a temporary file.  Instead, depend on GNU grep's ability
33186         to read a list of regular expressions from stdin when given "-f -".
33187
33188 2010-05-09  Bruno Haible  <bruno@clisp.org>
33189
33190         Update to GNU gettext 0.18, part 1.
33191         * m4/gettext.m4: Update to GNU gettext 0.18.
33192         * m4/intl.m4: Likewise.
33193         * m4/po.m4: Likewise.
33194         * modules/gettext (Files): Add m4/fcntl-o.m4.
33195         (configure.ac): Require gettext infrastructure from version 0.18.
33196
33197 2010-05-09  Jim Meyering  <meyering@redhat.com>
33198
33199         init.sh: enable MALLOC_PERTURB_
33200         * tests/init.sh: Enable glibc's malloc-perturbing option.
33201
33202         maint.mk: improve sc_cross_check_PATH_usage_in_tests
33203         With my recent change in init.sh from the two-line form:
33204             -#   : ${srcdir=.}
33205             -#   . "$srcdir/init.sh"; path_prepend_ .
33206             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
33207         I noticed that using the one-line form would cause this test
33208         to fail with a false-positive, or to stop working altogether,
33209         depending on whether help-version changed or all the tests did.
33210         * top/maint.mk (_hv_regex): Remove this definition.
33211         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
33212         (_hv_regex_strong): Use a stronger regex to check for conformance.
33213         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
33214         Give a separate diagnostic for lack of conforming use.
33215
33216         maint.mk: prohibit definition of symbols defined by gnulib
33217         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
33218         definition of symbols defined by gnulib.
33219
33220 2010-05-09  Bruno Haible  <bruno@clisp.org>
33221
33222         acl: Avoid test failure on Cygwin-hosted mingw.
33223         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
33224
33225 2010-05-09  Bruno Haible  <bruno@clisp.org>
33226
33227         error: Use system's fcntl function.
33228         * lib/error.c (fcntl): Undefine.
33229
33230 2010-05-09  Jim Meyering  <meyering@redhat.com>
33231
33232         verify: adjust formatting to be more consistent
33233         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
33234         argument-list '('s, and after one comma.
33235
33236 2010-05-09  Bruno Haible  <bruno@clisp.org>
33237
33238         error: More reliable output on mingw.
33239         * lib/error.c: Include <windows.h>.
33240         (is_open): New function.
33241         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
33242         defined.
33243
33244 2010-05-09  Bruno Haible  <bruno@clisp.org>
33245
33246         vasnprintf: Fix syntax errors in libintl build on mingw.
33247         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
33248         pad_ourselves and prec_ourselves after use.
33249
33250 2010-05-08  Bruno Haible  <bruno@clisp.org>
33251
33252         * lib/config.charset: Update comments for Cygwin 1.7.
33253         * lib/localcharset.c: Likewise.
33254
33255 2010-05-07  Jim Meyering  <meyering@redhat.com>
33256
33257         init.sh: improve comments
33258         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
33259         . "${srcdir=.}/init.sh"; path_prepend_ .
33260         Add a note about path_prepend_ and the alternative of using
33261         TESTS_ENVIRONMENT.
33262
33263 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
33264
33265         exclude: Unescape hashed patterns in wildcard mode.
33266         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
33267         to the hash list.
33268         * tests/test-exclude8.sh: New test case.
33269         * modules/exclude-tests: Add new test.
33270
33271 2010-05-05  Eric Blake  <eblake@redhat.com>
33272
33273         verify: automate tests
33274         * modules/verify-tests: New module.
33275         * tests/test-verify.sh: New file.
33276         * tests/test-verify.c: Guard each negative test with a unique id.
33277         Also avoid warning about unused left hand of comma expressions.
33278
33279 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
33280
33281         Further improvements to verify.h, suggested by Eric Blake.
33282         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
33283         the GL_* versions, to avoid collision with OpenGL.
33284         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
33285         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
33286         than testing merely whether it's defined.
33287
33288         Modify verify.h to pacify gcc -Wredundant_decls.
33289         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
33290         These use the prefix "GL_" since they're likely to be useful elsewhere.
33291         We may need to break them out into a different .h file.
33292         (__COUNTER__): Define to 0 if the compiler doesn't support it.
33293         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
33294         of verify_function__.
33295
33296 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33297
33298         Tests for module pwrite.
33299         * modules/pwrite-tests: New file.
33300         * tests/test-pwrite.sh: New file.
33301         * tests/test-pwrite.c: New file.
33302
33303         New module pwrite.
33304         * lib/unistd.in.h (pwrite): New declaration.
33305         * lib/pwrite.c: New file, from glibc with modifications.
33306         * m4/pwrite.m4: New file.
33307         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
33308         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
33309         REPLACE_PWRITE.
33310         * modules/pwrite: New file.
33311         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
33312         REPLACE_PWRITE.
33313         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
33314         * doc/posix-functions/pwrite.texi: Mention the new module.
33315
33316 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33317
33318         pread: Update documentation.
33319         * doc/posix-functions/pread.texi: Mention the 'pread' module.
33320
33321 2010-05-04  Eric Blake  <eblake@redhat.com>
33322
33323         docs: update cygwin progress
33324         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
33325         this bug.
33326         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
33327         Added in cygwin 1.7.2.
33328         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
33329         Likewise.
33330         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
33331         Likewise.
33332         * doc/glibc-functions/dup3.texi (dup3): Likewise.
33333         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
33334         * doc/glibc-functions/accept4.texi (accept4): Likewise.
33335         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
33336         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
33337         Mention nproc module.
33338         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
33339         bug in cygwin 1.7.5 addition.
33340         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
33341         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
33342         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
33343         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
33344         1.7.5.
33345         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
33346         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
33347         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
33348         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
33349         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
33350         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
33351         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
33352         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
33353         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
33354         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
33355         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
33356         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
33357         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
33358         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
33359         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
33360         Likewise.
33361         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
33362         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
33363         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
33364         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
33365         Likewise.
33366         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
33367         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
33368         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
33369         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
33370         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
33371         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
33372         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
33373         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
33374         Likewise.
33375         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
33376         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
33377         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
33378         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
33379         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
33380         Likewise.
33381         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
33382         Likewise.
33383         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
33384         Likewise.
33385         * doc/glibc-functions/xdrrec_endofrecord.texi
33386         (xdrrec_endofrecord): Likewise.
33387         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
33388         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
33389         Likewise.
33390         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
33391         Likewise.
33392
33393 2010-05-04  Jim Meyering  <meyering@redhat.com>
33394
33395         gendocs.sh: make its "-s FILE" option more useful
33396         * build-aux/gendocs.sh: When honoring the -s FILE option, update
33397         $PACKAGE to reflect the probably-different basename of "FILE".
33398
33399 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
33400
33401         bootstrap: don't ignore download_po_files failure
33402         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
33403         failure.
33404
33405 2010-05-03  Jim Meyering  <meyering@redhat.com>
33406
33407         maint.mk: allow to pass options to gendocs.sh
33408         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
33409         (gendocs_options_): New overridable variable.
33410
33411         gnu-web-doc-update: don't ignore configure or build failure
33412         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
33413
33414         announce-gen: backslash-escape '@'s in --help output
33415         * build-aux/announce-gen: Fix syntax errors.
33416
33417         maint.mk, announce-gen: allow project-specific announcement mail headers
33418         * top/maint.mk (translation_project_): Define default.
33419         (announcement_Cc_, announcement_mail_headers_): Likewise.
33420         (announcement): Invoke announce-gen with new --mail-headers option.
33421         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
33422
33423         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
33424         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
33425         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
33426         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
33427         line in the "err2" output file when running "make check" in verbose
33428         mode (i.e., with set -x enabled).
33429
33430 2010-05-03  Bruno Haible  <bruno@clisp.org>
33431
33432         wctob: Fix for weird platforms.
33433         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
33434         argument value.
33435
33436 2010-05-03  Jim Meyering  <meyering@redhat.com>
33437
33438         maint.mk: prohibit unwarranted use of <strings.h>
33439         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
33440         strings.h in a file that does not also use strcasecmp, strncasecmp,
33441         ffs or ffsll.
33442
33443         maint.mk: remove obsolete comments
33444         * top/maint.mk: Remove stale, commented-out rules.
33445
33446 2010-05-02  Bruno Haible  <bruno@clisp.org>
33447
33448         wcwidth: Declare also when it's aliased.
33449         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
33450         macro.
33451
33452 2010-05-02  Bruno Haible  <bruno@clisp.org>
33453
33454         Fix regression from 2010-04-25.
33455         * gnulib-tool (func_modules_transitive_closure): Check the status of
33456         all modules, not only of the tests that are of the form foo-tests where
33457         foo is a module.
33458
33459 2010-05-02  Bruno Haible  <bruno@clisp.org>
33460
33461         wctob: Work around nasty Cygwin 1.7.2 bug.
33462         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
33463         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
33464
33465 2010-05-01  Bruno Haible  <bruno@clisp.org>
33466
33467         fpurge: Sharper test.
33468         * tests/test-fpurge.c (main): Add one more ftell check.
33469         * modules/fpurge-tests (Depends-on): Add ftell.
33470         Suggested by Eric Blake.
33471
33472 2010-05-01  Bruno Haible  <bruno@clisp.org>
33473
33474         ftello: Another test.
33475         * tests/test-ftello3.c: New file.
33476         * modules/ftello-tests (Files): Add it.
33477         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33478         MOSTLYCLEANFILES.
33479
33480         ftell: Another test.
33481         * tests/test-ftell3.c: New file.
33482         * modules/ftell-tests (Files): Add it.
33483         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33484         MOSTLYCLEANFILES.
33485
33486 2010-05-01  Bruno Haible  <bruno@clisp.org>
33487
33488         ftell, ftello: Work around Solaris bug.
33489         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
33490         * lib/ftello.c: Include stdio-impl.h.
33491         (ftello): On Solaris, when _IOWRT is set, compute the result without
33492         looking at _IOREAD.
33493         * modules/ftello (Files): Add lib/stdio-impl.h.
33494         * doc/posix-functions/ftell.texi: Mention Solaris bug.
33495         * doc/posix-functions/ftello.texi: Likewise.
33496         Reported by Eric Blake.
33497
33498 2010-05-01  Bruno Haible  <bruno@clisp.org>
33499
33500         freading: Adapt to special meaning of _IOREAD flag on Solaris.
33501         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
33502         the _IOWRT flag is also set.
33503
33504 2010-05-01  Bruno Haible  <bruno@clisp.org>
33505
33506         Fix doc about a HP-UX stdio bug.
33507         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
33508         * doc/posix-functions/ftello.texi: Likewise.
33509
33510 2010-05-01  Bruno Haible  <bruno@clisp.org>
33511
33512         lseek test: Fix failure on Solaris.
33513         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
33514         output.
33515
33516 2010-04-30  Jim Meyering  <meyering@redhat.com>
33517
33518         bootstrap: don't ignore failure to generate po*/Makevars
33519         * build-aux/bootstrap (with_gettext): Don't ignore failure
33520         to create po/Makevars or runtime-po/Makevars.
33521
33522 2010-04-29  Eric Blake  <eblake@redhat.com>
33523
33524         headers: relax license to LGPLv2+
33525         * modules/fcntl-h (License): Relax license.
33526         * modules/getopt-posix (License): Likewise.
33527         * modules/locale (License): Likewise.
33528         * modules/math (License): Likewise.
33529         * modules/pty (License): Likewise.
33530         * modules/sched (License): Likewise.
33531         * modules/search (License): Likewise.
33532         * modules/spawn (License): Likewise.
33533         * modules/stdarg (License): Likewise.
33534         * modules/sysexits (License): Likewise.
33535
33536 2010-04-29  Jim Meyering  <meyering@redhat.com>
33537
33538         inttypes: relax license to LGPLv2+
33539         * modules/inttypes (License): Relax license.
33540
33541 2010-04-29  Simon Josefsson  <simon@josefsson.org>
33542
33543         * top/maint.mk (indent): Run twice to produce idempotent results.
33544
33545 2010-04-28  Bruno Haible  <bruno@clisp.org>
33546
33547         getdate: Generate getdate.c in the source directory.
33548         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
33549         MOSTLYCLEANFILES.
33550         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
33551
33552 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
33553
33554         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
33555         is not declared as a const *; avoid warnings in that case.
33556
33557 2010-04-28  Eric Blake  <eblake@redhat.com>
33558
33559         canonicalize-lgpl: avoid compiler warning
33560         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
33561         declaration' / 'extraneous semicolon' warning with some compilers.
33562         Reported by Andreas Gruenbacher.
33563
33564 2010-04-28  Jim Meyering  <meyering@redhat.com>
33565
33566         init.sh: ensure a more reliable exit status when exiting via trap
33567         * tests/init.sh (setup_): Don't rely on $? in signal handler.
33568         Inspired by patches from Dmitry V. Levin.
33569         Also trap on signal 3 (SIGQUIT).
33570
33571 2010-04-27  Bruno Haible  <bruno@clisp.org>
33572
33573         Update doc about utimes().
33574         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
33575         'utimens' module.
33576         Reported by Andreas Gruenbacher <agruen@suse.de>.
33577
33578 2010-04-27  Eric Blake  <eblake@redhat.com>
33579
33580         full-read, full-write: relax license
33581         * modules/full-read (License): Drop to LGPLv2+.
33582         * modules/full-write (License): Likewise.
33583         * modules/safe-read (License): Likewise.
33584         * modules/safe-write (License): Likewise.
33585
33586         pthread: mention library for linking
33587         * modules/pthread (Link): Mention $(LIB_PTHREAD).
33588
33589 2010-04-27  Jim Meyering  <meyering@redhat.com>
33590
33591         maint.mk: fix a bug introduced in last change
33592         * top/maint.mk (gl_assured_headers_): Now that all names are on
33593         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
33594         is not anchored to end of word, it should be adequate.
33595
33596         maint.mk: avoid side-effect in latest syntax-check
33597         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
33598         to run commands via $(shell...), and hence to incur cost only when
33599         the new rule is actually run.
33600
33601         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
33602         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
33603         and use that to create a regexp used to detect all #if HAVE_..._H uses.
33604         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
33605         (gl_assured_headers_, az_, AZ_): Define.
33606         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
33607
33608 2010-04-26  Jim Meyering  <jim@meyering.net>
33609             Bruno Haible  <bruno@clisp.org>
33610
33611         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
33612         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
33613         Prompted by an exchange with Gilles Espinasse.
33614
33615 2010-04-26  Jim Meyering  <meyering@redhat.com>
33616
33617         git-version-gen: aesthetic tweak
33618         * build-aux/git-version-gen: Use "$nl" rather than a literal,
33619         so that the command remains on a single line.
33620
33621 2010-04-26  Eric Blake  <eblake@redhat.com>
33622
33623         git-version-gen: allow use on EBCDIC hosts
33624         * build-aux/git-version-gen (dirty): Use literal rather than tying
33625         ourselves to ascii.
33626         Reported by Steve Goetze.
33627
33628 2010-04-25  Bruno Haible  <bruno@clisp.org>
33629
33630         netdb: Add support for GNULIB_POSIXCHECK.
33631         * lib/netdb.in.h: Include warn-on-use.h.
33632         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
33633         functions are used when GNULIB_POSIXCHECK is defined and the
33634         getaddrinfo module is not in use.
33635         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
33636         freeaddrinfo, gai_strerror, getnameinfo are declared.
33637         * modules/netdb (Depends-on): Add warn-on-use.
33638         (Makefile.am): Include warn-on-use.h in netdb.h.
33639
33640 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
33641
33642         build: avoid "make check" failure without .git/ directory
33643         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
33644         there is no .git/ directory.
33645
33646 2010-04-25  Bruno Haible  <bruno@clisp.org>
33647
33648         ptsname: Fix misuse of ttyname_r.
33649         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
33650         of errno.
33651
33652 2010-04-25  Bruno Haible  <bruno@clisp.org>
33653
33654         ttyname_r: Make it work on Solaris 10.
33655         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
33656         if the system function has the POSIX declaration. Test whether the
33657         function fails if the buffer is less than 128 bytes large.
33658         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
33659         system's ttyname_r function. Provide a reasonably large buffer.
33660         * modules/ttyname_r (Depends-on): Add extensions.
33661         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
33662
33663 2010-04-25  Bruno Haible  <bruno@clisp.org>
33664
33665         Use the 'extensions' module for some more functions on Solaris.
33666         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
33667         module.
33668         * doc/posix-functions/ctime_r.texi: Likewise.
33669         * doc/posix-functions/getgrgid_r.texi: Likewise.
33670         * doc/posix-functions/getgrnam_r.texi: Likewise.
33671         * doc/posix-functions/getpwnam_r.texi: Likewise.
33672         * doc/posix-functions/getpwuid_r.texi: Likewise.
33673         * doc/posix-functions/readdir_r.texi: Likewise.
33674         * doc/posix-functions/sigwait.texi: Likewise.
33675         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
33676         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
33677
33678 2010-04-25  Bruno Haible  <bruno@clisp.org>
33679
33680         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
33681         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
33682         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
33683         * lib/ttyname_r.c: Include <limits.h>.
33684         (ttyname_r): Define using the system's ttyname_r function, if it exists
33685         and not on Solaris.
33686         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
33687         set.
33688         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
33689         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
33690         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
33691         Reported by Simon Josefsson.
33692
33693 2010-04-25  Bruno Haible  <bruno@clisp.org>
33694
33695         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
33696         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
33697         * doc/posix-functions/ctime_r.texi: Likewise.
33698         * doc/posix-functions/getgrgid_r.texi: Likewise.
33699         * doc/posix-functions/getgrnam_r.texi: Likewise.
33700         * doc/posix-functions/getlogin_r.texi: Likewise.
33701         * doc/posix-functions/getpwnam_r.texi: Likewise.
33702         * doc/posix-functions/getpwuid_r.texi: Likewise.
33703         * doc/posix-functions/readdir_r.texi: Likewise.
33704         * doc/posix-functions/sigwait.texi: Likewise.
33705         * doc/posix-functions/ttyname_r.texi: Likewise.
33706         Reported by Simon Josefsson.
33707
33708 2010-04-25  Bruno Haible  <bruno@clisp.org>
33709
33710         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
33711         * gnulib-tool (func_usage): Document that --with-*-tests options apply
33712         also to --create-testdir.
33713         (func_acceptable): Don't consider the status of *-tests modules here.
33714         (func_modules_transitive_closure): Consider it here, before including a
33715         test module.
33716         (func_import, func_create_testdir): Set inc_all_direct_tests,
33717         inc_all_indirect_tests.
33718         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
33719         --create-testdir and --create-megatestdir.
33720
33721 2010-04-25  Bruno Haible  <bruno@clisp.org>
33722
33723         gnulib-tool: Add --without-*-tests options.
33724         * gnulib-tool (func_usage): Document the --without-*-tests options.
33725         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
33726         excl_unportable_tests): New variables.
33727         Fail if they are specified with --import or --update.
33728         (func_acceptable): Respect the excl_*_tests variables.
33729         (func_import): Set the excl_*_tests variables to empty.
33730
33731 2010-04-25  Simon Josefsson  <simon@josefsson.org>
33732             Bruno Haible  <bruno@clisp.org>
33733
33734         Work around a MacOS X 10.4 bug with openpty.
33735         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
33736         * tests/test-openpty.c (main): Close the master side explicitly.
33737
33738 2010-04-25  Bruno Haible  <bruno@clisp.org>
33739
33740         strnlen: Fix a C++ test error on MacOS X and Solaris.
33741         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
33742         the function is not declared.
33743         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
33744         Simon Josefsson.
33745
33746 2010-04-24  Bruno Haible  <bruno@clisp.org>
33747
33748         Avoid a gcc warning.
33749         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
33750         of correct type for %08lx directive.
33751         Reported by Eric Blake.
33752
33753 2010-04-24  Bruno Haible  <bruno@clisp.org>
33754
33755         vasnprintf: Correct errno value in case of out-of-memory.
33756         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
33757         or sprintf. Use the errno value from SNPRINTF or sprintf.
33758         Reported by Ian Beckwith <ianb@erislabs.net>.
33759
33760 2010-04-24  Bruno Haible  <bruno@clisp.org>
33761
33762         ansi-c++-opt: Find correct compiler when cross-compiling.
33763         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
33764         AC_CHECK_PROGS.
33765         Reported by Simon Josefsson.
33766
33767 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
33768
33769         vc-list-files: Add support for subversion
33770         * build-aux/vc-list-files: Use "svn list" to generate the list of
33771         files controlled by subversion.
33772
33773 2010-04-23  Jim Meyering  <meyering@redhat.com>
33774
33775         vc-list-files tests: convert to use init.sh
33776         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
33777         path_prepend_.
33778         Use Exit, not exit.
33779         Use skip_ rather than open coding it.
33780         Remove trap set-up and compare definitions.
33781         * tests/test-vc-list-files-git.sh: Likewise.
33782         * modules/vc-list-files-tests (Files): Add tests/init.sh.
33783
33784 2010-04-22  Simon Josefsson  <simon@josefsson.org>
33785
33786         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
33787         backup files.
33788
33789 2010-04-21  Simon Josefsson  <simon@josefsson.org>
33790
33791         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
33792
33793 2010-04-20  Eric Blake  <eblake@redhat.com>
33794
33795         tests: be robust to ignored SIGPIPE
33796         * tests/test-select-in.sh: Consume all output.
33797         * tests/test-lseek.sh: Check correct exit status, while avoiding
33798         EPIPE.
33799
33800 2010-04-20  Simon Josefsson  <simon@josefsson.org>
33801             Bruno Haible  <bruno@clisp.org>
33802
33803         visibility: Don't use -fvisibility if it leads to a warning.
33804         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
33805         yes, don't pretend that visibility works if it leads to a warning.
33806         Reported by Mike Gran <spk121@yahoo.com>.
33807
33808 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
33809
33810         * build-aux/bootstrap: Use "git -h" for testing for supported options
33811         instead of "git --help".  The short-form option only shows a summary,
33812         and doesn't layout the full man page.  Grep for the full option name
33813         in the summary, too.
33814
33815 2010-04-19  Bruno Haible  <bruno@clisp.org>
33816
33817         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
33818         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
33819         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
33820         mention of RELOCATABLE_STRIP.
33821         Reported by Sylvain Beucler <beuc@beuc.net>.
33822
33823 2010-04-19  Bruno Haible  <bruno@clisp.org>
33824
33825         * lib/diffseq.h: Fix typo in comment.
33826         Reported by Eric Blake.
33827
33828 2010-04-19  Bruno Haible  <bruno@clisp.org>
33829
33830         ioctl: Move autoconf macro to a .m4 file.
33831         * m4/ioctl.m4: New file, extracted from modules/ioctl.
33832         * modules/ioctl (Files): Add it.
33833         (configure.ac): Simply invoke gl_FUNC_IOCTL.
33834         Reported by Ian Beckwith <ianb@erislabs.net>.
33835
33836 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
33837             Bruno Haible  <bruno@clisp.org>
33838
33839         diffseq: Accommodate use-case with abstract arrays.
33840         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
33841         is not defined.
33842         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
33843         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
33844
33845 2010-04-18  Bruno Haible  <bruno@clisp.org>
33846
33847         * doc/posix-headers/stdbool.texi: More precise wording.
33848
33849 2010-04-17  Jim Meyering  <meyering@redhat.com>
33850
33851         maint.mk: use gnu-style indentation in an embedded perl script
33852         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
33853         Rename variable: s/two/last_two_bytes/
33854
33855 2010-04-16  Eric Blake  <eblake@redhat.com>
33856
33857         test-stdbool: skip test that fails with Solaris CC
33858         * tests/test-stdbool.c (f): Skip test that causes compilation
33859         error under buggy C++ compiler.
33860         * lib/stdbool.in.h: Document the limitation.
33861         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
33862
33863         setenv: allow compilation with C++
33864         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
33865         register keyword.
33866
33867         stdint: allow test to pass with C++
33868         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
33869
33870         getopt: allow compilation with C++
33871         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
33872         struct.
33873         * lib/getopt.c (_getopt_internal_r): Use correct type.
33874         Reported by Dagobert Michelson, via Joel E. Denny.
33875
33876 2010-04-16  Bruno Haible  <bruno@clisp.org>
33877
33878         Override netdb.h always.
33879         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
33880         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
33881         Reported by Ludovic Courtès <ludo@gnu.org>.
33882
33883 2010-04-15  Bruno Haible  <bruno@clisp.org>
33884
33885         openpty: Fix mistake from 2010-03-21.
33886         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
33887         Reported by Simon Josefsson.
33888
33889 2010-04-15  Eric Blake  <eblake@redhat.com>
33890
33891         test-forkpty: fix expected signature
33892         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
33893         Reported by Simon Josefsson.
33894
33895 2010-04-15  Jim Meyering  <meyering@redhat.com>
33896
33897         maint.mk: texinfo_suffix_re_: correct the default regexp
33898         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
33899
33900         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
33901         make it configurable via texinfo_suffix_re_.
33902
33903 2010-04-14  Eric Blake  <eblake@redhat.com>
33904
33905         strtok_r: relax license to LGPLv2+
33906         * modules/strtok_r (License): Relax license.
33907         Reported by Matthias Bolte.
33908
33909 2010-04-14  Simon Josefsson  <simon@josefsson.org>
33910
33911         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
33912         version 1.4.4 by default instead of requiring the libgcrypt
33913         version used during build.  This makes it possible to use the
33914         application with older but still binary compatible libgcrypt
33915         versions.
33916
33917 2010-04-13  Eric Blake  <eblake@redhat.com>
33918
33919         getopt-gnu: match recent glibc fixes and posix ruling
33920         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
33921         '+' handling, when requesting extensions.
33922         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
33923         'W;' handling.
33924         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
33925         * doc/posix-functions/getopt.texi (getopt): Document this.
33926         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33927         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33928         Likewise.
33929
33930         getopt: merge bug fixes from glibc
33931         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
33932         diagnostics.  Honor '+:' correctly.  Reject ';'.
33933
33934         getopt-posix: detect MacOS bug
33935         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
33936         optind when missing a required argument.
33937         * doc/posix-functions/getopt.texi (getopt): Document the bug.
33938         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33939         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33940         Likewise.
33941
33942         getopt-posix: avoid spurious failure on Solaris
33943         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
33944         an indicator that setting optind=1 is sufficient for reset.
33945
33946         getopt-posix: avoid spurious failure on FreeBSD
33947         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
33948         in POSIX mode, since the m4 test uses it.
33949
33950         gnulib-tool: silence warning on BSD sh
33951         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
33952
33953 2010-04-13  Jim Meyering  <meyering@redhat.com>
33954
33955         doc: users.txt: GNU patch now uses gnulib
33956         * users.txt: Add patch.
33957
33958 2010-04-12  Jim Meyering  <meyering@redhat.com>
33959
33960         maint.mk: generate more concise timing data for syntax-check rules
33961         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
33962         " done" from each line that reports a syntax-check test duration.
33963
33964 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
33965
33966         git-version-gen: use "git update-index..." rather than "git status"
33967         * build-aux/git-version-gen: Use git update-index --refresh, not
33968         "git status".  With some versions of git, "git status" would fail
33969         to update the index and result in an unwarranted "-dirty" suffix.
33970
33971 2010-04-11  Jim Meyering  <meyering@redhat.com>
33972
33973         openat: correct formatting (no semantic change)
33974         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
33975         Suggested by Bruno Haible.
33976
33977 2010-04-11  Bruno Haible  <bruno@clisp.org>
33978
33979         Stricter declaration checking in testdirs.
33980         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33981         If for_tests is true, augment AM_CPPFLAGS to define
33982         GNULIB_STRICT_CHECKING.
33983         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
33984         GNULIB_STRICT_CHECKING is defined, verify that the function is
33985         declared.
33986
33987 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
33988             Bruno Haible  <bruno@clisp.org>
33989
33990         libunistring: Improve configure output.
33991         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
33992         Don't say "consider installing GNU libunistring" when checking again
33993         with libiconv.
33994
33995 2010-04-11  Bruno Haible  <bruno@clisp.org>
33996
33997         libunistring: Correct value of $LTLIBUNISTRING.
33998         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
33999         correct the value of $LTLIBUNISTRING.
34000
34001 2010-04-11  Bruno Haible  <bruno@clisp.org>
34002
34003         havelib: Add static libraries to LIBS in the right order.
34004         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
34005         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
34006
34007 2010-04-11  Bruno Haible  <bruno@clisp.org>
34008
34009         libunistring: Detect libunistring also when it depends on libiconv.
34010         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
34011         the second AC_LIB_HAVE_LINKFLAGS invocation.
34012
34013 2010-04-11  James Youngman  <jay@gnu.org>
34014
34015         close-stream: declare local scalars to be "const"
34016         * lib/close-stream.c (close_stream): Make boolean variables const
34017         to document the fact that we set but do not change them.
34018
34019 2010-04-11  Bruno Haible  <bruno@clisp.org>
34020
34021         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
34022
34023 2010-04-11  Jim Meyering  <meyering@redhat.com>
34024
34025         maint.mk: don't include dist-check.mk
34026         * top/maint.mk: Remove bogus include directive.
34027
34028         maint.mk: improve empty-line-at-EOF check
34029         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
34030         solution, rather than tail+Perl-based one.  The latter would read
34031         a few kilobytes from the end of each file, and did not handle empty
34032         files properly.
34033
34034         maint.mk: print the elapsed time for each syntax-check rule
34035         * top/maint.mk (sc_m_rules_): Save start time in a file.
34036         (sc_z_rules_): New rules: remove temp file and print elapsed time.
34037         (local-check): Interpose the .z rules
34038
34039 2010-04-11  Jim Meyering  <meyering@redhat.com>
34040
34041         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
34042         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
34043         empty file with one that ends in an empty line.
34044
34045 2010-04-10  Bruno Haible  <bruno@clisp.org>
34046
34047         mkdir: Make it work on mingw64.
34048         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
34049         * lib/mkdir.c: Update comment.
34050         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
34051
34052 2010-04-10  Bruno Haible  <bruno@clisp.org>
34053
34054         Don't override improved macro from newer autoconf.
34055         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
34056         autoconf >= 2.62.
34057         Reported by Joel E. Denny <jdenny@clemson.edu>.
34058
34059 2010-04-10  Jim Meyering  <meyering@redhat.com>
34060
34061         maint.mk: new syntax-check rule: prohibit empty lines at end of file
34062         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
34063
34064         maint.mk: correct a diagnostic
34065         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
34066         in diagnostic; now use $prohibit.
34067
34068 2010-04-10  Bruno Haible  <address@hidden>
34069
34070         fchownat: Fix a C++ test error on Solaris 8.
34071         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
34072         the function does not exist.
34073
34074 2010-04-10  Bruno Haible  <bruno@clisp.org>
34075
34076         vasnprintf: Add more tests.
34077         * tests/test-vasnprintf-posix.c: Include <errno.h>.
34078         (test_function): Test converting an invalid wide string.
34079
34080         vasnprintf: Correct handling of unconvertible wide string arguments.
34081         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
34082         VASNPRINTF.
34083         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
34084         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
34085         smaller than the expected maximum need for the directive. Set errno to
34086         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
34087         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
34088         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
34089         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
34090         * modules/vasnprintf (Files): Add m4/printf.m4.
34091         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34092
34093 2010-04-10  Bruno Haible  <bruno@clisp.org>
34094
34095         vasnprintf: Fix crash in %ls directive.
34096         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
34097         string is passed as argument to %ls, with no precision and no width.
34098         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34099
34100 2010-04-10  Bruno Haible  <bruno@clisp.org>
34101
34102         vasnprintf: Fix multiple test failures on mingw.
34103         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
34104         _snprintf, or snwprintf, not _snwprintf.
34105
34106 2010-04-10  Bruno Haible  <bruno@clisp.org>
34107
34108         write: Fix a C++ test error on mingw.
34109         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
34110
34111 2010-04-10  Bruno Haible  <bruno@clisp.org>
34112
34113         vasnprintf test: Reduce code duplication.
34114         * tests/test-vasnprintf.c (test_function): New function, extracted from
34115         test_vasnprintf.
34116         (test_vasnprintf, test_asnprintf): Invoke it.
34117
34118 2010-04-10  Bruno Haible  <bruno@clisp.org>
34119
34120         strnlen: Fix warning in C++ mode on MacOS X.
34121         * lib/string.in.h (strnlen): Use the modern idiom.
34122         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
34123         defining strnlen as a macro already in <config.h>.
34124         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34125         REPLACE_STRNLEN.
34126         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
34127         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34128
34129 2010-04-08  James Youngman  <jay@gnu.org>
34130
34131         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
34132         the example.
34133
34134 2010-04-09  Jim Meyering  <meyering@redhat.com>
34135
34136         maint.mk: print better diagnostic when there is no $(_hv_file)
34137         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
34138         announce that when $(_hv_file) (aka help-version) does not exist.
34139
34140         init.sh: run tr in the "C" locale to avoid multibyte interpretation
34141         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
34142         not try to interpret its random input bytes.  Jarno Rajahalme reported
34143         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
34144         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
34145         (mktempd_): Likewise, just in case.
34146
34147         ftruncate: add two years to projected module removal date: 2012
34148         * m4/ftruncate.m4: Adjust comments.
34149
34150         ftruncate: mark module as obsolete; even MinGW provides it, now
34151         * modules/ftruncate (Status): Obsolete.
34152         (Notice): Say that.
34153         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
34154         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
34155
34156 2010-04-08  Bruno Haible  <bruno@clisp.org>
34157
34158         Fix side effects from tests-related modules.
34159         * modules/dprintf-posix (Comment): New section.
34160         * modules/fprintf-posix (Comment): Likewise.
34161         * modules/obstack-printf-posix (Comment): Likewise.
34162         * modules/printf-posix (Comment): Likewise.
34163         * modules/snprintf-posix (Comment): Likewise.
34164         * modules/sprintf-posix (Comment): Likewise.
34165         * modules/vasnprintf-posix (Comment): Likewise.
34166         * modules/vasprintf-posix (Comment): Likewise.
34167         * modules/vdprintf-posix (Comment): Likewise.
34168         * modules/vfprintf-posix (Comment): Likewise.
34169         * modules/vprintf-posix (Comment): Likewise.
34170         * modules/vsnprintf-posix (Comment): Likewise.
34171         * modules/vsprintf-posix (Comment): Likewise.
34172         * modules/xprintf-posix (Comment): Likewise.
34173         * modules/xvasprintf-posix (Comment): Likewise.
34174         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
34175         * modules/floorf-tests (Depends-on): Likewise.
34176         * modules/round-tests (Depends-on): Likewise.
34177         * modules/roundf-tests (Depends-on): Likewise.
34178         * modules/trunc-tests (Depends-on): Likewise.
34179         * modules/truncf-tests (Depends-on): Likewise.
34180         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
34181         'fprintf-posix' module is not present.
34182         * tests/test-floorf2.c (check): Likewise.
34183         * tests/test-trunc2.c (check): Likewise.
34184         * tests/test-truncf2.c (check): Likewise.
34185         * tests/test-round2.c (equal): Likewise.
34186         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34187
34188 2010-04-07  Karl Berry  <karl@gnu.org>
34189
34190         * config/srclist.txt,
34191         * config/srclistvars.sh,
34192         * config/srclist-update: doc fixes.
34193
34194 2010-04-07  Jim Meyering  <meyering@redhat.com>
34195
34196         maint.mk: add a PATH crosschecking syntax-check rule
34197         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
34198         Useful if you use a test like the one in help-version (coreutils,
34199         diffutils, grep, gzip) that ensures $(VERSION) matches what is
34200         printed by prog --version.
34201
34202 2010-04-06  Bruno Haible  <bruno@clisp.org>
34203
34204         Fix link error on mingw.
34205         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
34206         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
34207
34208 2010-04-06  Bruno Haible  <bruno@clisp.org>
34209
34210         Assume rmdir exists.
34211         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
34212
34213 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
34214
34215         doc: update users.txt
34216         * users.txt: Add gcal.
34217
34218 2010-04-06  Jim Meyering  <meyering@redhat.com>
34219
34220         init.sh: simply unset TMPDIR rather than risking env -i
34221         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
34222         although it probably works fine on all Unix-based systems, some
34223         systems (Cygwin?) cannot tolerate a totally cleared environment.
34224         Suggestion from Eric Blake.
34225
34226 2010-04-06  Jim Meyering  <meyering@redhat.com>
34227
34228         init.sh: portability fix: use env's POSIX-specified -i option not -u
34229         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
34230         than unportable env -u.  Solaris 5.11's env lacks support for -u.
34231
34232 2010-04-05  Bruno Haible  <bruno@clisp.org>
34233
34234         btowc: Work around Cygwin 1.7.2 bug.
34235         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
34236         does not map NUL to 0.
34237         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
34238
34239 2010-04-05  Bruno Haible  <bruno@clisp.org>
34240
34241         Make the multithread modules work on Cygwin 1.7.2.
34242         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
34243         imported symbols can be declared weak, so that it returns "no" on
34244         Cygwin 1.7.2.
34245
34246 2010-04-05  Bruno Haible  <bruno@clisp.org>
34247
34248         Use the module 'strncat'.
34249         * modules/unistr/u8-strncat (Depends-on): Add strncat.
34250
34251         Tests for module 'strncat'.
34252         * modules/strncat-tests: New file.
34253         * tests/test-strncat.c: New file.
34254
34255         New module 'strncat'.
34256         * lib/string.in.h (strncat): New declaration.
34257         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
34258         * m4/strncat.m4: New file, based on m4/memchr.m4.
34259         * modules/strncat: New file.
34260         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
34261         is declared.
34262         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
34263         REPLACE_STRNCAT.
34264         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
34265         REPLACE_STRNCAT.
34266         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
34267         module.
34268         * tests/test-string-c++.cc: Check signature of strncat.
34269
34270 2010-04-05  Jim Meyering  <meyering@redhat.com>
34271
34272         xstrtoumax-tests: convert to use init.sh
34273         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
34274         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34275         Use Exit, not exit.
34276         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34277
34278         xstrtoimax-tests: convert to use init.sh
34279         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
34280         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34281         Use Exit, not exit.
34282         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34283
34284 2010-04-05  Bruno Haible  <bruno@clisp.org>
34285
34286         sys_socket: Avoid #define replacements in C++ mode.
34287         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
34288         warning to the function if possible, rather than #defining the symbol
34289         to a dysfunctional alias.
34290
34291 2010-04-05  Bruno Haible  <bruno@clisp.org>
34292
34293         fseeko: Fix C++ test error on mingw.
34294         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
34295         gl_FUNC_FSEEKO.
34296         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
34297         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
34298         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
34299         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
34300
34301 2010-04-05  Bruno Haible  <bruno@clisp.org>
34302
34303         duplocale: Improve test output.
34304         * tests/test-duplocale.c (main): Print reason for skipped test.
34305
34306 2010-04-05  Bruno Haible  <bruno@clisp.org>
34307
34308         Assume rmdir exists.
34309         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
34310         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
34311
34312 2010-04-05  Bruno Haible  <bruno@clisp.org>
34313
34314         Fix link error on Solaris 8 with cc.
34315         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
34316
34317 2010-04-05  Bruno Haible  <bruno@clisp.org>
34318
34319         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34320         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
34321
34322 2010-04-05  Bruno Haible  <bruno@clisp.org>
34323
34324         vasprintf: Update documentation.
34325         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
34326
34327 2010-04-05  Bruno Haible  <bruno@clisp.org>
34328
34329         ptsname: Improve test.
34330         * tests/test-ptsname.c (main): Also try the various master names of BSD
34331         systems.
34332
34333 2010-04-05  Bruno Haible  <bruno@clisp.org>
34334
34335         memchr: Avoid a possible C++ test error.
34336         * lib/string.in.h (memchr): Provide declaration if function is missing.
34337         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
34338         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
34339         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
34340         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
34341
34342 2010-04-05  Bruno Haible  <bruno@clisp.org>
34343
34344         strtok_r: Improve idiom.
34345         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
34346         AC_LIBOBJ is used.
34347
34348 2010-04-05  Bruno Haible  <bruno@clisp.org>
34349
34350         strdup: Improve idiom.
34351         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
34352         AC_LIBOBJ is used.
34353         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
34354         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
34355         when AC_LIBOBJ is used.
34356
34357 2010-04-05  Bruno Haible  <bruno@clisp.org>
34358
34359         mbsinit, mbrtowc, wcrtomb: Improve idioms.
34360         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
34361         don't set REPLACE_MBSINIT to 1.
34362         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
34363         don't set REPLACE_MBRTOWC to 1.
34364         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
34365         exist, don't set REPLACE_MBSRTOWCS to 1.
34366         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
34367         exist, don't set REPLACE_MBSNRTOWCS to 1.
34368         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
34369         don't set REPLACE_WCRTOMB to 1.
34370         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
34371         exist, don't set REPLACE_WCSRTOMBS to 1.
34372         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
34373         exist, don't set REPLACE_WCSNRTOMBS to 1.
34374
34375 2010-04-05  Bruno Haible  <bruno@clisp.org>
34376
34377         ldexpl: Improve idiom.
34378         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
34379         make sure to set HAVE_DECL_LDEXPL to 0.
34380
34381 2010-04-05  Jim Meyering  <meyering@redhat.com>
34382
34383         xstrtol-tests: convert to use init.sh
34384         * modules/xstrtol-tests (Files): Add tests/init.sh.
34385         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34386         Use Exit, not exit.
34387         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34388
34389         atexit-tests: convert to use init.sh
34390         * modules/atexit-tests (Files): Add tests/init.sh.
34391         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34392         Use Exit, not exit.
34393         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34394
34395         init.sh: fix typo
34396         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
34397
34398         init.sh: make it easier for a test script to write to the tty, ...
34399         when using automake's parallel-tests mode.
34400         * tests/init.sh (stderr_fileno_): Define overridable variable.
34401         (warn_): New function, to use it.
34402         (fail_, skip_, framework_failure_): Use warn_.
34403
34404 2010-04-04  Bruno Haible  <bruno@clisp.org>
34405
34406         btowc: Avoid warning.
34407         * lib/btowc.c: Include <stdlib.h>.
34408         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
34409
34410 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34411             Bruno Haible  <bruno@clisp.org>
34412
34413         wchar: Port to NetBSD 1.5.
34414         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
34415         * lib/wctype.in.h (WEOF): Likewise.
34416
34417 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34418             Bruno Haible  <bruno@clisp.org>
34419
34420         Port extended stdio to NetBSD 1.5.
34421         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
34422         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
34423         older.
34424
34425 2010-04-04  Bruno Haible  <bruno@clisp.org>
34426
34427         string: Remove unused substitution.
34428         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
34429         HAVE_DECL_STRERROR.
34430         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
34431
34432 2010-04-04  Bruno Haible  <bruno@clisp.org>
34433
34434         strtod: Avoid a possible C++ test error.
34435         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
34436         set REPLACE_STRTOD.
34437
34438 2010-04-04  Bruno Haible  <bruno@clisp.org>
34439
34440         strerror: Update documentation.
34441         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
34442
34443 2010-04-04  Bruno Haible  <bruno@clisp.org>
34444
34445         stdio: Fix some C++ test errors on Solaris 8 with GCC.
34446         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
34447         _GL_CXXALIAS_SYS_CAST.
34448
34449 2010-04-04  Bruno Haible  <bruno@clisp.org>
34450
34451         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34452         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
34453         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
34454         REPLACE_FREXPL to 1.
34455         * doc/posix-functions/frexpl.texi: Update documentation.
34456
34457 2010-04-04  Bruno Haible  <bruno@clisp.org>
34458
34459         math: Fix some C++ test errors on Solaris 8 and Cygwin.
34460         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
34461
34462 2010-04-04  Bruno Haible  <bruno@clisp.org>
34463
34464         Implement nanosleep for native Windows.
34465         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
34466
34467 2010-04-04  Bruno Haible  <bruno@clisp.org>
34468
34469         math: Fix some C++ test errors on Solaris 8.
34470         * lib/math.in.h (truncf, trunc): Use simpler idiom.
34471
34472 2010-04-04  Bruno Haible  <bruno@clisp.org>
34473
34474         math: Fix some C++ test errors on Cygwin.
34475         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
34476         truncl): Provide declaration if the system does not have it.
34477         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
34478         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
34479         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
34480         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
34481         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
34482         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
34483         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
34484         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
34485         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
34486         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
34487         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
34488         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
34489         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
34490         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
34491         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
34492         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
34493         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
34494         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34495         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34496         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
34497         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34498         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34499
34500 2010-04-04  Bruno Haible  <bruno@clisp.org>
34501
34502         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
34503         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34504         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
34505         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
34506         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
34507         * m4/isinf.m4 (gl_ISINF): Likewise.
34508         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34509
34510 2010-04-04  Bruno Haible  <bruno@clisp.org>
34511
34512         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
34513         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34514
34515 2010-04-04  Bruno Haible  <bruno@clisp.org>
34516
34517         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
34518         * modules/tmpfile (configure.ac): Update.
34519
34520         tmpfile: Fix C++ test error on mingw.
34521         * lib/stdio.in.h (tmpfile): New declaration.
34522         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
34523         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
34524         * modules/tmpfile (Depends-on): Add stdio.
34525         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
34526         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
34527         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
34528         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
34529         REPLACE_TMPFILE.
34530         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
34531
34532 2010-04-04  Bruno Haible  <bruno@clisp.org>
34533
34534         ioctl: Fix C++ test error on mingw.
34535         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
34536         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
34537         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
34538
34539 2010-04-03  Bruno Haible  <bruno@clisp.org>
34540
34541         wcwidth: Fix C++ test error on mingw.
34542         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
34543         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
34544         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
34545
34546 2010-04-03  Bruno Haible  <bruno@clisp.org>
34547
34548         nanosleep: Fix C++ test error on mingw.
34549         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
34550         * lib/time.in.h (nanosleep): Use modern idiom.
34551         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
34552         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
34553         REPLACE_NANOSLEEP to 1.
34554         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
34555         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
34556
34557 2010-04-03  Bruno Haible  <bruno@clisp.org>
34558
34559         strptime: Fix C++ test error on mingw.
34560         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
34561         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
34562         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
34563         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
34564         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
34565         not REPLACE_STRPTIME.
34566         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
34567         REPLACE_STRPTIME.
34568
34569 2010-04-03  Bruno Haible  <bruno@clisp.org>
34570
34571         timegm: Fix C++ test error on mingw.
34572         * lib/time.in.h (timegm): Use modern idiom.
34573         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
34574         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
34575         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
34576         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
34577
34578 2010-04-03  Bruno Haible  <bruno@clisp.org>
34579
34580         timegm: Assume declaration if function exists.
34581         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
34582         if it exists. Don't clobber ac_cv_func_timegm.
34583
34584 2010-04-03  Bruno Haible  <bruno@clisp.org>
34585
34586         time_r: Fix C++ test error on mingw.
34587         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
34588         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
34589         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
34590         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
34591         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
34592
34593 2010-04-03  Bruno Haible  <bruno@clisp.org>
34594
34595         time_r: Minor updates.
34596         * modules/time_r (Description): Mention the provided functions.
34597         * lib/time_r.c: Don't include <string.h>.
34598         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
34599         * doc/posix-functions/localtime_r.texi: Likewise.
34600
34601 2010-04-03  Bruno Haible  <bruno@clisp.org>
34602
34603         time: Fix regression introduced on 2010-03-08.
34604         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
34605         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
34606
34607 2010-04-03  Jim Meyering  <meyering@redhat.com>
34608
34609         maint.mk: don't silently disable project-specific syntax-check rules
34610         * top/maint.mk (_prohibit_regexp): Define, to help people realize
34611         that they need to convert their project-specific syntax-check rules
34612         to use the new _sc_search_regexp.
34613
34614 2010-04-03  Bruno Haible  <bruno@clisp.org>
34615
34616         fchdir: Fix regression introduced on 2010-03-08.
34617         * lib/unistd.in.h (fchdir): Fix declaration.
34618         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
34619         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
34620         REPLACE_FCHDIR.
34621         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
34622         REPLACE_FCHDIR.
34623
34624 2010-04-03  Bruno Haible  <bruno@clisp.org>
34625
34626         getpagesize: Fix C++ test error on mingw.
34627         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
34628         system does not declare the function.
34629         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
34630         declared.
34631         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34632         HAVE_DECL_GETPAGESIZE.
34633         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
34634
34635 2010-04-03  Bruno Haible  <bruno@clisp.org>
34636
34637         stdio: Make C++ tests work on mingw.
34638         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
34639         does not declare the function.
34640
34641 2010-04-03  Bruno Haible  <bruno@clisp.org>
34642
34643         ftello: Fix C++ test error on mingw.
34644         * lib/stdio.in.h (ftello): Use modern idiom.
34645         * lib/ftello.c (ftello): Renamed from rpl_ftello.
34646         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
34647         is missing and that it needs to be replaced.
34648         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
34649         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
34650         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
34651
34652 2010-04-03  Bruno Haible  <bruno@clisp.org>
34653
34654         fseeko: Fix C++ test error on mingw.
34655         * lib/stdio.in.h (fseeko): Use modern idiom.
34656         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
34657         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
34658         is missing and that it needs to be replaced.
34659         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
34660         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
34661         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
34662
34663 2010-04-03  Bruno Haible  <bruno@clisp.org>
34664
34665         mkstemp: Fix C++ test error on mingw.
34666         * lib/stdlib.in.h (mkstemp): Use modern idiom.
34667         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
34668         function is missing and that it needs to be replaced.
34669         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
34670         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
34671
34672 2010-04-03  Bruno Haible  <bruno@clisp.org>
34673
34674         stpncpy: Fix C++ test error on mingw.
34675         * lib/string.in.h (stpncpy): Use modern idiom.
34676         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
34677         function is missing and that it needs to be replaced.
34678         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34679         REPLACE_STPNCPY.
34680         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
34681
34682 2010-04-03  Bruno Haible  <bruno@clisp.org>
34683
34684         sys_stat: Fix C++ test error on mingw.
34685         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
34686         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
34687
34688 2010-04-03  Bruno Haible  <bruno@clisp.org>
34689
34690         pty: Update doc.
34691         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
34692
34693 2010-04-03  Bruno Haible  <bruno@clisp.org>
34694
34695         unistd: Fix C++ test error on mingw.
34696         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
34697
34698 2010-04-03  Bruno Haible  <bruno@clisp.org>
34699
34700         Update doc regarding mingw.
34701         * doc/glibc-functions/openpty.texi: Update regarding mingw.
34702         * doc/glibc-functions/login_tty.texi: Likewise.
34703         * doc/glibc-functions/forkpty.texi: Likewise.
34704
34705 2010-04-03  Bruno Haible  <bruno@clisp.org>
34706
34707         stdlib: Avoid compilation failure of c-strtold on mingw.
34708         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
34709
34710 2010-04-03  Bruno Haible  <bruno@clisp.org>
34711
34712         locale: Make C++ tests work on Cygwin and mingw.
34713         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
34714         cannot provide the function.
34715         Reported by Simon Josefsson.
34716
34717 2010-04-03  Bruno Haible  <bruno@clisp.org>
34718
34719         localename: Port to MacOS X 10.6.
34720         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
34721         memory layout of the locales in MacOS X 10.6 as well.
34722         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
34723
34724 2010-04-02  Bruno Haible  <bruno@clisp.org>
34725
34726         gnulib-tool: Ensure that long-running tests are executed last.
34727         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
34728         running tests after the one for the other tests.
34729
34730 2010-04-02  Bruno Haible  <bruno@clisp.org>
34731
34732         gnulib-tool: Ensure the tests in the main directory are executed first.
34733         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
34734         start with the current directory.
34735
34736 2010-04-02  Bruno Haible  <bruno@clisp.org>
34737
34738         Tests for module 'havelib', moved here from GNU gettext.
34739         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
34740         modifications.
34741         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
34742         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
34743         with modifications.
34744         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
34745         modifications.
34746         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
34747         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
34748         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
34749         with modifications.
34750         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
34751         with modifications.
34752         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
34753         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
34754         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
34755         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
34756         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
34757         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
34758         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
34759         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
34760         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
34761         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
34762         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
34763         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
34764         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
34765         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
34766         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
34767         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
34768         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
34769         with modifications.
34770         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
34771         with modifications.
34772         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
34773         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
34774         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
34775         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
34776         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
34777         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
34778         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
34779         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
34780         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
34781         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
34782         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
34783         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
34784         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
34785         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
34786         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
34787         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
34788         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
34789         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
34790         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
34791         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
34792         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
34793         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
34794         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
34795         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
34796         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
34797         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
34798         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
34799         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
34800         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
34801         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
34802         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
34803         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
34804         * tests/havelib/rpathx/rpathx.c: New file, from
34805         gettext/autoconf-lib-link.
34806         * tests/havelib/rpathx/Makefile.am: New file, from
34807         gettext/autoconf-lib-link.
34808         * tests/havelib/rpathx/configure.ac: New file, from
34809         gettext/autoconf-lib-link with modifications.
34810         * tests/havelib/rpathy/rpathy.c: New file, from
34811         gettext/autoconf-lib-link.
34812         * tests/havelib/rpathy/Makefile.am: New file, from
34813         gettext/autoconf-lib-link.
34814         * tests/havelib/rpathy/configure.ac: New file, from
34815         gettext/autoconf-lib-link with modifications.
34816         * tests/havelib/rpathz/rpathz.c: New file, from
34817         gettext/autoconf-lib-link.
34818         * tests/havelib/rpathz/Makefile.am: New file, from
34819         gettext/autoconf-lib-link.
34820         * tests/havelib/rpathz/configure.ac: New file, from
34821         gettext/autoconf-lib-link with modifications.
34822         * tests/havelib/rpathlx/usex.c: New file, from
34823         gettext/autoconf-lib-link.
34824         * tests/havelib/rpathlx/Makefile.am: New file, from
34825         gettext/autoconf-lib-link.
34826         * tests/havelib/rpathlx/configure.ac: New file, from
34827         gettext/autoconf-lib-link with modifications.
34828         * tests/havelib/rpathly/usey.c: New file, from
34829         gettext/autoconf-lib-link.
34830         * tests/havelib/rpathly/Makefile.am: New file, from
34831         gettext/autoconf-lib-link.
34832         * tests/havelib/rpathly/configure.ac: New file, from
34833         gettext/autoconf-lib-link with modifications.
34834         * tests/havelib/rpathlz/usez.c: New file, from
34835         gettext/autoconf-lib-link.
34836         * tests/havelib/rpathlz/Makefile.am: New file, from
34837         gettext/autoconf-lib-link.
34838         * tests/havelib/rpathlz/configure.ac: New file, from
34839         gettext/autoconf-lib-link with modifications.
34840         * tests/havelib/rpathlyx/usey.c: New file, from
34841         gettext/autoconf-lib-link.
34842         * tests/havelib/rpathlyx/Makefile.am: New file, from
34843         gettext/autoconf-lib-link.
34844         * tests/havelib/rpathlyx/configure.ac: New file, from
34845         gettext/autoconf-lib-link with modifications.
34846         * tests/havelib/rpathlzyx/usez.c: New file, from
34847         gettext/autoconf-lib-link.
34848         * tests/havelib/rpathlzyx/Makefile.am: New file, from
34849         gettext/autoconf-lib-link.
34850         * tests/havelib/rpathlzyx/configure.ac: New file, from
34851         gettext/autoconf-lib-link with modifications.
34852         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
34853         with modifications.
34854
34855 2010-04-02  Bruno Haible  <bruno@clisp.org>
34856
34857         gnulib-tool: Create distributed built sources also for the tests.
34858         * gnulib-tool (func_create_testdir): Also generate distributed built
34859         sources in the tests directory.
34860
34861 2010-04-02  Bruno Haible  <bruno@clisp.org>
34862
34863         gnulib-tool: Obey user's environment variables.
34864         * gnulib-tool (func_create_testdir): When creating built sources,
34865         respect the environment variables for autoconf, automake, etc. given by
34866         the user.
34867
34868 2010-04-02  Bruno Haible  <bruno@clisp.org>
34869
34870         gnulib-tool: Provide the value of --m4-base to modules.
34871         * gnulib-tool (func_import, func_create_testdir): Emit a definition
34872         of gl_m4_base.
34873
34874 2010-04-02  Eric Blake  <eblake@redhat.com>
34875
34876         maint.mk: fix some fallout
34877         * NEWS: Document the incompatible change, and its effect on cfg.mk.
34878         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
34879
34880 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34881
34882         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
34883         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
34884         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
34885         (sc_cast_of_x_alloc_return_value): Likewise.
34886         (sc_cast_of_alloca_return_value): Likewise.
34887         (sc_space_tab): Likewise.
34888         (sc_prohibit_atoi_atof): Likewise.
34889         (sc_prohibit_magic_number_exit): Likewise.
34890         (sc_error_exit_success): Likewise.
34891         (sc_file_system): Likewise.
34892         (sc_prohibit_have_config_h): Likewise.
34893         (sc_require_config_h): Likewise.
34894         (sc_prohibit_HAVE_MBRTOWC): Likewise.
34895         (sc_obsolete_symbols): Likewise.
34896         (sc_changelog): Likewise.
34897         (sc_program_name): Likewise.
34898         (sc_the_the): Likewise.
34899         (sc_trailing_blank): Likewise.
34900         (sc_two_space_separator_in_usage): Likewise.
34901         (sc_useless_cpp_parens): Likewise.
34902         (sc_GPL_version): Likewise.
34903         (sc_GFDL_version): Likewise.
34904         (sc_texinfo_acronym): Likewise.
34905         (sc_prohibit_cvs_keyword): Likewise.
34906         (sc_prohibit_stat_st_blocks): Likewise.
34907         (sc_prohibit_S_IS_definition): Likewise.
34908         (sc_redundant_const): Likewise.
34909         (sc_makefile_TAB_only_indentation): Likewise.
34910         (sc_m4_quote_check): Likewise.
34911         (sc_makefile_path_separator_check): Likewise.
34912         (sc_copyright_check): Likewise.
34913         (sc_Wundef_boolean): Likewise.
34914         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
34915
34916         maint.mk: match 0 or more whitespace-before-function-call '('
34917         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
34918         that have zero or two-and-more spaces between the function name
34919         and the open parenthesis.
34920         (sc_error_message_warn_fatal): Likewise.
34921         (sc_error_message_uppercase): Likewise.
34922         (sc_error_message_period): Likewise.
34923
34924 2010-03-31  Eric Blake  <eblake@redhat.com>
34925
34926         maint.mk: check for [ as well as test
34927         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
34928         Based on a libvirt report by Matthias Bolte.
34929
34930         gnumakefile: don't squelch _version output
34931         * top/GNUmakefile (_version): Create one-shot dependency rather
34932         than using $(shell) when version must be regenerated.
34933         (_autoreconf): Run verbosely, by default.
34934
34935         sys_time: avoid compiler warnings
34936         * lib/sys_time.in.h (includes): Ensure gcc pragma is
34937         unconditional, fixing regression from 2010-03-29.
34938         Reported by Simon Josefsson.
34939
34940 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34941
34942         maint.mk: s/_header_without_use/_sc_header_without_use/
34943         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
34944         (sc_prohibit_assert_without_use): Use the new name.
34945         (sc_prohibit_close_stream_without_use): Likewise.
34946         (sc_prohibit_getopt_without_use): Likewise.
34947         (sc_prohibit_quotearg_without_use): Likewise.
34948         (sc_prohibit_quote_without_use): Likewise.
34949         (sc_prohibit_long_options_without_use): Likewise.
34950         (sc_prohibit_inttostr_without_use): Likewise.
34951         (sc_prohibit_ignore_value_without_use): Likewise.
34952         (sc_prohibit_error_without_use): Likewise.
34953         (sc_prohibit_xalloc_without_use): Likewise.
34954         (sc_prohibit_hash_without_use): Likewise.
34955         (sc_prohibit_hash_pjw_without_use): Likewise.
34956         (sc_prohibit_safe_read_without_use): Likewise.
34957         (sc_prohibit_argmatch_without_use): Likewise.
34958         (sc_prohibit_canonicalize_without_use): Likewise.
34959         (sc_prohibit_root_dev_ino_without_use): Likewise.
34960         (sc_prohibit_openat_without_use): Likewise.
34961         (sc_prohibit_c_ctype_without_use): Likewise.
34962         (sc_prohibit_signal_without_use): Likewise.
34963         (sc_prohibit_intprops_without_use): Likewise.
34964
34965 2010-03-30  Eric Blake  <eblake@redhat.com>
34966
34967         maint: improve module indicators
34968         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
34969         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
34970         columns, and avoid extra macro expansion.
34971
34972         fdopendir: work around FreeBSD bug
34973         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
34974         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
34975         * modules/dirent (Makefile.am): Substitute it.
34976         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
34977         declaration.
34978         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
34979         fix.
34980         Reported by Christian Weisgerber <naddy@mips.inka.de>.
34981
34982 2010-03-29  Bruno Haible  <bruno@clisp.org>
34983
34984         Emit #pragma system_header after the inclusion guard, not before.
34985         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
34986         guard that spans the entire file, not before. This enables an
34987         optimization in GCC's preprocessor.
34988         * lib/ctype.in.h: Likewise.
34989         * lib/dirent.in.h: Likewise.
34990         * lib/errno.in.h: Likewise.
34991         * lib/float.in.h: Likewise.
34992         * lib/getopt.in.h: Likewise.
34993         * lib/iconv.in.h: Likewise.
34994         * lib/langinfo.in.h: Likewise.
34995         * lib/locale.in.h: Likewise.
34996         * lib/math.in.h: Likewise.
34997         * lib/netdb.in.h: Likewise.
34998         * lib/netinet_in.in.h: Likewise.
34999         * lib/pty.in.h: Likewise.
35000         * lib/sched.in.h: Likewise.
35001         * lib/se-selinux.in.h: Likewise.
35002         * lib/search.in.h: Likewise.
35003         * lib/spawn.in.h: Likewise.
35004         * lib/stdarg.in.h: Likewise.
35005         * lib/stdint.in.h: Likewise.
35006         * lib/string.in.h: Likewise.
35007         * lib/strings.in.h: Likewise.
35008         * lib/sys_file.in.h: Likewise.
35009         * lib/sys_ioctl.in.h: Likewise.
35010         * lib/sys_time.in.h: Likewise.
35011         * lib/sys_times.in.h: Likewise.
35012         * lib/sys_utsname.in.h: Likewise.
35013         * lib/sys_wait.in.h: Likewise.
35014         * lib/sysexits.in.h: Likewise.
35015         * lib/wctype.in.h: Likewise.
35016
35017 2010-03-28  James Youngman  <jay@gnu.org>
35018
35019         save-cwd: don't leak a file descriptor when the caller execs.
35020         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
35021         saved file descriptor.
35022         * modules/save-cwd (Depends-on): Depend on cloexec.
35023
35024 2010-03-29  Bruno Haible  <bruno@clisp.org>
35025
35026         Remove vestiges of fts-lgpl module.
35027         * lib/fts_.h: Assume GNULIB_FTS is 1.
35028         * lib/fts.c: Likewise.
35029         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35030
35031 2010-03-28  Bruno Haible  <bruno@clisp.org>
35032
35033         Fix definition of tests witness macro.
35034         * gnulib-tool (func_import): Fix definition of witness macro.
35035
35036 2010-03-28  Bruno Haible  <bruno@clisp.org>
35037
35038         Fix ioctl's protoype on glibc systems.
35039         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
35040         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
35041         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
35042         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
35043         signature. If not, arrange to replace the ioctl function.
35044         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
35045         REPLACE_IOCTL.
35046         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
35047         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
35048         Reported by Ludovic Courtès <ludo@gnu.org>.
35049
35050 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
35051
35052         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
35053         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
35054         made it so grep -r --include=GLOB* ... did not work.
35055
35056 2010-03-26  Jim Meyering  <meyering@redhat.com>
35057             Eric Blake  <eblake@redhat.com>
35058
35059         maint.mk: prohibit use of test's -o and -a operators
35060         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
35061
35062 2010-03-28  Bruno Haible  <bruno@clisp.org>
35063
35064         Remove unused GNULIB_XYZ macro definitions.
35065         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
35066         invocation.
35067
35068 2010-03-28  Bruno Haible  <bruno@clisp.org>
35069
35070         Mark privileged tests modules.
35071         * modules/idpriv-drop-tests (Status): New section.
35072         * modules/idpriv-droptemp-tests (Status): New section.
35073
35074 2010-03-28  Bruno Haible  <bruno@clisp.org>
35075
35076         Split C++ tests into separate tests modules.
35077         * modules/dirent-c++-tests: New file, extracted from
35078         modules/dirent-tests.
35079         * modules/dirent-tests: Depend on it.
35080         * modules/fcntl-h-c++-tests: New file, extracted from
35081         modules/fcntl-h-tests.
35082         * modules/fcntl-h-tests: Depend on it.
35083         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
35084         * modules/glob-tests: Depend on it.
35085         * modules/iconv-h-c++-tests: New file, extracted from
35086         modules/iconv-h-tests.
35087         * modules/iconv-h-tests: Depend on it.
35088         * modules/langinfo-c++-tests: New file, extracted from
35089         modules/langinfo-tests.
35090         * modules/langinfo-tests: Depend on it.
35091         * modules/locale-c++-tests: New file, extracted from
35092         modules/locale-tests.
35093         * modules/locale-tests: Depend on it.
35094         * modules/math-c++-tests: New file, extracted from modules/math-tests.
35095         * modules/math-tests: Depend on it.
35096         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
35097         * modules/pty-tests: Depend on it.
35098         * modules/search-c++-tests: New file, extracted from
35099         modules/search-tests.
35100         * modules/search-tests: Depend on it.
35101         * modules/signal-c++-tests: New file, extracted from
35102         modules/signal-tests.
35103         * modules/signal-tests: Depend on it.
35104         * modules/spawn-c++-tests: New file, extracted from
35105         modules/spawn-tests.
35106         * modules/spawn-tests: Depend on it.
35107         * modules/stdio-c++-tests: New file, extracted from
35108         modules/stdio-tests.
35109         * modules/stdio-tests: Depend on it.
35110         * modules/stdlib-c++-tests: New file, extracted from
35111         modules/stdlib-tests.
35112         * modules/stdlib-tests: Depend on it.
35113         * modules/string-c++-tests: New file, extracted from
35114         modules/string-tests.
35115         * modules/string-tests: Depend on it.
35116         * modules/sys_ioctl-c++-tests: New file, extracted from
35117         modules/sys_ioctl-tests.
35118         * modules/sys_ioctl-tests: Depend on it.
35119         * modules/sys_select-c++-tests: New file, extracted from
35120         modules/sys_select-tests.
35121         * modules/sys_select-tests: Depend on it.
35122         * modules/sys_socket-c++-tests: New file, extracted from
35123         modules/sys_socket-tests.
35124         * modules/sys_socket-tests: Depend on it.
35125         * modules/sys_stat-c++-tests: New file, extracted from
35126         modules/sys_stat-tests.
35127         * modules/sys_stat-tests: Depend on it.
35128         * modules/sys_time-c++-tests: New file, extracted from
35129         modules/sys_time-tests.
35130         * modules/sys_time-tests: Depend on it.
35131         * modules/time-c++-tests: New file, extracted from modules/time-tests.
35132         * modules/time-tests: Depend on it.
35133         * modules/unistd-c++-tests: New file, extracted from
35134         modules/unistd-tests.
35135         * modules/unistd-tests: Depend on it.
35136         * modules/wchar-c++-tests: New file, extracted from
35137         modules/wchar-tests.
35138         * modules/wchar-tests: Depend on it.
35139         * modules/wctype-c++-tests: New file, extracted from
35140         modules/wctype-tests.
35141         * modules/wctype-tests: Depend on it.
35142         Reported by Simon Josefsson.
35143
35144 2010-03-28  Bruno Haible  <bruno@clisp.org>
35145
35146         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
35147         * gnulib-tool (func_exists_module): New function, extracted from
35148         func_verify_module.
35149         (func_verify_module): Use it.
35150         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
35151         'foo' only if 'foo' exists.
35152         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
35153         module.
35154
35155 2010-03-28  Bruno Haible  <bruno@clisp.org>
35156
35157         gnulib-tool: Add support for special categories of tests.
35158         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
35159         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
35160         (func_usage): Document them.
35161         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
35162         inc_unportable_tests, inc_all_tests): New variables.
35163         (func_acceptable): Consider these variables.
35164         (func_modules_transitive_closure): Make it work when the 'Status' field
35165         consists of multiple words.
35166         (func_import): Store and restore the values of inc_cxx_tests,
35167         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
35168         inc_all_tests in gnulib-comp.m4.
35169         (func_create_testdir): Set inc_all_tests to true.
35170         * doc/gnulib.texi (Extra tests modules): New section.
35171         Suggested by Jim Meyering.
35172
35173 2010-03-28  Bruno Haible  <bruno@clisp.org>
35174
35175         ansi-c++-opt: Allow turning off the C++ build by default.
35176         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
35177         gl_CXX_CHOICE_DEFAULT_NO is defined.
35178         Requested by Eric Blake.
35179
35180 2010-03-28  Bruno Haible  <bruno@clisp.org>
35181
35182         unistd: Avoid #define replacements in C++ mode.
35183         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
35184         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
35185         setsockopt, shutdown, select): In C++, attach a warning to the function
35186         if possible, rather than #defining the symbol to a dysfunctional alias.
35187         Reported by John W. Eaton <jwe@gnu.org>.
35188
35189 2010-03-28  Bruno Haible  <bruno@clisp.org>
35190
35191         Fix link errors on mingw.
35192         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
35193         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
35194         $(LIBSOCKET).
35195         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
35196         $(LIBSOCKET).
35197
35198 2010-03-28  Bruno Haible  <bruno@clisp.org>
35199             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35200
35201         lib-ignore: Determine different options for different compilers.
35202         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
35203         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
35204         Add comments.
35205         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
35206         * NEWS: Mention the change.
35207
35208 2010-03-27  Bruno Haible  <bruno@clisp.org>
35209
35210         Remove unused GNULIB_XYZ macro definitions.
35211         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35212         * modules/fseek (configure.ac): Likewise.
35213         * modules/ioctl (configure.ac): Likewise.
35214         * modules/open (configure.ac): Likewise.
35215         * modules/stdlib-safer (configure.ac): Likewise.
35216
35217 2010-03-27  Bruno Haible  <bruno@clisp.org>
35218
35219         Add a remark about certain modules.
35220         * modules/malloc (Comment): New section.
35221         * modules/realloc (Comment): Likewise.
35222         * modules/sigpipe (Comment): Likewise.
35223
35224 2010-03-27  Bruno Haible  <bruno@clisp.org>
35225
35226         Resolve conflict between the two kinds of module indicators.
35227         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
35228         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
35229         * modules/canonicalize (configure.ac): Invoke
35230         gl_MODULE_INDICATOR_FOR_TESTS.
35231         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
35232         GNULIB_XYZ.
35233         * tests/test-dirent-c++.cc: Likewise.
35234         * tests/test-dirent-safer.c: Likewise.
35235         * tests/test-dup2.c: Likewise.
35236         * tests/test-fchdir.c: Likewise.
35237         * tests/test-fcntl-h-c++.cc: Likewise.
35238         * tests/test-getopt.c: Likewise.
35239         * tests/test-getopt.h: Likewise.
35240         * tests/test-langinfo-c++.cc: Likewise.
35241         * tests/test-locale-c++.cc: Likewise.
35242         * tests/test-math-c++.cc: Likewise.
35243         * tests/test-pty-c++.cc: Likewise.
35244         * tests/test-search-c++.cc: Likewise.
35245         * tests/test-signal-c++.cc: Likewise.
35246         * tests/test-spawn-c++.cc: Likewise.
35247         * tests/test-stdio-c++.cc: Likewise.
35248         * tests/test-stdlib-c++.cc: Likewise.
35249         * tests/test-string-c++.cc: Likewise.
35250         * tests/test-sys_ioctl-c++.cc: Likewise.
35251         * tests/test-sys_select-c++.cc: Likewise.
35252         * tests/test-sys_socket-c++.cc: Likewise.
35253         * tests/test-sys_stat-c++.cc: Likewise.
35254         * tests/test-sys_time-c++.cc: Likewise.
35255         * tests/test-time-c++.cc: Likewise.
35256         * tests/test-unistd-c++.cc: Likewise.
35257         * tests/test-wchar-c++.cc: Likewise.
35258         * tests/uninorm/test-u8-nfc.c: Likewise.
35259         * tests/uninorm/test-u8-nfd.c: Likewise.
35260         * tests/uninorm/test-u8-nfkc.c: Likewise.
35261         * tests/uninorm/test-u8-nfkd.c: Likewise.
35262         * tests/uninorm/test-u16-nfc.c: Likewise.
35263         * tests/uninorm/test-u16-nfd.c: Likewise.
35264         * tests/uninorm/test-u16-nfkc.c: Likewise.
35265         * tests/uninorm/test-u16-nfkd.c: Likewise.
35266         * tests/uninorm/test-u32-nfc.c: Likewise.
35267         * tests/uninorm/test-u32-nfc-big.c: Likewise.
35268         * tests/uninorm/test-u32-nfd.c: Likewise.
35269         * tests/uninorm/test-u32-nfd-big.c: Likewise.
35270         * tests/uninorm/test-u32-nfkc.c: Likewise.
35271         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
35272         * tests/uninorm/test-u32-nfkd.c: Likewise.
35273         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
35274         * tests/uninorm/test-u32-normalize-big.c: Likewise.
35275
35276 2010-03-27  Bruno Haible  <bruno@clisp.org>
35277
35278         Distinguish two kinds of module indicators.
35279         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
35280         gl_MODULE_INDICATOR.
35281         (gl_MODULE_INDICATOR): New macro.
35282         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
35283         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
35284         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35285         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35286         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35287         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35288         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35289         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35290         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35291         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35292         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35293         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35294         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35295         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35296         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35297         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35298         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35299         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35300         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35301         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35302         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35303         * modules/cloexec (configure.ac): Likewise.
35304         * modules/getopt-gnu (configure.ac): Likewise.
35305         * modules/uninorm/u8-normalize (configure.ac): Likewise.
35306         * modules/uninorm/u16-normalize (configure.ac): Likewise.
35307         * modules/uninorm/u32-normalize (configure.ac): Likewise.
35308         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
35309
35310 2010-03-27  Bruno Haible  <bruno@clisp.org>
35311
35312         New module description field 'Comment'.
35313         * gnulib-tool: New option --extract-comment.
35314         (func_usage): Document it.
35315         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
35316         (func_get_comment): New function.
35317         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
35318
35319 2010-03-27  Bruno Haible  <bruno@clisp.org>
35320
35321         Addendum to 2010-02-07 commit.
35322         * gnulib-tool (func_usage): Document --extract-applicability option.
35323
35324 2010-03-27  Bruno Haible  <bruno@clisp.org>
35325
35326         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
35327         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
35328         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
35329         rather than link errors.
35330
35331 2010-03-27  Bruno Haible  <bruno@clisp.org>
35332
35333         Avoid side effects from tests-related modules on the compilation of lib.
35334         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
35335         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
35336         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
35337         parameter. Emit into AM_CPPFLAGS a definition of the designated C
35338         macro.
35339         (func_import): Define a witness macro. Assign it a value that depends
35340         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
35341         tests-related modules.
35342         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
35343         Reported by Jim Meyering.
35344
35345 2010-03-27  Bruno Haible  <bruno@clisp.org>
35346
35347         Factorize common .m4 code.
35348         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
35349         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
35350         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
35351         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
35352         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35353         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
35354         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
35355         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35356         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35357         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35358         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
35359         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35360         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35361         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35362         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35363         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
35364         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35365         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35366         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35367         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
35368         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
35369         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35370         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35371         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35372         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35373         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35374         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
35375         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
35376         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
35377         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35378         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35379         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35380
35381 2010-03-27  Bruno Haible  <bruno@clisp.org>
35382
35383         Fix a compilation error on Cygwin with g++ >= 4.3.
35384         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
35385         if it is undefined or if we alias it to chmod.
35386         (lstat): Don't warn about the use of this function if it is undefined
35387         or if we alias it to stat.
35388         Reported by Simon Josefsson.
35389
35390 2010-03-27  Bruno Haible  <bruno@clisp.org>
35391
35392         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
35393         * modules/getlogin (configure.ac): Update.
35394
35395         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
35396         * modules/getlogin_r (configure.ac): Update.
35397
35398         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
35399         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
35400         * modules/inet_ntop (configure.ac): Update.
35401
35402         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
35403         * modules/inet_pton (configure.ac): Update.
35404
35405         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
35406         * modules/mbslen (configure.ac): Update.
35407
35408         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
35409         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
35410         * modules/forkpty (configure.ac): Update.
35411         * modules/openpty (configure.ac): Update.
35412
35413 2010-03-26  Simon Josefsson  <simon@josefsson.org>
35414
35415         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
35416         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
35417
35418 2010-03-25  Eric Blake  <eblake@redhat.com>
35419
35420         maint: use pragma consistently across replacement headers
35421         * lib/ctype.in.h (system_header): Hoist for consistent placement.
35422         * lib/dirent.in.h (system_header): Likewise.
35423         * lib/errno.in.h (system_header): Likewise.
35424         * lib/float.in.h (system_header): Likewise.
35425         * lib/getopt.in.h (system_header): Likewise.
35426         * lib/iconv.in.h (system_header): Likewise.
35427         * lib/inttypes.in.h (system_header): Likewise.
35428         * lib/langinfo.in.h (system_header): Likewise.
35429         * lib/locale.in.h (system_header): Likewise.
35430         * lib/math.in.h (system_header): Likewise.
35431         * lib/netdb.in.h (system_header): Likewise.
35432         * lib/netinet_in.in.h (system_header): Likewise.
35433         * lib/pty.in.h (system_header): Likewise.
35434         * lib/sched.in.h (system_header): Likewise.
35435         * lib/se-selinux.in.h (system_header): Likewise.
35436         * lib/search.in.h (system_header): Likewise.
35437         * lib/spawn.in.h (system_header): Likewise.
35438         * lib/stdarg.in.h (system_header): Likewise.
35439         * lib/stdint.in.h (system_header): Likewise.
35440         * lib/string.in.h (system_header): Likewise.
35441         * lib/strings.in.h (system_header): Likewise.
35442         * lib/sys_file.in.h (system_header): Likewise.
35443         * lib/sys_ioctl.in.h (system_header): Likewise.
35444         * lib/sys_socket.in.h (system_header): Likewise.
35445         * lib/sys_times.in.h (system_header): Likewise.
35446         * lib/sys_utsname.in.h (system_header): Likewise.
35447         * lib/sys_wait.in.h (system_header): Likewise.
35448         * lib/sysexits.in.h (system_header): Likewise.
35449         * lib/unistd.in.h (system_header): Likewise.
35450         * lib/wctype.in.h (system_header): Likewise.
35451
35452         arpa/inet: fix mingw compilation warning
35453         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
35454         Reported by Matthew Bolte.
35455
35456 2010-03-25  Bruno Haible  <bruno@clisp.org>
35457
35458         Avoid collision between gnulib wrapper and libintl wrapper.
35459         * lib/printf.c (printf): Don't define if a printf wrapper is already
35460         defined in intl/printf.c.
35461         Reported by Michel Boaventura <michel@michelboaventura.com>.
35462
35463 2010-03-25  Bruno Haible  <bruno@clisp.org>
35464
35465         Use ANSI C.
35466         * lib/readutmp.h (getutent): Provide ANSI C prototype.
35467
35468 2010-03-25  Bruno Haible  <bruno@clisp.org>
35469
35470         Minor formatting changes.
35471         * lib/acosl.c: Insert space before function argument list.
35472         * lib/argz.c: Likewise.
35473         * lib/asinl.c: Likewise.
35474         * lib/expl.c: Likewise.
35475         * lib/gen-uni-tables.c: Likewise.
35476         * lib/gettext.h: Likewise.
35477         * lib/glthread/lock.h: Likewise.
35478         * lib/tanl.c: Likewise.
35479         * lib/uniname/uniname.c: Likewise.
35480         * tests/test-idpriv-drop.c: Likewise.
35481         * tests/test-idpriv-droptemp.c: Likewise.
35482         * tests/test-lock.c: Likewise.
35483         * tests/test-tls.c: Likewise.
35484         * lib/argp-help.c: Insert space before function-like macro argument
35485         list.
35486         * lib/memcmp.c: Likewise.
35487         * tests/test-base64.c: Likewise.
35488         * lib/localename.c: Insert space before sizeof's argument list.
35489         * lib/safe-alloc.h: Likewise.
35490         * lib/file-set.h: Insert space before macro argument list.
35491         * tests/test-argp.c: Likewise.
35492         * lib/argp-namefrob.h: Insert space before function parameter list.
35493         * lib/getaddrinfo.c: Likewise.
35494         * lib/netdb.in.h: Likewise.
35495         * lib/parse-duration.h: Likewise.
35496         * lib/parse-duration.c: Likewise.
35497         * lib/poll.c: Likewise.
35498         * lib/select.c: Likewise.
35499         * lib/trim.h: Likewise.
35500         * tests/test-usleep.c: Likewise.
35501         * lib/ldexpl.c: Insert space before function parameter list and before
35502         function argument list.
35503         * lib/logl.c: Likewise.
35504         * lib/sqrtl.c: Likewise.
35505         * lib/trim.c: Likewise.
35506         * lib/cosl.c: Use GNU style indentation. Insert space before function
35507         argument list.
35508         * lib/sinl.c: Likewise.
35509         * lib/tsearch.c: Insert space after 'for'.
35510         Reported by Jim Meyering.
35511
35512 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
35513
35514         * maint.mk (sc_Wundef_boolean): Check for the presence of the
35515         config header before grepping, as it's not present before
35516         autoreconf/configure are run.  Reported by Simon Josefsson.
35517
35518 2010-03-23  Bruno Haible  <bruno@clisp.org>
35519
35520         pt_chown: Make it work with automake < 1.11.
35521         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
35522         Reported by Simon Josefsson.
35523
35524 2010-03-23  Bruno Haible  <bruno@clisp.org>
35525
35526         pt_chown: Don't depend on GPLed modules.
35527         * lib/pt_chown.c: Don't include idpriv.h.
35528         (main): Don't drop privileges.
35529         * modules/pt_chown (Depends-on): Remove idpriv-drop.
35530         Reported by Simon Josefsson.
35531
35532 2010-03-24  Simon Josefsson  <simon@josefsson.org>
35533
35534         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
35535         suggestions from karl@freefriends.org (Karl Berry).
35536
35537 2010-03-22  Eric Blake  <eblake@redhat.com>
35538
35539         gethostname: further tweaks
35540         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
35541         are overriding gethostname.
35542         Suggested by Bruno Haible.
35543
35544 2010-03-21  Bruno Haible  <bruno@clisp.org>
35545
35546         Fix comments.
35547         * lib/forkpty.c (rpl_forkpty): Fix comment.
35548         * lib/openpty.c (rpl_openpty): Likewise.
35549         Reported by Eric Blake.
35550
35551 2010-03-22  Eric Blake  <eblake@redhat.com>
35552
35553         gethostname: fix build on mingw
35554         * lib/unistd.in.h (includes): Work around fact that mingw
35555         <winsock2.h> re-includes <unistd.h>, by avoiding any
35556         redeclarations if we are being included by <winsock2.h>.
35557         Reported by Matthias Bolte.
35558
35559 2010-03-21  Bruno Haible  <bruno@clisp.org>
35560
35561         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35562         * lib/forkpty.c (forkpty): New replacement function, from glibc with
35563         modifications.
35564         * lib/pty.in.h (forkpty): Update declaration. Add comments.
35565         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
35566         provide the replacement.
35567         * modules/forkpty (Depends-on): Add openpty, login_tty.
35568         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
35569         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
35570         * doc/glibc-functions/forkpty.texi: More supported platforms.
35571         * config/srclist.txt: Add forkpty.c (commented).
35572
35573 2010-03-21  Bruno Haible  <bruno@clisp.org>
35574
35575         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
35576         (Makefile.am): Verify that PTY_LIB is defined.
35577
35578         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
35579
35580 2010-03-21  Bruno Haible  <bruno@clisp.org>
35581
35582         Tests for module 'login_tty'.
35583         * modules/login_tty-tests: New file.
35584         * tests/test-login_tty.c: New file.
35585
35586         New module 'login_tty'.
35587         * lib/login_tty.c: New file.
35588         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
35589         * modules/login_tty: New file.
35590         * doc/glibc-functions/login_tty.texi: Mention the new module.
35591
35592 2010-03-21  Bruno Haible  <bruno@clisp.org>
35593
35594         login_tty: Documentation.
35595         * doc/glibc-functions/login_tty.texi: New file.
35596         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
35597
35598 2010-03-21  Bruno Haible  <bruno@clisp.org>
35599
35600         pty: Consistent macro naming.
35601         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
35602         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
35603         * modules/pty (configure.ac): Update.
35604
35605 2010-03-21  Bruno Haible  <bruno@clisp.org>
35606
35607         Tests for openpty: Make stricter.
35608         * tests/test-openpty.c (main): Add test of canonical processing and
35609         erase.
35610         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
35611
35612         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35613         * lib/openpty.c (openpty): New replacement function.
35614         * lib/pty.in.h: Include <termios.h>.
35615         (openpty): Update declaration. Add comments.
35616         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
35617         is not declared, arrange to provide the replacement. Check for _getpty
35618         and posix_openpt.
35619         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
35620         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
35621         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
35622         * modules/pty-tests (test_pty_c___LDADD): New variable.
35623         * doc/glibc-functions/openpty.texi: More supported platforms.
35624
35625 2010-03-21  Bruno Haible  <bruno@clisp.org>
35626
35627         setenv: Tweaks.
35628         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
35629         the test program.
35630         * doc/posix-functions/setenv.texi: Update platforms list.
35631
35632 2010-03-21  Bruno Haible  <bruno@clisp.org>
35633
35634         New module 'unlockpt'.
35635         * lib/unlockpt.c: New file, from glibc with modifications.
35636         * m4/unlockpt.m4: New file.
35637         * modules/unlockpt: New file.
35638         * lib/stdlib.in.h (unlockpt): New declaration.
35639         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
35640         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
35641         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
35642         HAVE_UNLOCKPT.
35643         * doc/posix-functions/unlockpt.texi: Mention the new module.
35644         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
35645         * config/srclist.txt: Add unlockpt.c (commented).
35646
35647 2010-03-21  Jim Meyering  <meyering@redhat.com>
35648
35649         maint.mk: prohibit inclusion of "intprops.h" without use
35650         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
35651
35652 2010-03-21  Bruno Haible  <bruno@clisp.org>
35653
35654         New module 'grantpt'.
35655         * lib/grantpt.c: New file, from glibc with modifications.
35656         * m4/grantpt.m4: New file.
35657         * modules/grantpt: New file.
35658         * lib/stdlib.in.h (grantpt): New declaration.
35659         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
35660         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
35661         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
35662         HAVE_GRANTPT.
35663         * doc/posix-functions/grantpt.texi: Mention the new module.
35664         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
35665         * config/srclist.txt: Add grantpt.c (commented).
35666
35667 2010-03-21  Bruno Haible  <bruno@clisp.org>
35668
35669         New module 'pt_chown'.
35670         * lib/pt_chown.c: New file, from glibc with modifications.
35671         * lib/pty-private.h: New file, from glibc with modifications.
35672         * modules/pt_chown: New file.
35673         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
35674
35675 2010-03-21  Bruno Haible  <bruno@clisp.org>
35676
35677         Tests for module 'ptsname'.
35678         * modules/ptsname-tests: New file.
35679         * tests/test-ptsname.c: New file.
35680
35681         New module 'ptsname'.
35682         * lib/ptsname.c: New file, from glibc with modifications.
35683         * m4/ptsname.m4: New file.
35684         * modules/ptsname: New file.
35685         * lib/stdlib.in.h (ptsname): New declaration.
35686         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
35687         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
35688         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
35689         HAVE_PTSNAME.
35690         * doc/posix-functions/ptsname.texi: Mention the new module.
35691         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
35692         * config/srclist.txt: Add ptsname.c (commented).
35693
35694 2010-03-21  Bruno Haible  <bruno@clisp.org>
35695
35696         Tests for module 'ttyname_r'.
35697         * modules/ttyname_r-tests: New file.
35698         * tests/test-ttyname_r.c: New file.
35699
35700         New module 'ttyname_r'.
35701         * lib/ttyname_r.c: New file.
35702         * m4/ttyname_r.m4: New file.
35703         * modules/ttyname_r: New file.
35704         * lib/unistd.in.h (ttyname_r): New declaration.
35705         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
35706         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
35707         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
35708         HAVE_TTYNAME_R.
35709         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
35710         * doc/posix-functions/ttyname_r.texi: Mention the new module.
35711
35712 2010-03-20  Bruno Haible  <bruno@clisp.org>
35713
35714         signal: Undefine macro definitions in C++ mode.
35715         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
35716         sigfillset): Undefine macro definitions from the system header in C++
35717         mode.
35718         Reported by John W. Eaton <jwe@gnu.org>.
35719
35720 2010-03-20  Bruno Haible  <bruno@clisp.org>
35721
35722         Ensure no #include statements inside extern "C" { ... }.
35723         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
35724         contain #include statements.
35725         * lib/time.in.h: Likewise.
35726
35727 2010-03-20  Bruno Haible  <bruno@clisp.org>
35728
35729         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
35730         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
35731         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
35732         Reported by John W. Eaton <jwe@gnu.org>.
35733
35734 2010-03-20  Bruno Haible  <bruno@clisp.org>
35735
35736         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
35737         Reported by Jim Meyering.
35738
35739 2010-03-20  Bruno Haible  <bruno@clisp.org>
35740
35741         pipe: Set errno upon failure.
35742         * lib/pipe.h: Specify that when -1 is returned, errno is set.
35743         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
35744         errno value in error message.
35745
35746 2010-03-20  Bruno Haible  <bruno@clisp.org>
35747             Jim Meyering  <meyering@redhat.com>
35748
35749         lchown: Avoid "unused variable" warning.
35750         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
35751
35752 2010-03-20  Bruno Haible  <bruno@clisp.org>
35753
35754         Work around unlink() bug on MacOS X 10.5.6.
35755         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
35756         attempting to unlink a parent directory.
35757         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
35758         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
35759         activate for the replacement function.
35760         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
35761
35762 2010-03-20  Bruno Haible  <bruno@clisp.org>
35763
35764         Fix link errors on Solaris 8.
35765         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
35766         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
35767
35768 2010-03-19  Jim Meyering  <meyering@redhat.com>
35769
35770         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
35771         The _LIBC implementation of build_range_exp correctly honors the
35772         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
35773         However, the non-_LIBC implementation would ignore that syntax-bit
35774         flag and return REG_ERANGE unconditionally.
35775         This change makes it honor that flag.
35776         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
35777         Make two pointer parameters "const".
35778         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
35779         (parse_bracket_exp): Update caller.
35780
35781         regex.m4: correct the reversed range endpoint ([b-a]) test
35782         * m4/regex.m4: When requiring that [b-a] evoke failure,
35783         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
35784         test pass once again for x86-based systems.
35785
35786 2010-03-19  Bruno Haible  <bruno@clisp.org>
35787
35788         scandir: Fix link error on Solaris 8.
35789         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
35790         macros.
35791
35792 2010-03-19  Bruno Haible  <bruno@clisp.org>
35793
35794         getusershell: Fix documentation.
35795         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
35796         module.
35797         * doc/glibc-functions/setusershell.texi: Likewise.
35798
35799         getusershell: Provide declaration, missing on Solaris 9.
35800         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
35801         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
35802         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
35803         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
35804         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35805         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
35806         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
35807         HAVE_GETUSERSHELL.
35808         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
35809
35810 2010-03-19  Bruno Haible  <bruno@clisp.org>
35811
35812         wctype: Provide iswblank function.
35813         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
35814         exists and is fine.
35815         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
35816         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
35817         * tests/test-wctype.c (main): Re-enable the iswblank tests.
35818         * doc/posix-functions/iswblank.texi: Update.
35819
35820 2010-03-19  Bruno Haible  <bruno@clisp.org>
35821
35822         Tests of module 'pty' in C++ mode.
35823         * modules/pty-tests: New file.
35824         * tests/test-pty-c++.cc: New file.
35825         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35826
35827 2010-03-19  Eric Blake  <eblake@redhat.com>
35828
35829         logb: fix documentation
35830         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
35831         1.5 declaration bug.
35832
35833         forkpty, openpty: prefer glibc's const-safe prototype
35834         * lib/forkpty.c (rpl_forkpty): New file.
35835         * lib/openpty.c (rpl_openpty): Likewise.
35836         * modules/forkpty (Files): Distribute it.
35837         * modules/openpty (Files): Likewise.
35838         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
35839         check...
35840         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
35841         replacement for for non-const BSD signature.
35842         * modules/pty (Makefile.am): Substitute witnesses.
35843         * lib/pty.in.h (forkpty, openpty): Declare replacements.
35844         * tests/test-forkpty.c: Update signature check.
35845         * tests/test-openpty.c: Likewise.
35846         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
35847         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35848
35849         forkpty, openpty: split functions into new modules
35850         * modules/pty (Makefile.am): Substitute new witnesses.
35851         (Libraries): Move library detection...
35852         * modules/forkpty: ...into new module.
35853         * modules/openpty: Another new module.
35854         * modules/pty-tests: Rename and split...
35855         * modules/forkpty-tests: ...to this...
35856         * modules/openpty-tests: ...and this.
35857         * tests/test-pty.c: Rename and split...
35858         * tests/test-forkpty.c: ...to this...
35859         * tests/test-openpty.c: ...and this.
35860         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
35861         (gl_PTY): Split library searching...
35862         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
35863         (gl_FORKPTY, gl_OPENPTY): New macros.
35864         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
35865         * NEWS: Mention the split.
35866         * MODULES.html.sh (Misc): Document the modules.
35867         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
35868         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35869
35870         pty: improve replacement header
35871         * lib/pty.in.h: New file.
35872         * modules/pty (Files): Ship it.
35873         (Makefile.am): Always build replacement.
35874         * m4/pty.m4: Rename...
35875         * m4/pty_h.m4: ...to this.
35876         (gl_PTY): Modernize setting of witness macros; update check of
35877         forkpty to take proper advantage of cache.
35878         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
35879
35880         getopt: avoid compiler warning
35881         * lib/getopt.c (attribute_hidden): Remove unused macro.
35882
35883 2010-03-18  Bruno Haible  <bruno@clisp.org>
35884
35885         Fix link errors on Solaris 8.
35886         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
35887         * modules/search-tests (test_search_c___LDADD): Likewise.
35888         * modules/signal-tests (test_signal_c___LDADD): Likewise.
35889         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
35890         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
35891         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
35892         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
35893         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
35894         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
35895
35896 2010-03-18  Bruno Haible  <bruno@clisp.org>
35897
35898         Fix bug introduced on 2010-03-14.
35899         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
35900         (gl_SPAWN_H): Require it.
35901         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
35902         Reported by Simon Josefsson.
35903
35904 2010-03-18  Bruno Haible  <bruno@clisp.org>
35905
35906         Fix typo introduced on 2009-12-31.
35907         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
35908         posix_spawn_file_actions_adddup2.
35909
35910 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
35911         and Eric Blake  <eblake@redhat.com>
35912
35913         test-vc-list-files-git: make more robust
35914         * tests/test-vc-list-files-git.sh: Unset problematic environment
35915         variables.  Chain commands together.
35916
35917 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
35918
35919         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
35920         `AC_CHECK_DECL' invocation.
35921
35922 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
35923
35924         * lib/inttostr.c (inttostr): Make sure the invocation of verify
35925         appears before executable statements. Suggested by Petr Sumbera
35926         <Petr.Sumbera@Sun.COM>.
35927
35928 2010-03-14  Bruno Haible  <bruno@clisp.org>
35929
35930         * tests/test-flock.c (test_exclusive): Comment out a test that causes
35931         portability problems. Instead use a simpler test.
35932         (main): Check that invalid arguments are rejected only on Linux.
35933
35934 2010-03-14  Bruno Haible  <bruno@clisp.org>
35935
35936         Fix bug introduced on 2009-12-31.
35937         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
35938         gl_PREREQ_SYS_H_WINSOCK2 always.
35939         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
35940         SYS_SOCKET_H variable.
35941         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
35942         Update comments.
35943         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
35944         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35945         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35946         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
35947         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
35948
35949 2010-03-14  Bruno Haible  <bruno@clisp.org>
35950
35951         Fix values returned by sinl, cosl.
35952         * lib/trigl.h: Add specification comments.
35953         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
35954         that combines the values from the precomputed table with the values of
35955         the Chebyshev polynomials.
35956
35957 2010-03-14  Bruno Haible  <bruno@clisp.org>
35958
35959         Fix compilation error when modules 'posix_spawn[p]' are not used.
35960         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
35961         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
35962
35963 2010-03-14  Bruno Haible  <bruno@clisp.org>
35964
35965         Fix compilation error on mingw when module 'time_r' is not used.
35966         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
35967         is 1.
35968         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
35969         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
35970         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
35971         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
35972
35973 2010-03-14  Bruno Haible  <bruno@clisp.org>
35974
35975         Fix compilation error with Sun C.
35976         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
35977         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
35978         instead of GCC specific ULONG_LONG_MAX.
35979         * lib/xstrtoll.c: Likewise.
35980         * lib/xstrtoull.c: Likewise.
35981
35982 2010-03-13  Bruno Haible  <bruno@clisp.org>
35983
35984         Allow the user to disable C++ code and tests.
35985         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
35986         (gl_PROG_ANSI_CXX): Require it.
35987
35988 2010-03-13  Bruno Haible  <bruno@clisp.org>
35989
35990         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
35991         cases.
35992
35993 2010-03-13  Bruno Haible  <bruno@clisp.org>
35994
35995         Test that gnulib does not break the standard C++ headers.
35996         * tests/test-locale-c++2.cc: New file.
35997         * modules/locale-tests (Files): Add it.
35998         (Makefile.am): Compile it for test-locale-c++.
35999         * tests/test-math-c++2.cc: New file.
36000         * modules/math-tests (Files): Add it.
36001         (Makefile.am): Compile it for test-math-c++.
36002         * tests/test-signal-c++2.cc: New file.
36003         * modules/signal-tests (Files): Add it.
36004         (Makefile.am): Compile it for test-signal-c++.
36005         * tests/test-stdio-c++2.cc: New file.
36006         * modules/stdio-tests (Files): Add it.
36007         (Makefile.am): Compile it for test-stdio-c++.
36008         * tests/test-stdlib-c++2.cc: New file.
36009         * modules/stdlib-tests (Files): Add it.
36010         (Makefile.am): Compile it for test-stdlib-c++.
36011         * tests/test-string-c++2.cc: New file.
36012         * modules/string-tests (Files): Add it.
36013         (Makefile.am): Compile it for test-string-c++.
36014         * tests/test-time-c++2.cc: New file.
36015         * modules/time-tests (Files): Add it.
36016         (Makefile.am): Compile it for test-time-c++.
36017         Reported by John W. Eaton <jwe@gnu.org>.
36018
36019 2010-03-13  Bruno Haible  <bruno@clisp.org>
36020
36021         * gnulib-tool (func_usage): Clarify which options are available for
36022         --create-testdir and --create-megatestdir.
36023
36024 2010-03-13  Bruno Haible  <bruno@clisp.org>
36025
36026         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
36027         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
36028         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
36029         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
36030         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
36031         when appropriate.
36032         Reported by Jim Meyering.
36033
36034 2010-03-12  Simon Josefsson  <simon@josefsson.org>
36035
36036         * gnulib-tool (func_import): Explain origin of code.
36037
36038 2010-03-12  Bruno Haible  <bruno@clisp.org>
36039
36040         Fix problem with automake's definition of CXXLINK.
36041         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
36042         Reported by Simon Josefsson and Ludovic Courtès.
36043
36044 2010-03-12  Bruno Haible  <bruno@clisp.org>
36045
36046         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
36047         stable releases.
36048
36049 2010-03-11  Bruno Haible  <bruno@clisp.org>
36050
36051         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
36052         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
36053         whether the system provides one variant or multiple variants of the
36054         function.
36055         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
36056         C++ compilers.
36057         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
36058         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
36059         Reported by Jim Meyering.
36060
36061 2010-03-09  Simon Josefsson  <simon@josefsson.org>
36062
36063         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
36064
36065 2010-03-08  Bruno Haible  <bruno@clisp.org>
36066
36067         gnulib-tool: Add support for --libtool in --create-testdir.
36068         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
36069         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
36070
36071 2010-03-08  Eric Blake  <eblake@redhat.com>
36072
36073         gnulib-tool.texi: mention possibility of git submodule
36074         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
36075         submodules.
36076         * doc/.gitignore: Ignore another generated file.
36077
36078 2010-03-08  Karl Berry  <karl@gnu.org>
36079
36080         * doc/gnulib-tool.texi (VCS Issues): Mention third option
36081         of committing gnulib files while skipping others.
36082
36083 2010-03-07  Bruno Haible  <bruno@clisp.org>
36084
36085         Tests of module 'wctype' in C++ mode.
36086         * tests/test-wctype-c++.cc: New file.
36087         * modules/wctype-tests (Files): Add it and tests/signature.h.
36088         (Depends-on): Add ansi-c++-opt.
36089         (Makefile.am): Arrange to compile and run test-wctype-c++.
36090
36091         Tests of module 'wchar' in C++ mode.
36092         * tests/test-wchar-c++.cc: New file.
36093         * modules/wchar-tests (Files): Add it and tests/signature.h.
36094         (Depends-on): Add ansi-c++-opt.
36095         (Makefile.am): Arrange to compile and run test-wchar-c++.
36096         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
36097         gl_MODULE_INDICATOR.
36098
36099         Tests of module 'unistd' in C++ mode.
36100         * tests/test-unistd-c++.cc: New file.
36101         * modules/unistd-tests (Files): Add it and tests/signature.h.
36102         (Depends-on): Add ansi-c++-opt.
36103         (Makefile.am): Arrange to compile and run test-unistd-c++.
36104         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
36105         gl_MODULE_INDICATOR.
36106
36107         Tests of module 'time' in C++ mode.
36108         * tests/test-time-c++.cc: New file.
36109         * modules/time-tests (Files): Add it and tests/signature.h.
36110         (Depends-on): Add ansi-c++-opt.
36111         (Makefile.am): Arrange to compile and run test-time-c++.
36112         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36113
36114         Tests of module 'sys_time' in C++ mode.
36115         * tests/test-sys_time-c++.cc: New file.
36116         * modules/sys_time-tests (Files): Add it and tests/signature.h.
36117         (Depends-on): Add ansi-c++-opt.
36118         (Makefile.am): Arrange to compile and run test-sys_time-c++.
36119         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
36120         gl_MODULE_INDICATOR.
36121
36122         Tests of module 'sys_stat' in C++ mode.
36123         * tests/test-sys_stat-c++.cc: New file.
36124         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
36125         (Depends-on): Add ansi-c++-opt.
36126         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
36127         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
36128         gl_MODULE_INDICATOR.
36129
36130         Tests of module 'sys_socket' in C++ mode.
36131         * tests/test-sys_socket-c++.cc: New file.
36132         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
36133         (Depends-on): Add ansi-c++-opt.
36134         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
36135         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
36136         gl_MODULE_INDICATOR.
36137
36138         Tests of module 'sys_select' in C++ mode.
36139         * tests/test-sys_select-c++.cc: New file.
36140         * modules/sys_select-tests (Files): Add it and tests/signature.h.
36141         (Depends-on): Add ansi-c++-opt.
36142         (Makefile.am): Arrange to compile and run test-sys_select-c++.
36143         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
36144         gl_MODULE_INDICATOR.
36145
36146         Tests of module 'sys_ioctl' in C++ mode.
36147         * tests/test-sys_ioctl-c++.cc: New file.
36148         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
36149         (Depends-on): Add ansi-c++-opt.
36150         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
36151         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
36152         gl_MODULE_INDICATOR.
36153
36154         Tests of module 'string' in C++ mode.
36155         * tests/test-string-c++.cc: New file.
36156         * modules/string-tests (Files): Add it and tests/signature.h.
36157         (Depends-on): Add ansi-c++-opt.
36158         (Makefile.am): Arrange to compile and run test-string-c++.
36159         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
36160         gl_MODULE_INDICATOR.
36161
36162         Tests of module 'stdlib' in C++ mode.
36163         * tests/test-stdlib-c++.cc: New file.
36164         * modules/stdlib-tests (Files): Add it and tests/signature.h.
36165         (Depends-on): Add ansi-c++-opt.
36166         (Makefile.am): Arrange to compile and run test-stdlib-c++.
36167         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
36168         gl_MODULE_INDICATOR.
36169
36170         Tests of module 'stdio' in C++ mode.
36171         * tests/test-stdio-c++.cc: New file.
36172         * modules/stdio-tests (Files): Add it and tests/signature.h.
36173         (Depends-on): Add ansi-c++-opt.
36174         (Makefile.am): Arrange to compile and run test-stdio-c++.
36175         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
36176         gl_MODULE_INDICATOR.
36177
36178         Tests of module 'spawn' in C++ mode.
36179         * tests/test-spawn-c++.cc: New file.
36180         * modules/spawn-tests (Files): Add it and tests/signature.h.
36181         (Depends-on): Add ansi-c++-opt.
36182         (Makefile.am): Arrange to compile and run test-spawn-c++.
36183         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
36184         gl_MODULE_INDICATOR.
36185
36186         Tests of module 'signal' in C++ mode.
36187         * tests/test-signal-c++.cc: New file.
36188         * modules/signal-tests (Files): Add it and tests/signature.h.
36189         (Depends-on): Add ansi-c++-opt.
36190         (Makefile.am): Arrange to compile and run test-signal-c++.
36191         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
36192         gl_MODULE_INDICATOR.
36193
36194         Tests of module 'search' in C++ mode.
36195         * tests/test-search-c++.cc: New file.
36196         * modules/search-tests (Files): Add it and tests/signature.h.
36197         (Depends-on): Add ansi-c++-opt.
36198         (Makefile.am): Arrange to compile and run test-search-c++.
36199         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
36200         gl_MODULE_INDICATOR.
36201
36202         Tests of module 'math' in C++ mode.
36203         * tests/test-math-c++.cc: New file.
36204         * modules/math-tests (Files): Add it and tests/signature.h.
36205         (Depends-on): Add ansi-c++-opt.
36206         (Makefile.am): Arrange to compile and run test-math-c++.
36207         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36208
36209         Tests of module 'locale' in C++ mode.
36210         * tests/test-locale-c++.cc: New file.
36211         * modules/locale-tests (Files): Add it and tests/signature.h.
36212         (Depends-on): Add ansi-c++-opt.
36213         (Makefile.am): Arrange to compile and run test-locale-c++.
36214         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
36215         gl_MODULE_INDICATOR.
36216
36217         Tests of module 'langinfo' in C++ mode.
36218         * tests/test-langinfo-c++.cc: New file.
36219         * modules/langinfo-tests (Files): Add it and tests/signature.h.
36220         (Depends-on): Add ansi-c++-opt.
36221         (Makefile.am): Arrange to compile and run test-langinfo-c++.
36222         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
36223         gl_MODULE_INDICATOR.
36224
36225         Tests of module 'iconv-h' in C++ mode.
36226         * tests/test-iconv-h-c++.cc: New file.
36227         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
36228         (Depends-on): Add ansi-c++-opt.
36229         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
36230
36231         Tests of module 'glob' in C++ mode.
36232         * tests/test-glob-c++.cc: New file.
36233         * modules/glob-tests (Files): Add it.
36234         (Depends-on): Add ansi-c++-opt.
36235         (Makefile.am): Arrange to compile and run test-glob-c++.
36236
36237         Tests of module 'fcntl-h' in C++ mode.
36238         * tests/test-fcntl-h-c++.cc: New file.
36239         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
36240         (Depends-on): Add ansi-c++-opt.
36241         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
36242         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
36243         gl_MODULE_INDICATOR.
36244
36245         Tests of module 'dirent' in C++ mode.
36246         * tests/test-dirent-c++.cc: New file.
36247         * modules/dirent-tests (Files): Add it and tests/signature.h.
36248         (Depends-on): Add ansi-c++-opt.
36249         (Makefile.am): Arrange to compile and run test-dirent-c++.
36250         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
36251         gl_MODULE_INDICATOR.
36252
36253         New module 'ansi-c++-opt'.
36254         * modules/ansi-c++-opt: New file.
36255         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
36256
36257         Document C++ namespace mode.
36258         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
36259
36260         wctype: Avoid #define replacements in C++ mode.
36261         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
36262         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
36263         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
36264         In C++, define a namespaced alias symbol.
36265         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
36266         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
36267         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
36268         rule.
36269
36270         wchar: Avoid #define replacements in C++ mode.
36271         * lib/wchar.in.h: Include c++defs.h.
36272         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
36273         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
36274         symbol.
36275         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
36276         * modules/wchar (Depends-on): Add c++defs.
36277         (Makefile.am): Update wchar.h rule.
36278
36279         unistd: Avoid #define replacements in C++ mode.
36280         * lib/unistd.in.h: Include c++defs.h.
36281         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
36282         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
36283         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
36284         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
36285         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
36286         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
36287         symbol.
36288         (environ): Update.
36289         * modules/unistd (Depends-on): Add c++defs.
36290         (Makefile.am): Update unistd.h rule.
36291
36292         time: Avoid #define replacements in C++ mode.
36293         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
36294         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
36295         define a namespaced alias symbol.
36296         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
36297         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
36298         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
36299         * modules/time (Depends-on): Add c++defs, warn-on-use.
36300         (Makefile.am): Update time.h rule.
36301         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36302         * modules/nanosleep (configure.ac): Likewise.
36303         * modules/strptime (configure.ac): Likewise.
36304         * modules/timegm (configure.ac): Likewise.
36305
36306         sys_time: Avoid #define replacements in C++ mode.
36307         * lib/sys_time.in.h: Include c++defs.h.
36308         (gettimeofday): In C++, define a namespaced alias symbol.
36309         * modules/sys_time (Depends-on): Add c++defs.
36310         (Makefile.am): Update sys/time.h rule.
36311
36312         sys_stat: Avoid #define replacements in C++ mode.
36313         * lib/sys_stat.in.h: Include c++defs.h.
36314         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
36315         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
36316         namespaced alias symbol.
36317         In C++, define a namespaced alias symbol.
36318         * modules/sys_stat (Depends-on): Add c++defs.
36319         (Makefile.am): Update sys/stat.h rule.
36320
36321         sys_socket: Avoid #define replacements in C++ mode.
36322         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
36323         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
36324         definitions also when the system has a <sys/socket.h>.
36325         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36326         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
36327         In C++, define a namespaced alias symbol.
36328         * modules/sys_socket (Depends-on): Add c++defs.
36329         (Makefile.am): Update sys/socket.h rule.
36330
36331         sys_select: Avoid #define replacements in C++ mode.
36332         * lib/sys_select.in.h: Include c++defs.h. Enable the function
36333         definitions also when the system has a <sys/select.h>.
36334         (select): In C++, define a namespaced alias symbol.
36335         * modules/sys_select (Depends-on): Add c++defs.
36336         (Makefile.am): Update sys/select.h rule.
36337
36338         sys_ioctl: Avoid #define replacements in C++ mode.
36339         * lib/sys_ioctl.in.h: Include c++defs.h.
36340         (ioctl): In C++, define a namespaced alias symbol.
36341         * modules/sys_ioctl (Depends-on): Add c++defs.
36342         (Makefile.am): Update sys/ioctl.h rule.
36343
36344         string: Avoid #define replacements in C++ mode.
36345         * lib/string.in.h: Include c++defs.h.
36346         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
36347         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36348         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36349         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
36350         strsignal, strverscmp): In C++, define a namespaced alias symbol.
36351         * modules/string (Depends-on): Add c++defs.
36352         (Makefile.am): Update string.h rule.
36353
36354         stdlib: Avoid #define replacements in C++ mode.
36355         * lib/stdlib.in.h: Include c++defs.h.
36356         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
36357         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
36358         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
36359         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
36360         symbol.
36361         * modules/stdlib (Depends-on): Add c++defs.
36362         (Makefile.am): Update stdlib.h rule.
36363
36364         stdio: Avoid #define replacements in C++ mode.
36365         * lib/stdio.in.h: Include c++defs.h.
36366         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
36367         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
36368         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
36369         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
36370         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
36371         namespaced alias symbol.
36372         * modules/stdio (Depends-on): Add c++defs.
36373         (Makefile.am): Update stdio.h rule.
36374
36375         spawn: Avoid #define replacements in C++ mode.
36376         * lib/spawn.in.h: Include c++defs.h.
36377         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36378         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36379         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36380         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36381         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36382         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36383         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36384         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36385         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36386         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36387         In C++, define a namespaced alias symbol.
36388         * modules/spawn (Depends-on): Add c++defs.
36389         (Makefile.am): Update spawn.h rule.
36390
36391         signal: Avoid #define replacements in C++ mode.
36392         * lib/signal.in.h: Include c++defs.h.
36393         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36394         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
36395         namespaced alias symbol.
36396         * modules/signal (Depends-on): Add c++defs.
36397         (Makefile.am): Update signal.h rule.
36398
36399         search: Avoid #define replacements in C++ mode.
36400         * lib/search.in.h: Include c++defs.h.
36401         (_gl_search_compar_fn, _gl_search_action_fn): New types.
36402         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
36403         symbol.
36404         * modules/search (Depends-on): Add c++defs.
36405         (Makefile.am): Update search.h rule.
36406
36407         math: Avoid #define replacements in C++ mode.
36408         * lib/math.in.h: Include c++defs.h.
36409         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
36410         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
36411         trunc, truncl): In C++, define a namespaced alias symbol.
36412         * modules/math (Depends-on): Add c++defs.
36413         (Makefile.am): Update math.h rule.
36414
36415         locale: Avoid #define replacements in C++ mode.
36416         * lib/locale.in.h: Include c++defs.h.
36417         (duplocale): In C++, define a namespaced alias symbol.
36418         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
36419         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
36420         * modules/locale (Depends-on): Add c++defs.
36421         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
36422
36423         langinfo: Avoid #define replacements in C++ mode.
36424         * lib/langinfo.in.h: Include c++defs.h.
36425         (nl_langinfo): In C++, define a namespaced alias symbol.
36426         * modules/langinfo (Depends-on): Add c++defs.
36427         (Makefile.am): Update langinfo.h rule.
36428
36429         iconv-h: Avoid #define replacements in C++ mode.
36430         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
36431         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
36432         symbol.
36433         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
36434         whenever iconv is present.
36435         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
36436         (Makefile.am): Update iconv.h rule.
36437
36438         glob: Avoid #define replacements in C++ mode.
36439         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
36440         (_gl_glob_errfunc_fn): New type.
36441         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
36442         symbol.
36443         * modules/glob (Depends-on): Add c++defs, warn-on-use.
36444         (Makefile.am): Update glob.h rule.
36445
36446         fcntl-h: Avoid #define replacements in C++ mode.
36447         * lib/fcntl.in.h: Include c++defs.h.
36448         (fcntl, open, openat): In C++, define a namespaced alias symbol.
36449         * modules/fcntl-h (Depends-on): Add c++defs.
36450         (Makefile.am): Update fcntl.h rule.
36451
36452         dirent: Avoid #define replacements in C++ mode.
36453         * lib/dirent.in.h: Include c++defs.h.
36454         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
36455         namespaced alias symbol.
36456         (dirfd): Update declaration.
36457         * modules/dirent (Depends-on): Add c++defs.
36458         (Makefile.am): Update dirent.h rule.
36459
36460         ctype: Make it usable in C++ code.
36461         * lib/ctype.in.h: Include c++defs.h.
36462         (isblank): Declare as extern "C".
36463         * modules/ctype (Depends-on): Add c++defs.
36464         (Makefile.am): Update ctype.h rule.
36465
36466         New module 'c++defs'.
36467         * modules/c++defs: New file.
36468         * build-aux/c++defs.h: New file.
36469         Reported by John W. Eaton <jwe@gnu.org>.
36470
36471 2010-03-07  Bruno Haible  <bruno@clisp.org>
36472
36473         logb: Provide missing declaration for Cygwin.
36474         * lib/math.in.h (logb): New declaration.
36475         * m4/logb.m4: New file.
36476         * modules/logb (Files): Add m4/logb.m4.
36477         (Depends-on): Add math.
36478         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
36479         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
36480         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
36481         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
36482         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
36483
36484 2010-03-07  Bruno Haible  <bruno@clisp.org>
36485
36486         Fix test-cond link error.
36487         * tests/test-cond.c: Include <stdio.h>.
36488
36489 2010-03-07  Bruno Haible  <bruno@clisp.org>
36490
36491         Fix test-dirent-safer link error.
36492         * modules/dirent-safer-tests (Makefile.am): Define
36493         test_dirent_safer_LDADD.
36494
36495 2010-03-07  Bruno Haible  <bruno@clisp.org>
36496
36497         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
36498         among default module list.
36499
36500 2010-03-07  Bruno Haible  <bruno@clisp.org>
36501
36502         Fix link error on platforms with GNU libiconv.
36503         * modules/unistr/u8-strcoll-tests (Makefile): Define
36504         test_u8_strcoll_LDADD.
36505         * modules/unistr/u16-strcoll-tests (Makefile): Define
36506         test_u16_strcoll_LDADD.
36507         * modules/unistr/u32-strcoll-tests (Makefile): Define
36508         test_u32_strcoll_LDADD.
36509
36510 2010-03-07  Bruno Haible  <bruno@clisp.org>
36511
36512         Use POSIX declarations for socket functions.
36513         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
36514         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
36515         rpl_sendto): Change declaration to match POSIX.
36516         * lib/connect.c (rpl_connect): Likewise.
36517         * lib/accept.c (rpl_accept): Likewise.
36518         * lib/bind.c (rpl_bind): Likewise.
36519         * lib/getpeername.c (rpl_getpeername): Likewise.
36520         * lib/getsockname.c (rpl_getsockname): Likewise.
36521         * lib/recv.c (rpl_recv): Likewise.
36522         * lib/send.c (rpl_send): Likewise.
36523         * lib/recvfrom.c (rpl_recvfrom): Likewise.
36524         * lib/sendto.c (rpl_sendto): Likewise.
36525
36526 2010-03-06  Bruno Haible  <bruno@clisp.org>
36527
36528         Clarify access, euidaccess, faccessat.
36529         * doc/posix-functions/faccessat.texi: Mention security problem under
36530         "Other problems", not "Portability problems".
36531         * doc/posix-functions/access.texi: Likewise. Mention a related security
36532         problem.
36533         * doc/glibc-functions/euidaccess.texi: Mention security problems.
36534         * lib/euidaccess.c: Add comments about platforms.
36535         * lib/unistd.in.h (access, euidaccess): Add warnings.
36536
36537 2010-03-07  Bruno Haible  <bruno@clisp.org>
36538
36539         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
36540         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
36541         (POSIX_SPAWN_SETSCHEDULER): Likewise.
36542         (POSIX_SPAWN_USEVFORK): Define in a way that works when
36543         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36544         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
36545         declare when POSIX_SPAWN_SETSCHEDULER is zero.
36546         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
36547         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
36548         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
36549         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
36550         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
36551         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
36552         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
36553         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
36554         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
36555         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
36556         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
36557         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
36558         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
36559         Likewise.
36560         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
36561         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
36562         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
36563         Likewise.
36564         * tests/test-spawn.c (main): Make it work when
36565         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36566
36567 2010-03-07  Bruno Haible  <bruno@clisp.org>
36568
36569         Fix incorrect Makefile.am generation in German locale.
36570         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36571         Execute sed command with character range in C locale.
36572
36573 2010-03-06  Bruno Haible  <bruno@clisp.org>
36574
36575         Tests for module 'iconv-h'.
36576         * modules/iconv-h-tests: New file.
36577         * tests/test-iconv-h.c: New file.
36578
36579         New module 'iconv-h'.
36580         * modules/iconv-h: New file.
36581         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
36582         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
36583         (configure.ac): Remove gl_ICONV_H.
36584         (Makefile.am): Remove rule for iconv.h.
36585
36586 2010-03-06  Bruno Haible  <bruno@clisp.org>
36587
36588         More consistent naming of *.m4 files.
36589         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
36590         * modules/wctype (Files): Update.
36591
36592         More consistent naming of *.m4 files.
36593         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
36594         * modules/wchar (Files): Update.
36595
36596 2010-03-06  Jim Meyering  <meyering@redhat.com>
36597
36598         euidaccess: relax license to LGPLv2+
36599         * modules/euidaccess (License): Relax to LGPLv2+.
36600
36601 2010-03-06  Bruno Haible  <bruno@clisp.org>
36602
36603         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
36604         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
36605         (Makefile.am): Augment lib_SOURCES instead.
36606
36607 2010-03-04  Jim Meyering  <meyering@redhat.com>
36608
36609         utime: remove obsolete module
36610         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
36611         unnecessary for years, and has been marked as obsolete for 10 months.
36612         * modules/utime: Remove file.
36613         * lib/utime.c: Remove file.
36614         * m4/utime.m4: Remove file.
36615         * m4/utimes-null.m4: Remove file.
36616         * doc/posix-functions/utime.texi (utime): Remove reference to
36617         the module.  Move the sole "fixed by gnulib" item into the
36618         "problems not fixed by Gnulib" list.
36619         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
36620
36621 2010-03-05  Simon Josefsson  <simon@josefsson.org>
36622
36623         * modules/exit (License): Relax license to LGPLv2+.
36624         (Status): Mark as obsolete.
36625         * NEWS: Mention deprecated 'exit' module.
36626         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
36627         of now obsolete 'exit'.
36628
36629 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36630
36631         fts-lgpl: remove unused module
36632         * modules/fts-lgpl: Remove.
36633         * MODULES.html.sh (func_all_modules): Adjust.
36634         * check-module (find_included_lib_files): Adjust.
36635         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
36636
36637 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
36638
36639         copy-acl: enhance Solaris ACL error handling
36640         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
36641         * lib/set-mode-acl.c (qset_acl): Likewise.
36642
36643 2010-03-02  Bruno Haible  <bruno@clisp.org>
36644
36645         spawn: Don't override the system defined values on FreeBSD 8.
36646         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
36647         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
36648         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
36649         if HAVE_POSIX_SPAWN is 1.
36650         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
36651
36652 2010-03-01  Bruno Haible  <bruno@clisp.org>
36653
36654         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
36655         regarding Automake.
36656
36657 2010-02-25  Bruno Haible  <bruno@clisp.org>
36658
36659         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
36660         * gnulib-tool: Define 'echo' as a function only before the ksh alias
36661         setting, not afterwards.
36662         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
36663
36664 2010-02-24  Eric Blake  <eblake@redhat.com>
36665
36666         bootstrap, git-version-gen: use timestamp
36667         * build-aux/git-version-gen (scriptversion): Force UTC.
36668         * build-aux/bootstrap (scriptversion): New variable.
36669
36670         bootstrap: allow older git
36671         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
36672         older than 1.6.4.  Requested by the libvirt project.
36673
36674 2010-02-23  Eric Blake  <eblake@redhat.com>
36675
36676         warn-on-use: work with old autoconf
36677         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
36678         AS_VAR semantics of autoconf 2.60.
36679         Reported by Bruno Haible.
36680
36681         bootstrap: improve some comments
36682         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
36683         clarification comments.
36684
36685         gettimeofday: provide correct function
36686         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
36687         when replacement is declared, otherwise provide gettimeofday.
36688         Reported by Michael Goffioul.
36689
36690 2010-02-23  Jim Meyering  <meyering@redhat.com>
36691
36692         lib-ignore: relax license to "unlimited", not LGPLv2+
36693         * modules/lib-ignore (License): Relax to "unlimited".
36694
36695 2010-02-23  Jim Meyering  <meyering@redhat.com>
36696
36697         lib-ignore: relax license to LGPLv2+
36698         * modules/lib-ignore (License): Relax to LGPLv2+.
36699
36700 2010-02-22  Eric Blake  <eblake@redhat.com>
36701
36702         lseek: avoid bash 3.2 broken pipe bug
36703         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
36704         warning from bash 3.2.
36705         Reported by Ben Pfaff, with analysis from Bruno Haible.
36706
36707         bootstrap: support non-FSF copyright holder
36708         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
36709         bootstrap.conf override of COPYRIGHT_HOLDER.
36710         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
36711
36712         bootstrap: interoperate with gettext 0.14.1
36713         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
36714
36715         bootstrap: allow for alternate submodule location
36716         * build-aux/bootstrap (gnulib_path): New variable; use instead of
36717         hardcoding submodule location.
36718         (gnulib_mk): Allow direct use of Makefile.am.
36719
36720         bootstrap: use GNULIB_SRCDIR to reduce disk usage
36721         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
36722         rather than reconfiguring where the submodule points.
36723
36724         gettimeofday: restore support for platforms that lack function
36725         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
36726         replacement if function is missing.
36727         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
36728         * modules/sys_time (Makefile.am): Substitute it.
36729         * lib/sys_time.in.h (gettimeofday): Check it.
36730         Reported by Michael Goffioul.
36731
36732 2010-02-21  Bruno Haible  <bruno@clisp.org>
36733
36734         * lib/stdio.in.h (obstack_printf): Fix typo.
36735
36736 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
36737
36738         vc-list-files: use bzr ls's -R option
36739         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
36740         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
36741
36742 2010-02-21  Jim Meyering  <meyering@redhat.com>
36743
36744         init.sh: fix EXEEXT shims to work also for names like test-prog
36745         * tests/init.sh: Re-exec a better shell, when needed.
36746         If the current shell lacks support for posix $(...), an init.sh-using
36747         test will now try to find a shell that supports that.  If EXEEXT is
36748         nonempty, we also require support for hyphen-in-alias-name and shell
36749         substitutions like ${var#glob}.  Failure to find such a shell results
36750         in a skipped test.
36751
36752 2010-02-21  Bruno Haible  <bruno@clisp.org>
36753
36754         Really work around around "broken pipe" error message from bash 3.2.
36755         * gnulib-tool (func_reset_sigpipe): Remove function.
36756         (echo): In bash 3.2, define to a function that uses printf.
36757         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
36758
36759 2010-02-20  Bruno Haible  <bruno@clisp.org>
36760
36761         Restore support for automake 1.9.6 with autoconf 2.61.
36762         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
36763         Reported by James Youngman <jay@gnu.org>.
36764
36765 2010-02-20  Bruno Haible  <bruno@clisp.org>
36766
36767         Improve *printf warning condition.
36768         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
36769         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
36770         and the function is overridden due to SIGPIPE emulation.
36771
36772 2010-02-20  Bruno Haible  <bruno@clisp.org>
36773
36774         * lib/stdio.in.h: Tweak comments.
36775
36776 2010-02-19  Bruno Haible  <bruno@clisp.org>
36777
36778         Make it easier to find modules. New gnulib-tool option '--find'.
36779         * gnulib-tool: New option --find.
36780         (func_usage): Document it.
36781         (func_sanitize_modulelist): New function, extracted from
36782         func_all_modules.
36783         (func_all_modules): Invoke it.
36784         * doc/gnulib-tool.texi (Which modules?): New node.
36785
36786 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
36787
36788         * lib/sys_select.in.h: Provide select replacement even if
36789         sys/select.h exists on a system, for Interix.
36790
36791 2010-02-18  Jim Meyering  <meyering@redhat.com>
36792
36793         init.sh: don't use $(...) just yet
36794         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
36795         to accommodate e.g., Solaris' /bin/sh.
36796
36797 2010-02-17  Bruno Haible  <bruno@clisp.org>
36798
36799         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
36800         Reported by Ludovic Courtès <ludo@gnu.org>.
36801
36802 2010-02-16  Simon Josefsson  <simon@josefsson.org>
36803
36804         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
36805         linking with -lintl.
36806
36807 2010-02-17  Simon Josefsson  <simon@josefsson.org>
36808
36809         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
36810         if not provided by the system's netdb.h.  Reported by
36811         ludo@gnu.org (Ludovic Courtès).
36812
36813 2010-02-15  Jim Meyering  <meyering@redhat.com>
36814
36815         init.sh: improve portability and efficiency
36816         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
36817         "dummy" in a for loop.
36818         Use '!', not '^' to select the complement of a character set used
36819         in a "case" statement.
36820         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
36821         Suggestions from Eric Blake.
36822
36823         init.sh: automatically accommodate programs with the .exe suffix
36824         Automatically arrange for an invocation of "prog" to execute the
36825         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
36826         may use the simpler "prog", yet still work when built on a system
36827         that requires specifying the added suffix.
36828         Do this by constructing a function named "prog" that invokes
36829         "prog.exe" for each .exe file in selected directories.
36830         * tests/init.sh (find_exe_basenames_): New function.
36831         (create_exe_shim_functions_): New function.
36832         (path_prepend_): Use it.
36833
36834         maint.mk: mark syntax-check sc_*.m rules as .PHONY
36835         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
36836         "make -t syntax-check" doesn't create a ton of sc_*.m files.
36837
36838 2010-02-14  Jim Meyering  <meyering@redhat.com>
36839
36840         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
36841         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
36842         (sc_prohibit_hash_pjw_without_use): New rule.
36843
36844         maint.mk: allow the default upload destination dir to be overridden
36845         * top/maint.mk (upload_dest_dir_): Define with a default that
36846         preserves the status quo.
36847         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
36848         Reported by Peter Simons.
36849
36850         maint.mk: prohibit inclusion of "hash.h" without_use
36851         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
36852
36853 2010-02-10  Jim Meyering  <meyering@redhat.com>
36854
36855         maint.mk: prohibit inclusion of "ignore-value.h" without_use
36856         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
36857
36858 2010-02-09  Eric Blake  <ebb9@byu.net>
36859         and Bruno Haible  <bruno@clisp.org>
36860
36861         obstack-printf-posix: ensure declaration
36862         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
36863         extracted from gl_FUNC_OBSTACK_PRINTF.
36864         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
36865         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
36866         Likewise.
36867         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
36868         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
36869         0.
36870
36871 2010-02-08  Bruno Haible  <bruno@clisp.org>
36872
36873         gnulib-tool: Fix typo in 2010-02-07 commit.
36874         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
36875         Reported by Eric Blake.
36876
36877 2010-02-07  Bruno Haible  <bruno@clisp.org>
36878
36879         gnulib-tool: Fix up caching patches.
36880         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
36881         option --no-cache. Use associative arrays when supported by the shell.
36882         (sed_comments): New variable.
36883         (modcache): Renamed from do_cache.
36884         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
36885         abbreviate unnecessarily.
36886         (have_associative): New variable.
36887         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
36888         way also for ksh and zsh.
36889         (func_init_sed_convert_to_cache_statements): New function, extracted
36890         from func_cache_lookup_module. Add support for associative arrays.
36891         Don't set the c_MODULE_cached variable here. Ignore all lines before
36892         the first field header. Remove only the final newline, not all trailing
36893         newlines. Support empty fields correctly. Limit the use of 'eval' to
36894         assignments.
36895         (func_get_description, func_get_status, func_get_notice,
36896         func_get_applicability, func_get_filelist, func_get_dependencies,
36897         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
36898         func_get_automake_snippet, func_get_include_directive,
36899         func_get_link_directive, func_get_license, func_get_maintainer):
36900         Update documentation. List the unoptimized code first. Add support for
36901         associative arrays. Limit the use of 'eval' to assignments.
36902         (func_get_applicability): Undo stylistic pessimisations.
36903         (func_get_automake_snippet, func_get_include_directive): Reduce code
36904         duplication.
36905         (func_modules_transitive_closure, func_modules_add_dummy,
36906         func_modules_notice, func_modules_to_filelist, func_add_file,
36907         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
36908         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
36909         func_create_testdir, func_create_megatestdir): Update documentation.
36910
36911 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36912
36913         * gnulib-tool (func_cache_lookup_module): Store the module name
36914         belonging to the cache variable; error out if two different
36915         module names map to the same cache variable name.
36916
36917 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36918
36919         gnulib-tool: Make caching optional.
36920         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
36921         Update matching short versions of --no-changelog.
36922         (func_usage): Update.
36923         (sed_extract_cache_prog): Renamed from ...
36924         (sed_extract_prog): ... this; revert to old extraction script.
36925         (func_get_description, func_get_status)
36926         (func_get_notice, func_get_applicability, func_get_filelist)
36927         (func_get_dependencies, func_get_autoconf_early_snippet)
36928         (func_get_autoconf_snippet, func_get_automake_snippet)
36929         (func_get_include_directive, func_get_link_directive)
36930         (func_get_license, func_get_maintainer): If $do_cache is false,
36931         use old, non-caching extraction scripts.
36932         Suggestion by Bruno Haible.
36933
36934 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36935
36936         gnulib-tool: cache module metainformation.
36937         * gnulib-tool (sed_extract_prog): Match newline before each
36938         header, and rewrite header to a shell variable suffix.
36939         (func_cache_var, func_cache_lookup_module): New functions,
36940         to turn a module name into a cache variable prefix, and to
36941         look up and cache module metainformation.
36942         (func_get_description, func_get_status)
36943         (func_get_notice, func_get_applicability, func_get_filelist)
36944         (func_get_dependencies, func_get_autoconf_early_snippet)
36945         (func_get_autoconf_snippet, func_get_automake_snippet)
36946         (func_get_include_directive, func_get_link_directive)
36947         (func_get_license, func_get_maintainer): Use
36948         func_cache_lookup_module.
36949
36950 2010-02-07  Bruno Haible  <bruno@clisp.org>
36951
36952         fnctl: Fix missing dependency.
36953         * modules/fcntl (Depends-on): Add getdtablesize.
36954         Reported by John W. Eaton <jwe@gnu.org>.
36955
36956 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36957
36958         Argp: fix recognition of short alias options.
36959
36960         * lib/argp-parse.c (convert_options): Fix improper use of
36961         `|' between character values.
36962         * tests/test-argp.c (group1_option): New alias option
36963         --read (-r).
36964         (group1_parser): Special handling for 'r'.
36965         (test15): New test case.
36966         (test_fun): Add test15.
36967         * tests/test-argp-2.sh: Update expected --help and --usage
36968         outputs.
36969
36970 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36971
36972         * tests/test-argp.c: Fix indentation.
36973
36974 2010-02-04  Eric Blake  <ebb9@byu.net>
36975
36976         gettimeofday: expose type of second argument
36977         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
36978         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
36979         * tests/test-gettimeofday.c: Use it to silence warning.
36980         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
36981         the issue.
36982
36983 2010-02-03  Jim Meyering  <meyering@redhat.com>
36984
36985         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
36986         * lib/regcomp.c (TYPE_SIGNED): Define.
36987         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
36988
36989         regcomp.c: avoid a new -Wshadow warning
36990         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
36991
36992 2010-02-01  Jim Meyering  <meyering@redhat.com>
36993
36994         removing useless parentheses in cpp #define directives
36995         For motivation, see commit c0221df4, "define STREQ(a,b)
36996         consistently, removing useless parentheses"
36997         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
36998         * lib/mountlist.c (MNT_IGNORE): Likewise.
36999         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
37000
37001 2010-02-01  Eric Blake  <ebb9@byu.net>
37002
37003         sys_time: use link-warning
37004         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
37005         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
37006         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
37007         * modules/sys_time (Depends-on): Add warn-on-use.
37008         (Makefile.am): Always build replacement.
37009         (configure.ac): Update substitutions.
37010         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
37011         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
37012         bother with SYS_TIME_H.
37013         * modules/gettimeofday (configure.ac): Declare indicator.
37014         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
37015         in use.
37016
37017         closein-tests: silence compiler warning
37018         * tests/test-closein.c (main): Ignore fread result.
37019         * modules/closein-tests (Depends-on): Add ignore-value.
37020
37021         tests: silence warning about system return
37022         * tests/test-areadlink-with-size.c (main): Ignore system result.
37023         * tests/test-areadlink.c (main): Likewise.
37024         * tests/test-areadlinkat-with-size.c (main): Likewise.
37025         * tests/test-areadlinkat.c (main): Likewise.
37026         * tests/test-canonicalize-lgpl.c (main): Likewise.
37027         * tests/test-canonicalize.c (main): Likewise.
37028         * tests/test-chown.c (main): Likewise.
37029         * tests/test-fchownat.c (main): Likewise.
37030         * tests/test-fdutimensat.c (main): Likewise.
37031         * tests/test-fstatat.c (main): Likewise.
37032         * tests/test-futimens.c (main): Likewise.
37033         * tests/test-lchown.c (main): Likewise.
37034         * tests/test-link.c (main): Likewise.
37035         * tests/test-linkat.c (main): Likewise.
37036         * tests/test-lstat.c (main): Likewise.
37037         * tests/test-mkdir.c (main): Likewise.
37038         * tests/test-mkdirat.c (main): Likewise.
37039         * tests/test-mkfifo.c (main): Likewise.
37040         * tests/test-mkfifoat.c (main): Likewise.
37041         * tests/test-mknod.c (main): Likewise.
37042         * tests/test-readlink.c (main): Likewise.
37043         * tests/test-remove.c (main): Likewise.
37044         * tests/test-rename.c (main): Likewise.
37045         * tests/test-renameat.c (main): Likewise.
37046         * tests/test-rmdir.c (main): Likewise.
37047         * tests/test-symlink.c (main): Likewise.
37048         * tests/test-symlinkat.c (main): Likewise.
37049         * tests/test-unlink.c (main): Likewise.
37050         * tests/test-unlinkat.c (main): Likewise.
37051         * tests/test-utimens.c (main): Likewise.
37052         * tests/test-utimensat.c (main): Likewise.
37053         * modules/areadlink-tests (Depends-on): Add ignore-value.
37054         * modules/areadlink-with-size-tests (Depends-on): Likewise.
37055         * modules/areadlinkat-tests (Depends-on): Likewise.
37056         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
37057         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37058         * modules/canonicalize-tests (Depends-on): Likewise.
37059         * modules/chown-tests (Depends-on): Likewise.
37060         * modules/fdutimensat-tests (Depends-on): Likewise.
37061         * modules/futimens-tests (Depends-on): Likewise.
37062         * modules/lchown-tests (Depends-on): Likewise.
37063         * modules/link-tests (Depends-on): Likewise.
37064         * modules/linkat-tests (Depends-on): Likewise.
37065         * modules/lstat-tests (Depends-on): Likewise.
37066         * modules/mkdir-tests (Depends-on): Likewise.
37067         * modules/mkfifo-tests (Depends-on): Likewise.
37068         * modules/mkfifoat-tests (Depends-on): Likewise.
37069         * modules/mknod-tests (Depends-on): Likewise.
37070         * modules/openat-tests (Depends-on): Likewise.
37071         * modules/readlink-tests (Depends-on): Likewise.
37072         * modules/remove-tests (Depends-on): Likewise.
37073         * modules/rename-tests (Depends-on): Likewise.
37074         * modules/renameat-tests (Depends-on): Likewise.
37075         * modules/rmdir-tests (Depends-on): Likewise.
37076         * modules/symlink-tests (Depends-on): Likewise.
37077         * modules/symlinkat-tests (Depends-on): Likewise.
37078         * modules/unlink-tests (Depends-on): Likewise.
37079         * modules/utimens-tests (Depends-on): Likewise.
37080         * modules/utimensat-tests (Depends-on): Likewise.
37081
37082 2010-01-31  Bruno Haible  <bruno@clisp.org>
37083
37084         Perform the same test for many <math.h> functions.
37085         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
37086         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
37087         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
37088         of gl_MATHFUNC.
37089         * modules/acos (configure.ac): Likewise.
37090         * modules/asin (configure.ac): Likewise.
37091         * modules/atan (configure.ac): Likewise.
37092         * modules/atan2 (configure.ac): Likewise.
37093         * modules/cbrt (configure.ac): Likewise.
37094         * modules/copysign (configure.ac): Likewise.
37095         * modules/cos (configure.ac): Likewise.
37096         * modules/cosh (configure.ac): Likewise.
37097         * modules/erf (configure.ac): Likewise.
37098         * modules/erfc (configure.ac): Likewise.
37099         * modules/exp (configure.ac): Likewise.
37100         * modules/fmod (configure.ac): Likewise.
37101         * modules/hypot (configure.ac): Likewise.
37102         * modules/j0 (configure.ac): Likewise.
37103         * modules/j1 (configure.ac): Likewise.
37104         * modules/jn (configure.ac): Likewise.
37105         * modules/lgamma (configure.ac): Likewise.
37106         * modules/log (configure.ac): Likewise.
37107         * modules/log10 (configure.ac): Likewise.
37108         * modules/log1p (configure.ac): Likewise.
37109         * modules/pow (configure.ac): Likewise.
37110         * modules/remainder (configure.ac): Likewise.
37111         * modules/sin (configure.ac): Likewise.
37112         * modules/sinh (configure.ac): Likewise.
37113         * modules/tan (configure.ac): Likewise.
37114         * modules/tanh (configure.ac): Likewise.
37115         * modules/y0 (configure.ac): Likewise.
37116         * modules/y1 (configure.ac): Likewise.
37117         * modules/yn (configure.ac): Likewise.
37118         Suggested by Paolo Bonzini.
37119
37120 2010-01-31  Bruno Haible  <bruno@clisp.org>
37121
37122         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
37123
37124 2010-01-31  Bruno Haible  <bruno@clisp.org>
37125
37126         Work around getdelim() bug on FreeBSD 8.0.
37127         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
37128         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
37129         not work.
37130         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
37131         is 1.
37132         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
37133         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
37134         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
37135         a non-zero size.
37136         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
37137
37138 2010-01-31  Bruno Haible  <bruno@clisp.org>
37139
37140         Work around getline() bug on FreeBSD 8.0.
37141         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
37142         and a non-zero size.
37143         * tests/test-getline.c (main): Likewise.
37144         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
37145         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
37146
37147 2010-01-28  Eric Blake  <ebb9@byu.net>
37148
37149         regex: fix build failure
37150         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
37151         platforms.
37152
37153 2010-01-28  Jim Meyering  <meyering@redhat.com>
37154
37155         regex: do not ignore memory allocation failure
37156         * lib/regex_internal.c (create_cd_newstate): Detect
37157         re_node_set_init_copy failure.   Extracted from glibc commit
37158         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37159
37160         regex: sync more white-space changes from libc
37161         * lib/regex_internal.c: White-space only changes.
37162         * lib/regexec.c: Likewise.
37163
37164         regex: add many uses of __attribute_warn_unused_result__
37165         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
37166         * lib/regexec.c: Likewise.
37167         Extracted from a messy glibc commit.
37168
37169         regcomp.c: spelling and merge-artifact from glibc
37170         * lib/regcomp.c: Merge remainder of glibc's
37171         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37172
37173         regcomp.c: sync white-space changes from glibc
37174         * lib/regcomp.c: Merge to accommodate white space
37175         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37176
37177         regcomp.c: do not ignore internal return values
37178         * lib/regcomp.c: Do not ignore internal return values.
37179         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
37180         but without its white-space changes and spelling fixes.
37181
37182         regex_internal.h: define __attribute_warn_unused_result__
37183         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
37184
37185         maint: add a syntax-check rule to check for vulnerable Makefile.in
37186         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
37187
37188 2010-01-27  Jim Meyering  <meyering@redhat.com>
37189
37190         ncftpput-ftp: clean up spaces
37191         * build-aux/ncftpput-ftp: Make Copyright line consistent.
37192         Remove trailing blanks.
37193
37194 2010-01-27  Simon Josefsson  <simon@josefsson.org>
37195
37196         * build-aux/git-version-gen: Fix copyright statement.
37197         * build-aux/gnupload: Likewise.
37198         * tests/test-arcfour.c: Likewise.
37199         * tests/test-arctwo.c: Likewise.
37200         * tests/test-count-one-bits.c: Likewise.
37201         * tests/test-crc.c: Likewise.
37202         * tests/test-des.c: Likewise.
37203         * tests/test-gc-arcfour.c: Likewise.
37204         * tests/test-gc-arctwo.c: Likewise.
37205         * tests/test-gc-des.c: Likewise.
37206         * tests/test-gc-hmac-md5.c: Likewise.
37207         * tests/test-gc-hmac-sha1.c: Likewise.
37208         * tests/test-gc-md2.c: Likewise.
37209         * tests/test-gc-md4.c: Likewise.
37210         * tests/test-gc-md5.c: Likewise.
37211         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37212         * tests/test-gc-rijndael.c: Likewise.
37213         * tests/test-gc-sha1.c: Likewise.
37214         * tests/test-gc.c: Likewise.
37215         * tests/test-gethostname.c: Likewise.
37216         * tests/test-gettimeofday.c: Likewise.
37217         * tests/test-hash.c: Likewise.
37218         * tests/test-hmac-md5.c: Likewise.
37219         * tests/test-hmac-sha1.c: Likewise.
37220         * tests/test-md2.c: Likewise.
37221         * tests/test-md4.c: Likewise.
37222         * tests/test-md5.c: Likewise.
37223         * tests/test-memchr.c: Likewise.
37224         * tests/test-memchr2.c: Likewise.
37225         * tests/test-memcmp.c: Likewise.
37226         * tests/test-memmem.c: Likewise.
37227         * tests/test-memrchr.c: Likewise.
37228         * tests/test-rawmemchr.c: Likewise.
37229         * tests/test-read-file.c: Likewise.
37230         * tests/test-rijndael.c: Likewise.
37231         * tests/test-sockets.c: Likewise.
37232         * tests/test-strchrnul.c: Likewise.
37233         * tests/test-strstr.c: Likewise.
37234         * tests/test-strtod.c: Likewise.
37235         * build-aux/ncftpput-ftp: Likewise.
37236
37237 2010-01-26  Eric Blake  <ebb9@byu.net>
37238
37239         ignore-value: update recommended header name
37240         * modules/ignore-value (Include): Only use <> for headers that
37241         exist in glibc.
37242
37243 2010-01-26  Jim Meyering  <meyering@redhat.com>
37244
37245         test-userspec.c: avoid compiler warnings
37246         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
37247         and "initialization discards qualifiers..." warnings.
37248         Put the first "uid" in its own scope, and make char* members "const".
37249
37250 2010-01-25  Bruno Haible  <bruno@clisp.org>
37251
37252         gnulib-tool: Make warning diagnostics consistent.
37253         * gnulib-tool (func_warning): New function.
37254         Use it everywhere where gnulib-tool produces output to stderr and it is
37255         not a fatal error.
37256
37257 2010-01-25  Bruno Haible  <bruno@clisp.org>
37258
37259         Fix test dependencies.
37260         * modules/xstrtol-tests (Depends-on): Add inttypes.
37261         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
37262
37263 2010-01-25 Pádraig Brady <P@draigBrady.com>
37264
37265         syntax-check: detect incorrect boolean macro values in config.h
37266         * modules/maintainer-makefile (configure.ac): Parameterize the location
37267         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
37268         The logic is from Eric Blake and the location indicated by Jim Meyering.
37269         Note the more natural CONFIG_HEADER name is prohibited by automake
37270         for backwards compatibility reasons.
37271         * top/maint.mk (sc_Wundef_boolean): New rule.
37272
37273 2010-01-25  Jim Meyering  <meyering@redhat.com>
37274
37275         bootstrap: detect MacOS 10.6's shasum, too
37276         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
37277         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
37278
37279 2010-01-23  Jim Meyering  <meyering@redhat.com>
37280
37281         xstrtoll: new module
37282         * modules/xstrtoll: New file.
37283         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
37284         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
37285         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
37286         ./configure fails if you use this module and lack "long long".
37287         * modules/xstrtoll-tests: New module.
37288         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
37289         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
37290         new init.sh-based test framework.
37291
37292 2010-01-24  Bruno Haible  <bruno@clisp.org>
37293
37294         Tests for module 'yn'.
37295         * modules/yn-tests: New file.
37296         * tests/test-yn.c: New file.
37297
37298         Tests for module 'y1'.
37299         * modules/y1-tests: New file.
37300         * tests/test-y1.c: New file.
37301
37302         Tests for module 'y0'.
37303         * modules/y0-tests: New file.
37304         * tests/test-y0.c: New file.
37305
37306         Tests for module 'tanh'.
37307         * modules/tanh-tests: New file.
37308         * tests/test-tanh.c: New file.
37309
37310         Tests for module 'tan'.
37311         * modules/tan-tests: New file.
37312         * tests/test-tan.c: New file.
37313
37314         Tests for module 'sqrt'.
37315         * modules/sqrt-tests: New file.
37316         * tests/test-sqrt.c: New file.
37317
37318         Tests for module 'sinh'.
37319         * modules/sinh-tests: New file.
37320         * tests/test-sinh.c: New file.
37321
37322         Tests for module 'sin'.
37323         * modules/sin-tests: New file.
37324         * tests/test-sin.c: New file.
37325
37326         Tests for module 'rint'.
37327         * modules/rint-tests: New file.
37328         * tests/test-rint.c: New file.
37329
37330         Tests for module 'remainder'.
37331         * modules/remainder-tests: New file.
37332         * tests/test-remainder.c: New file.
37333
37334         Tests for module 'pow'.
37335         * modules/pow-tests: New file.
37336         * tests/test-pow.c: New file.
37337
37338         Tests for module 'nextafter'.
37339         * modules/nextafter-tests: New file.
37340         * tests/test-nextafter.c: New file.
37341
37342         Tests for module 'modf'.
37343         * modules/modf-tests: New file.
37344         * tests/test-modf.c: New file.
37345
37346         Tests for module 'logb'.
37347         * modules/logb-tests: New file.
37348         * tests/test-logb.c: New file.
37349
37350         Tests for module 'log1p'.
37351         * modules/log1p-tests: New file.
37352         * tests/test-log1p.c: New file.
37353
37354         Tests for module 'log10'.
37355         * modules/log10-tests: New file.
37356         * tests/test-log10.c: New file.
37357
37358         Tests for module 'log'.
37359         * modules/log-tests: New file.
37360         * tests/test-log.c: New file.
37361
37362         Tests for module 'lgamma'.
37363         * modules/lgamma-tests: New file.
37364         * tests/test-lgamma.c: New file.
37365
37366         Tests for module 'ldexp'.
37367         * modules/ldexp-tests: New file.
37368         * tests/test-ldexp.c: New file.
37369
37370         Tests for module 'jn'.
37371         * modules/jn-tests: New file.
37372         * tests/test-jn.c: New file.
37373
37374         Tests for module 'j1'.
37375         * modules/j1-tests: New file.
37376         * tests/test-j1.c: New file.
37377
37378         Tests for module 'j0'.
37379         * modules/j0-tests: New file.
37380         * tests/test-j0.c: New file.
37381
37382         Tests for module 'hypot'.
37383         * modules/hypot-tests: New file.
37384         * tests/test-hypot.c: New file.
37385
37386         Tests for module 'fmod'.
37387         * modules/fmod-tests: New file.
37388         * tests/test-fmod.c: New file.
37389
37390         Tests for module 'fabs'.
37391         * modules/fabs-tests: New file.
37392         * tests/test-fabs.c: New file.
37393
37394         Tests for module 'exp'.
37395         * modules/exp-tests: New file.
37396         * tests/test-exp.c: New file.
37397
37398         Tests for module 'erfc'.
37399         * modules/erfc-tests: New file.
37400         * tests/test-erfc.c: New file.
37401
37402         Tests for module 'erf'.
37403         * modules/erf-tests: New file.
37404         * tests/test-erf.c: New file.
37405
37406         Tests for module 'cosh'.
37407         * modules/cosh-tests: New file.
37408         * tests/test-cosh.c: New file.
37409
37410         Tests for module 'cos'.
37411         * modules/cos-tests: New file.
37412         * tests/test-cos.c: New file.
37413
37414         Tests for module 'copysign'.
37415         * modules/copysign-tests: New file.
37416         * tests/test-copysign.c: New file.
37417
37418         Tests for module 'cbrt'.
37419         * modules/cbrt-tests: New file.
37420         * tests/test-cbrt.c: New file.
37421
37422         Tests for module 'atan2'.
37423         * modules/atan2-tests: New file.
37424         * tests/test-atan2.c: New file.
37425
37426         Tests for module 'atan'.
37427         * modules/atan-tests: New file.
37428         * tests/test-atan.c: New file.
37429
37430         Tests for module 'asin'.
37431         * modules/asin-tests: New file.
37432         * tests/test-asin.c: New file.
37433
37434         Tests for module 'acos'.
37435         * modules/acos-tests: New file.
37436         * tests/test-acos.c: New file.
37437
37438 2010-01-24  Bruno Haible  <bruno@clisp.org>
37439
37440         Fix tests for common <math.h> functions.
37441         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
37442         code snippet that references the function pointer, rather than merely
37443         calling the function. Substitute the FUNC_LIBM variable.
37444         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
37445         * modules/acos (configure.ac): Likewise.
37446         * modules/asin (configure.ac): Likewise.
37447         * modules/atan (configure.ac): Likewise.
37448         * modules/atan2 (configure.ac): Likewise.
37449         * modules/cbrt (configure.ac): Likewise.
37450         * modules/copysign (configure.ac): Likewise.
37451         * modules/cos (configure.ac): Likewise.
37452         * modules/cosh (configure.ac): Likewise.
37453         * modules/erf (configure.ac): Likewise.
37454         * modules/erfc (configure.ac): Likewise.
37455         * modules/exp (configure.ac): Likewise.
37456         * modules/fabs (configure.ac): Likewise.
37457         * modules/fmod (configure.ac): Likewise.
37458         * modules/hypot (configure.ac): Likewise.
37459         * modules/j0 (configure.ac): Likewise.
37460         * modules/j1 (configure.ac): Likewise.
37461         * modules/jn (configure.ac): Likewise.
37462         * modules/ldexp (configure.ac): Likewise.
37463         * modules/lgamma (configure.ac): Likewise.
37464         * modules/log (configure.ac): Likewise.
37465         * modules/log10 (configure.ac): Likewise.
37466         * modules/log1p (configure.ac): Likewise.
37467         * modules/logb (configure.ac): Likewise.
37468         * modules/modf (configure.ac): Likewise.
37469         * modules/nextafter (configure.ac): Likewise.
37470         * modules/pow (configure.ac): Likewise.
37471         * modules/remainder (configure.ac): Likewise.
37472         * modules/rint (configure.ac): Likewise.
37473         * modules/sin (configure.ac): Likewise.
37474         * modules/sinh (configure.ac): Likewise.
37475         * modules/tan (configure.ac): Likewise.
37476         * modules/tanh (configure.ac): Likewise.
37477         * modules/y0 (configure.ac): Likewise.
37478         * modules/y1 (configure.ac): Likewise.
37479         * modules/yn (configure.ac): Likewise.
37480
37481 2010-01-24  Bruno Haible  <bruno@clisp.org>
37482
37483         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
37484         * tests/test-acosl.c (x): New variable.
37485         (main): Store argument in x and fetch it from x.
37486         * tests/test-asinl.c (x): New variable.
37487         (main): Store argument in x and fetch it from x.
37488         * tests/test-atanl.c (x): New variable.
37489         (main): Store argument in x and fetch it from x.
37490         * tests/test-cosl.c (x): New variable.
37491         (main): Store argument in x and fetch it from x.
37492         * tests/test-expl.c (x): New variable.
37493         (main): Store argument in x and fetch it from x.
37494         * tests/test-logl.c (x): New variable.
37495         (main): Store argument in x and fetch it from x.
37496         * tests/test-sinl.c (x): New variable.
37497         (main): Store argument in x and fetch it from x.
37498         * tests/test-sqrtl.c (x): New variable.
37499         (main): Store argument in x and fetch it from x.
37500         * tests/test-tanl.c (x): New variable.
37501         (main): Store argument in x and fetch it from x.
37502
37503 2010-01-24  Bruno Haible  <bruno@clisp.org>
37504
37505         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
37506         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
37507         assignments to the initial TESTS_ENVIRONMENT.
37508         * doc/gnulib.texi (Unit test modules): Document it.
37509         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
37510         TESTS_ENVIRONMENT.
37511         * modules/btowc-tests (Makefile.am): Likewise.
37512         * modules/c-stack-tests (Makefile.am): Likewise.
37513         * modules/c-strcase-tests (Makefile.am): Likewise.
37514         * modules/copy-file-tests (Makefile.am): Likewise.
37515         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
37516         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
37517         * modules/mbrtowc-tests (Makefile.am): Likewise.
37518         * modules/mbscasecmp-tests (Makefile.am): Likewise.
37519         * modules/mbscasestr-tests (Makefile.am): Likewise.
37520         * modules/mbschr-tests (Makefile.am): Likewise.
37521         * modules/mbscspn-tests (Makefile.am): Likewise.
37522         * modules/mbsinit-tests (Makefile.am): Likewise.
37523         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
37524         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
37525         * modules/mbspbrk-tests (Makefile.am): Likewise.
37526         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
37527         * modules/mbsrchr-tests (Makefile.am): Likewise.
37528         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
37529         * modules/mbsspn-tests (Makefile.am): Likewise.
37530         * modules/mbsstr-tests (Makefile.am): Likewise.
37531         * modules/nl_langinfo-tests (Makefile.am): Likewise.
37532         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
37533         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
37534         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
37535         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
37536         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
37537         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
37538         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
37539         * modules/wcrtomb-tests (Makefile.am): Likewise.
37540         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
37541         * modules/wcsrtombs-tests (Makefile.am): Likewise.
37542         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
37543         assignments from TESTS_ENVIRONMENT.
37544         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
37545         augmentation.
37546         * modules/argp-version-etc-tests (Makefile.am): Likewise.
37547         * modules/atexit-tests (Makefile.am): Likewise.
37548         * modules/binary-io-tests (Makefile.am): Likewise.
37549         * modules/closein-tests (Makefile.am): Likewise.
37550         * modules/dprintf-posix-tests (Makefile.am): Likewise.
37551         * modules/exclude-tests (Makefile.am): Likewise.
37552         * modules/fflush-tests (Makefile.am): Likewise.
37553         * modules/fpending-tests (Makefile.am): Likewise.
37554         * modules/fprintf-posix-tests (Makefile.am): Likewise.
37555         * modules/freadahead-tests (Makefile.am): Likewise.
37556         * modules/freadptr-tests (Makefile.am): Likewise.
37557         * modules/freadseek-tests (Makefile.am): Likewise.
37558         * modules/fseek-tests (Makefile.am): Likewise.
37559         * modules/fseeko-tests (Makefile.am): Likewise.
37560         * modules/ftell-tests (Makefile.am): Likewise.
37561         * modules/ftello-tests (Makefile.am): Likewise.
37562         * modules/idpriv-drop-tests (Makefile.am): Likewise.
37563         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
37564         * modules/lseek-tests (Makefile.am): Likewise.
37565         * modules/parse-duration-tests (Makefile.am): Likewise.
37566         * modules/perror-tests (Makefile.am): Likewise.
37567         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
37568         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
37569         * modules/pipe-tests (Makefile.am): Likewise.
37570         * modules/pread-tests (Makefile.am): Likewise.
37571         * modules/printf-posix-tests (Makefile.am): Likewise.
37572         * modules/select-tests (Makefile.am): Likewise.
37573         * modules/sigpipe-tests (Makefile.am): Likewise.
37574         * modules/tsearch-tests (Makefile.am): Likewise.
37575         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
37576         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
37577         * modules/uniname/uniname-tests (Makefile.am): Likewise.
37578         * modules/uniwidth/width-tests (Makefile.am): Likewise.
37579         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
37580         * modules/version-etc-tests (Makefile.am): Likewise.
37581         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
37582         * modules/vprintf-posix-tests (Makefile.am): Likewise.
37583         * modules/xalloc-die-tests (Makefile.am): Likewise.
37584         * modules/xprintf-posix-tests (Makefile.am): Likewise.
37585         * modules/xstrtoimax-tests (Makefile.am): Likewise.
37586         * modules/xstrtol-tests (Makefile.am): Likewise.
37587         * modules/xstrtoumax-tests (Makefile.am): Likewise.
37588         * modules/yesno-tests (Makefile.am): Likewise.
37589         Suggested by Jim Meyering.
37590
37591 2010-01-24  Bruno Haible  <bruno@clisp.org>
37592
37593         More documentation.
37594         * doc/gnulib.texi (Writing modules): New chapter.
37595         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
37596         the new chapter.
37597
37598 2010-01-24  Jim Meyering  <meyering@redhat.com>
37599
37600         maint.mk: do not prepend "./" after filtering
37601         * top/maint.mk (_prepend_srcdir_prefix): New variable
37602         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
37603         "./" when $(srcdir) is ".".
37604
37605         define STREQ(a,b) consistently, removing useless parentheses
37606         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
37607         since the only risk is that "a" or "b" contains an unparenthesized
37608         comma, but if either did that, STREQ would have 3 or more arguments.
37609         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
37610         * lib/fts.c (STREQ): Remove unnecessary parentheses.
37611         * lib/hash-triple.c (STREQ): Likewise.
37612         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
37613         * lib/getugroups.c (STREQ): Likewise.
37614
37615 2010-01-23  Jim Meyering  <meyering@redhat.com>
37616
37617         maint.mk: fix syntax-check in a non-srcdir build directory
37618         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
37619         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
37620
37621 2010-01-22  Jim Meyering  <meyering@redhat.com>
37622
37623         userspec: add unit tests
37624         * tests/test-userspec.c: New file.
37625         * modules/userspec-tests: Likewise.
37626
37627 2010-01-21  Jim Meyering  <meyering@redhat.com>
37628
37629         maint.mk: handle source file names containing "." robustly
37630         * top/maint.mk (_dot_escaped_srcdir): Define.
37631         (VC_LIST): Use it in LHS of sed substitution.
37632
37633 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
37634
37635         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
37636         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
37637         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
37638         from a non-srcdir build.
37639
37640 2010-01-20  Eric Blake  <ebb9@byu.net>
37641
37642         warn-on-use: use instead of link-warning
37643         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
37644         * modules/unistd (Depends-on, Makefile.am): Likewise.
37645         * modules/arpa_inet (Depends-on): Replace link-warning with
37646         warn-on-use.
37647         (Makefile.am): Update rules accordingly.
37648         * modules/ctype (Depends-on, Makefile.am): Likewise.
37649         * modules/dirent (Depends-on, Makefile.am): Likewise.
37650         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
37651         * modules/inttypes (Depends-on, Makefile.am): Likewise.
37652         * modules/langinfo (Depends-on, Makefile.am): Likewise.
37653         * modules/locale (Depends-on, Makefile.am): Likewise.
37654         * modules/math (Depends-on, Makefile.am): Likewise.
37655         * modules/search (Depends-on, Makefile.am): Likewise.
37656         * modules/signal (Depends-on, Makefile.am): Likewise.
37657         * modules/spawn (Depends-on, Makefile.am): Likewise.
37658         * modules/stdlib (Depends-on, Makefile.am): Likewise.
37659         * modules/string (Depends-on, Makefile.am): Likewise.
37660         * modules/strings (Depends-on, Makefile.am): Likewise.
37661         * modules/sys_file (Depends-on, Makefile.am): Likewise.
37662         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
37663         * modules/sys_select (Depends-on, Makefile.am): Likewise.
37664         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
37665         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
37666         * modules/sys_times (Depends-on, Makefile.am): Likewise.
37667         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
37668         * modules/wchar (Depends-on, Makefile.am): Likewise.
37669         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
37670         should be poisoned.
37671         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
37672         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
37673         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
37674         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37675         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
37676         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
37677         * m4/math_h.m4 (gl_MATH_H): Likewise.
37678         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37679         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
37680         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
37681         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
37682         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
37683         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
37684         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
37685         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
37686         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
37687         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37688         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
37689         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
37690         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
37691         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
37692         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
37693         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37694         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
37695         GL_LINK_WARNING.
37696         * lib/ctype.in.h: Likewise.
37697         * lib/dirent.in.h: Likewise.
37698         * lib/fcntl.in.h: Likewise.
37699         * lib/inttypes.in.h: Likewise.
37700         * lib/langinfo.in.h: Likewise.
37701         * lib/locale.in.h: Likewise.
37702         * lib/math.in.h: Likewise.
37703         * lib/search.in.h: Likewise.
37704         * lib/signal.in.h: Likewise.
37705         * lib/spawn.in.h: Likewise.
37706         * lib/stdio.in.h: Likewise.
37707         * lib/stdlib.in.h: Likewise.
37708         * lib/string.in.h: Likewise.
37709         * lib/strings.in.h: Likewise.
37710         * lib/sys_file.in.h: Likewise.
37711         * lib/sys_ioctl.in.h: Likewise.
37712         * lib/sys_select.in.h: Likewise.
37713         * lib/sys_socket.in.h: Likewise.
37714         * lib/sys_stat.in.h: Likewise.
37715         * lib/sys_times.in.h: Likewise.
37716         * lib/sys_utsname.in.h: Likewise.
37717         * lib/unistd.in.h: Likewise.
37718         * lib/wchar.in.h: Likewise.
37719
37720 2010-01-20  Bruno Haible  <bruno@clisp.org>
37721
37722         Avoid duplicate -lm.
37723         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
37724         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
37725         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
37726         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
37727         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
37728         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
37729         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
37730         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
37731         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
37732         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
37733         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
37734         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
37735         Reported by Paolo Bonzini.
37736
37737 2010-01-19  Bruno Haible  <bruno@clisp.org>
37738
37739         langinfo, nl_langinfo: Relicense under LGPLv2+.
37740         * modules/langinfo (License): Change to LGPLv2+.
37741         * modules/nl_langinfo (License): Likewise.
37742         Patch by David Lutterkort <lutter@redhat.com>.
37743
37744 2010-01-19  Bruno Haible  <bruno@clisp.org>
37745
37746         Avoid compilation error with cc on OSF/1 5.1.
37747         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
37748         statement, not before.
37749         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37750
37751 2010-01-18  Bruno Haible  <bruno@clisp.org>
37752
37753         Avoid a link error due to the __printf__ symbol.
37754         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
37755         and 2.6.x.
37756         (__format__, __printf__): Remove definitions.
37757         * lib/argp-fmtstream.h: Likewise.
37758         * lib/argp.h: Likewise.
37759         * lib/error.h: Likewise.
37760         * lib/vasnprintf.h: Likewise.
37761         * lib/xprintf.h: Likewise.
37762         * lib/xvasprintf.h: Likewise.
37763         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37764
37765 2010-01-18  Bruno Haible  <bruno@clisp.org>
37766
37767         Tests for module 'tanl'.
37768         * modules/tanl-tests: New file.
37769         * tests/test-tanl.c: New file.
37770
37771         Tests for module 'sqrtl'.
37772         * modules/sqrtl-tests: New file.
37773         * tests/test-sqrtl.c: New file.
37774
37775         Tests for module 'sinl'.
37776         * modules/sinl-tests: New file.
37777         * tests/test-sinl.c: New file.
37778
37779         Tests for module 'logl'.
37780         * modules/logl-tests: New file.
37781         * tests/test-logl.c: New file.
37782
37783         Tests for module 'expl'.
37784         * modules/expl-tests: New file.
37785         * tests/test-expl.c: New file.
37786
37787         Tests for module 'cosl'.
37788         * modules/cosl-tests: New file.
37789         * tests/test-cosl.c: New file.
37790
37791         Tests for module 'atanl'.
37792         * modules/atanl-tests: New file.
37793         * tests/test-atanl.c: New file.
37794
37795         Tests for module 'asinl'.
37796         * modules/asinl-tests: New file.
37797         * tests/test-asinl.c: New file.
37798
37799         Tests for module 'acosl'.
37800         * modules/acosl-tests: New file.
37801         * tests/test-acosl.c: New file.
37802
37803         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37804         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
37805         tanl): Use the standard gnulib idiom.
37806         * lib/cosl.c: Don't include trigl.c and sincosl.c.
37807         * lib/sinl.c: Likewise.
37808         * lib/tanl.c: Don't include trigl.c.
37809         (kernel_tanl): Make static.
37810         * lib/sincosl.c: Include trigl.h first.
37811         * lib/trigl.c: Likewise.
37812         * m4/acosl.m4: New file.
37813         * m4/asinl.m4: New file.
37814         * m4/atanl.m4: New file.
37815         * m4/cosl.m4: New file.
37816         * m4/expl.m4: New file.
37817         * m4/logl.m4: New file.
37818         * m4/sinl.m4: New file.
37819         * m4/sqrtl.m4: New file.
37820         * m4/tanl.m4: New file.
37821         * m4/mathl.m4: Remove file.
37822         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
37823         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37824         Don't initialize GNULIB_MATHL.
37825         * modules/acosl: New file.
37826         * modules/asinl: New file.
37827         * modules/atanl: New file.
37828         * modules/cosl: New file.
37829         * modules/expl: New file.
37830         * modules/logl: New file.
37831         * modules/sinl: New file.
37832         * modules/sqrtl: New file.
37833         * modules/tanl: New file.
37834         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
37835         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
37836         substitute GNULIB_MATHL.
37837         * modules/mathl: Rewritten.
37838         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
37839         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
37840         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
37841         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
37842         * doc/posix-functions/expl.texi: Mention the 'expl' module.
37843         * doc/posix-functions/logl.texi: Mention the 'logl' module.
37844         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
37845         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
37846         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
37847
37848 2010-01-18  Bruno Haible  <bruno@clisp.org>
37849
37850         sqrt: Make gl_FUNC_SQRT requirable.
37851         * m4/sqrt.m4: New file.
37852         * modules/sqrt (Files): Add it.
37853         (configure.ac): Invoke gl_FUNC_SQRT.
37854
37855 2010-01-18  Bruno Haible  <bruno@clisp.org>
37856
37857         New modules for common <math.h> functions.
37858         * m4/mathfunc.m4: New file.
37859         * modules/acos: New file.
37860         * modules/asin: New file.
37861         * modules/atan: New file.
37862         * modules/atan2: New file.
37863         * modules/cbrt: New file.
37864         * modules/copysign: New file.
37865         * modules/cos: New file.
37866         * modules/cosh: New file.
37867         * modules/erf: New file.
37868         * modules/erfc: New file.
37869         * modules/exp: New file.
37870         * modules/fabs: New file.
37871         * modules/fmod: New file.
37872         * modules/hypot: New file.
37873         * modules/j0: New file.
37874         * modules/j1: New file.
37875         * modules/jn: New file.
37876         * modules/ldexp: New file.
37877         * modules/lgamma: New file.
37878         * modules/log: New file.
37879         * modules/log10: New file.
37880         * modules/log1p: New file.
37881         * modules/logb: New file.
37882         * modules/modf: New file.
37883         * modules/nextafter: New file.
37884         * modules/pow: New file.
37885         * modules/remainder: New file.
37886         * modules/rint: New file.
37887         * modules/sin: New file.
37888         * modules/sinh: New file.
37889         * modules/sqrt: New file.
37890         * modules/tan: New file.
37891         * modules/tanh: New file.
37892         * modules/y0: New file.
37893         * modules/y1: New file.
37894         * modules/yn: New file.
37895         * doc/posix-functions/acos.texi: Mention the 'acos' module.
37896         * doc/posix-functions/asin.texi: Mention the 'asin' module.
37897         * doc/posix-functions/atan.texi: Mention the 'atan' module.
37898         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
37899         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
37900         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
37901         * doc/posix-functions/cos.texi: Mention the 'cos' module.
37902         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
37903         * doc/posix-functions/erf.texi: Mention the 'erf' module.
37904         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
37905         * doc/posix-functions/exp.texi: Mention the 'exp' module.
37906         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
37907         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
37908         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
37909         * doc/posix-functions/j0.texi: Mention the 'j0' module.
37910         * doc/posix-functions/j1.texi: Mention the 'j1' module.
37911         * doc/posix-functions/jn.texi: Mention the 'jn' module.
37912         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
37913         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
37914         * doc/posix-functions/log.texi: Mention the 'log' module.
37915         * doc/posix-functions/log10.texi: Mention the 'log10' module.
37916         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
37917         * doc/posix-functions/logb.texi: Mention the 'logb' module.
37918         * doc/posix-functions/modf.texi: Mention the 'modf' module.
37919         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
37920         * doc/posix-functions/pow.texi: Mention the 'pow' module.
37921         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
37922         * doc/posix-functions/rint.texi: Mention the 'rint' module.
37923         * doc/posix-functions/sin.texi: Mention the 'sin' module.
37924         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
37925         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
37926         * doc/posix-functions/tan.texi: Mention the 'tan' module.
37927         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
37928         * doc/posix-functions/y0.texi: Mention the 'y0' module.
37929         * doc/posix-functions/y1.texi: Mention the 'y1' module.
37930         * doc/posix-functions/yn.texi: Mention the 'yn' module.
37931
37932 2010-01-18  Jim Meyering  <meyering@redhat.com>
37933
37934         ignore-value: relax license to LGPLv2+
37935         * modules/ignore-value (License): Relax to LGPLv2+.
37936
37937         getdate: don't leak when TZ contains two or more '"'s
37938         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
37939         double quote in TZ after the first one.
37940
37941         readtokens: do not leak internal token_lengths buffer
37942         * lib/readtokens.c (readtokens): Free the local, lengths,
37943         when the supplied "token_lengths" parameter is NULL.
37944
37945 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37946
37947         Fix a couple of missing LIBTHREAD link failures on AIX.
37948         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
37949         $(LIBTHREAD).
37950         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
37951
37952         Link test-poll against INET_PTON_LIB.
37953         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
37954         for inet_pton on Solaris 10.
37955
37956 2010-01-17  Bruno Haible  <bruno@clisp.org>
37957
37958         unistdio/*-sprintf: Fix typo in module description.
37959         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
37960         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
37961         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
37962         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
37963         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
37964         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
37965         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
37966         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37967
37968 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37969
37970         gnulib-tool: fix filelist for AIX, HP-UX ksh.
37971         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
37972         variables in shell case patterns, for AIX and HP-UX ksh.
37973
37974         Split large sed scripts, for HP-UX sed.
37975         * modules/stdio: Split sed scripts around 50 sed commands,
37976         to avoid HP-UX limit of 99 commands, in the near future.
37977         * modules/string: Likewise.
37978         * modules/unistd: Likewise.
37979
37980         gnulib-tool: avoid writing in the current directory.
37981         * gnulib-tool (func_emit_lib_Makefile_am)
37982         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
37983         not in the current directory, so concurrent gnulib-tool
37984         instances do not interfere.
37985
37986 2010-01-16  Jim Meyering  <meyering@redhat.com>
37987
37988         doc: update users.txt
37989         * users.txt: Add grep.
37990         (diffutils, gzip): Update URLs.
37991
37992 2010-01-12  Bruno Haible  <bruno@clisp.org>
37993
37994         posix_spawn: Avoid test failure on Cygwin.
37995         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
37996         characters.
37997         Reported by Simon Josefsson.
37998
37999 2010-01-12  Bruno Haible  <bruno@clisp.org>
38000
38001         * tests/test-cond.c (main): When skipping the test, show the reason.
38002
38003 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38004
38005         * lib/striconv.c (str_cd_iconv): Avoid if before free.
38006
38007 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38008
38009         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
38010         VC_LIST_ALWAYS_EXCLUDE_REGEX.
38011
38012 2010-01-12  Eric Blake  <ebb9@byu.net>
38013
38014         build: guarantee AS_VAR_IF
38015         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
38016         (gl_AS_VAR_IF): Move...
38017         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
38018         Reported by Simon Josefsson.
38019
38020 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38021
38022         * lib/stdio.in.h: Fix typo.
38023
38024 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38025
38026         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
38027         libgpg-error.
38028
38029 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38030
38031         * tests/test-xalloc-die.sh: Use $EXEEXT.
38032
38033 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38034             Bruno Haible  <bruno@clisp.org>
38035
38036         getlogin, getlogin_r: Avoid test failure.
38037         * tests/test-getlogin.c: Include <stdio.h>.
38038         (main): Skip the test when the function fails because stdin is not a
38039         tty.
38040         * tests/test-getlogin_r.c: Include <stdio.h>.
38041         (main): Skip the test when the function fails because stdin is not a
38042         tty.
38043
38044 2010-01-11  Eric Blake  <ebb9@byu.net>
38045
38046         tests: avoid more large file warnings
38047         * tests/test-fflush.c: Avoid warning about ftell use.
38048         * tests/test-fseek.c: Avoid warning about fseek use.
38049
38050 2010-01-10  Bruno Haible  <bruno@clisp.org>
38051
38052         nproc: Work better on Linux when /proc and /sys are not mounted.
38053         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
38054         as lower bound when, on glibc/Linux systems,
38055         sysconf (_SC_NPROCESSORS_CONF) returns 1.
38056         Suggested by Pádraig Brady <P@draigbrady.com>.
38057         Reported by Dmitry V. Levin <ldv@altlinux.org>.
38058
38059         nproc: Refactor.
38060         * lib/nproc.c (num_processors_via_affinity_mask): New function,
38061         extracted from num_processors.
38062         (num_processors): Call it.
38063
38064 2010-01-11  Jim Meyering  <meyering@redhat.com>
38065
38066         utimecmp: avoid new warning from upcoming gcc-4.5.0
38067         * lib/utimecmp.c (BILLION): Define using #define rather than an
38068         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
38069
38070 2010-01-11  Eric Blake  <ebb9@byu.net>
38071
38072         math: add portability warnings for classification macros
38073         * modules/math (Depends-on): Add warn-on-use.
38074         (Makefile.am): Provide new substitutions.
38075         * m4/math_h.m4 (gl_MATH_H): Require inline.
38076         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
38077         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
38078         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
38079         implement warnings.
38080
38081         unistd: warn on use of environ without module
38082         * modules/unistd (Depends-on): Add warn-on-use.
38083         (Makefile.am): Provide new substitutions.
38084         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
38085         * lib/unistd.in.h (environ): Wrap with a warning helper function.
38086
38087         stdio: warn on suspicious uses
38088         * modules/stdio (Depends-on): Add warn-on-use.
38089         (Makefile.am): Provide new substitutions.
38090         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
38091         fseeko.
38092         * lib/stdio.in.h (gets): Always warn on use.
38093         (fseek, ftell): Adjust when warnings are issued, and honor
38094         _GL_NO_LARGE_FILES as a way to silence the warning.
38095         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
38096         any warning about large file offsets.
38097         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
38098         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
38099         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
38100         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
38101         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
38102         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
38103         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
38104         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
38105
38106         warn-on-use: new module
38107         * modules/warn-on-use: New file.
38108         * build-aux/warn-on-use.h: Likewise.
38109         * m4/warn-on-use.m4: Likewise.
38110         * MODULES.html.sh (Support for building): Mention it.
38111
38112 2010-01-10  Bruno Haible  <bruno@clisp.org>
38113
38114         Tests for module 'unistr/u32-strdup'.
38115         * modules/unistr/u32-strdup-tests: New file.
38116         * tests/unistr/test-u32-strdup.c: New file.
38117
38118         Tests for module 'unistr/u16-strdup'.
38119         * modules/unistr/u16-strdup-tests: New file.
38120         * tests/unistr/test-u16-strdup.c: New file.
38121
38122         Tests for module 'unistr/u8-strdup'.
38123         * modules/unistr/u8-strdup-tests: New file.
38124         * tests/unistr/test-u8-strdup.c: New file.
38125         * tests/unistr/test-strdup.h: New file.
38126
38127         Tests for module 'unistr/u32-strncmp'.
38128         * modules/unistr/u32-strncmp-tests: New file.
38129         * tests/unistr/test-u32-strncmp.c: New file.
38130
38131         Tests for module 'unistr/u16-strncmp'.
38132         * modules/unistr/u16-strncmp-tests: New file.
38133         * tests/unistr/test-u16-strncmp.c: New file.
38134
38135         Tests for module 'unistr/u8-strncmp'.
38136         * modules/unistr/u8-strncmp-tests: New file.
38137         * tests/unistr/test-u8-strncmp.c: New file.
38138         * tests/unistr/test-strncmp.h: New file.
38139
38140         Tests for module 'unistr/u32-strcoll'.
38141         * modules/unistr/u32-strcoll-tests: New file.
38142         * tests/unistr/test-u32-strcoll.c: New file.
38143
38144         Tests for module 'unistr/u16-strcoll'.
38145         * modules/unistr/u16-strcoll-tests: New file.
38146         * tests/unistr/test-u16-strcoll.c: New file.
38147
38148         Tests for module 'unistr/u8-strcoll'.
38149         * modules/unistr/u8-strcoll-tests: New file.
38150         * tests/unistr/test-u8-strcoll.c: New file.
38151
38152         Tests for module 'unistr/u32-strcmp'.
38153         * modules/unistr/u32-strcmp-tests: New file.
38154         * tests/unistr/test-u32-strcmp.c: New file.
38155         * tests/unistr/test-u32-strcmp.h: New file.
38156
38157         Tests for module 'unistr/u16-strcmp'.
38158         * modules/unistr/u16-strcmp-tests: New file.
38159         * tests/unistr/test-u16-strcmp.c: New file.
38160         * tests/unistr/test-u16-strcmp.h: New file.
38161
38162         Tests for module 'unistr/u8-strcmp'.
38163         * modules/unistr/u8-strcmp-tests: New file.
38164         * tests/unistr/test-u8-strcmp.c: New file.
38165         * tests/unistr/test-u8-strcmp.h: New file.
38166         * tests/unistr/test-strcmp.h: New file.
38167
38168         Tests for module 'unistr/u32-strncat'.
38169         * modules/unistr/u32-strncat-tests: New file.
38170         * tests/unistr/test-u32-strncat.c: New file.
38171
38172         Tests for module 'unistr/u16-strncat'.
38173         * modules/unistr/u16-strncat-tests: New file.
38174         * tests/unistr/test-u16-strncat.c: New file.
38175
38176         Tests for module 'unistr/u8-strncat'.
38177         * modules/unistr/u8-strncat-tests: New file.
38178         * tests/unistr/test-u8-strncat.c: New file.
38179         * tests/unistr/test-strncat.h: New file.
38180
38181         Tests for module 'unistr/u32-strcat'.
38182         * modules/unistr/u32-strcat-tests: New file.
38183         * tests/unistr/test-u32-strcat.c: New file.
38184
38185         Tests for module 'unistr/u16-strcat'.
38186         * modules/unistr/u16-strcat-tests: New file.
38187         * tests/unistr/test-u16-strcat.c: New file.
38188
38189         Tests for module 'unistr/u8-strcat'.
38190         * modules/unistr/u8-strcat-tests: New file.
38191         * tests/unistr/test-u8-strcat.c: New file.
38192         * tests/unistr/test-strcat.h: New file.
38193
38194         Tests for module 'unistr/u32-stpncpy'.
38195         * modules/unistr/u32-stpncpy-tests: New file.
38196         * tests/unistr/test-u32-stpncpy.c: New file.
38197
38198         Tests for module 'unistr/u16-stpncpy'.
38199         * modules/unistr/u16-stpncpy-tests: New file.
38200         * tests/unistr/test-u16-stpncpy.c: New file.
38201
38202         Tests for module 'unistr/u8-stpncpy'.
38203         * modules/unistr/u8-stpncpy-tests: New file.
38204         * tests/unistr/test-u8-stpncpy.c: New file.
38205         * tests/unistr/test-stpncpy.h: New file.
38206
38207         Tests for module 'unistr/u32-strncpy'.
38208         * modules/unistr/u32-strncpy-tests: New file.
38209         * tests/unistr/test-u32-strncpy.c: New file.
38210
38211         Tests for module 'unistr/u16-strncpy'.
38212         * modules/unistr/u16-strncpy-tests: New file.
38213         * tests/unistr/test-u16-strncpy.c: New file.
38214
38215         Tests for module 'unistr/u8-strncpy'.
38216         * modules/unistr/u8-strncpy-tests: New file.
38217         * tests/unistr/test-u8-strncpy.c: New file.
38218         * tests/unistr/test-strncpy.h: New file.
38219
38220         Tests for module 'unistr/u32-stpcpy'.
38221         * modules/unistr/u32-stpcpy-tests: New file.
38222         * tests/unistr/test-u32-stpcpy.c: New file.
38223
38224         Tests for module 'unistr/u16-stpcpy'.
38225         * modules/unistr/u16-stpcpy-tests: New file.
38226         * tests/unistr/test-u16-stpcpy.c: New file.
38227
38228         Tests for module 'unistr/u8-stpcpy'.
38229         * modules/unistr/u8-stpcpy-tests: New file.
38230         * tests/unistr/test-u8-stpcpy.c: New file.
38231         * tests/unistr/test-stpcpy.h: New file.
38232
38233         Tests for module 'unistr/u32-strcpy'.
38234         * modules/unistr/u32-strcpy-tests: New file.
38235         * tests/unistr/test-u32-strcpy.c: New file.
38236
38237         Tests for module 'unistr/u16-strcpy'.
38238         * modules/unistr/u16-strcpy-tests: New file.
38239         * tests/unistr/test-u16-strcpy.c: New file.
38240
38241         Tests for module 'unistr/u8-strcpy'.
38242         * modules/unistr/u8-strcpy-tests: New file.
38243         * tests/unistr/test-u8-strcpy.c: New file.
38244         * tests/unistr/test-strcpy.h: New file.
38245
38246         Tests for module 'unistr/u32-strnlen'.
38247         * modules/unistr/u32-strnlen-tests: New file.
38248         * tests/unistr/test-u32-strnlen.c: New file.
38249
38250         Tests for module 'unistr/u16-strnlen'.
38251         * modules/unistr/u16-strnlen-tests: New file.
38252         * tests/unistr/test-u16-strnlen.c: New file.
38253
38254         Tests for module 'unistr/u8-strnlen'.
38255         * modules/unistr/u8-strnlen-tests: New file.
38256         * tests/unistr/test-u8-strnlen.c: New file.
38257         * tests/unistr/test-strnlen.h: New file.
38258
38259         Tests for module 'unistr/u32-strlen'.
38260         * modules/unistr/u32-strlen-tests: New file.
38261         * tests/unistr/test-u32-strlen.c: New file.
38262
38263         Tests for module 'unistr/u16-strlen'.
38264         * modules/unistr/u16-strlen-tests: New file.
38265         * tests/unistr/test-u16-strlen.c: New file.
38266
38267         Tests for module 'unistr/u8-strlen'.
38268         * modules/unistr/u8-strlen-tests: New file.
38269         * tests/unistr/test-u8-strlen.c: New file.
38270
38271         Tests for module 'unistr/u32-prev'.
38272         * modules/unistr/u32-prev-tests: New file.
38273         * tests/unistr/test-u32-prev.c: New file.
38274
38275         Tests for module 'unistr/u16-prev'.
38276         * modules/unistr/u16-prev-tests: New file.
38277         * tests/unistr/test-u16-prev.c: New file.
38278
38279         Tests for module 'unistr/u8-prev'.
38280         * modules/unistr/u8-prev-tests: New file.
38281         * tests/unistr/test-u8-prev.c: New file.
38282
38283         Tests for module 'unistr/u32-next'.
38284         * modules/unistr/u32-next-tests: New file.
38285         * tests/unistr/test-u32-next.c: New file.
38286
38287         Tests for module 'unistr/u16-next'.
38288         * modules/unistr/u16-next-tests: New file.
38289         * tests/unistr/test-u16-next.c: New file.
38290
38291         Tests for module 'unistr/u8-next'.
38292         * modules/unistr/u8-next-tests: New file.
38293         * tests/unistr/test-u8-next.c: New file.
38294
38295         Tests for module 'unistr/u32-strmbtouc'.
38296         * modules/unistr/u32-strmbtouc-tests: New file.
38297         * tests/unistr/test-u32-strmbtouc.c: New file.
38298
38299         Tests for module 'unistr/u16-strmbtouc'.
38300         * modules/unistr/u16-strmbtouc-tests: New file.
38301         * tests/unistr/test-u16-strmbtouc.c: New file.
38302
38303         Tests for module 'unistr/u8-strmbtouc'.
38304         * modules/unistr/u8-strmbtouc-tests: New file.
38305         * tests/unistr/test-u8-strmbtouc.c: New file.
38306
38307         Tests for module 'unistr/u32-strmblen'.
38308         * modules/unistr/u32-strmblen-tests: New file.
38309         * tests/unistr/test-u32-strmblen.c: New file.
38310
38311         Tests for module 'unistr/u16-strmblen'.
38312         * modules/unistr/u16-strmblen-tests: New file.
38313         * tests/unistr/test-u16-strmblen.c: New file.
38314
38315         Tests for module 'unistr/u8-strmblen'.
38316         * modules/unistr/u8-strmblen-tests: New file.
38317         * tests/unistr/test-u8-strmblen.c: New file.
38318
38319         Tests for module 'unistr/u32-cpy-alloc'.
38320         * modules/unistr/u32-cpy-alloc-tests: New file.
38321         * tests/unistr/test-u32-cpy-alloc.c: New file.
38322
38323         Tests for module 'unistr/u16-cpy-alloc'.
38324         * modules/unistr/u16-cpy-alloc-tests: New file.
38325         * tests/unistr/test-u16-cpy-alloc.c: New file.
38326
38327         Tests for module 'unistr/u8-cpy-alloc'.
38328         * modules/unistr/u8-cpy-alloc-tests: New file.
38329         * tests/unistr/test-u8-cpy-alloc.c: New file.
38330         * tests/unistr/test-cpy-alloc.h: New file.
38331
38332         Tests for module 'unistr/u32-mbsnlen'.
38333         * modules/unistr/u32-mbsnlen-tests: New file.
38334         * tests/unistr/test-u32-mbsnlen.c: New file.
38335
38336         Tests for module 'unistr/u16-mbsnlen'.
38337         * modules/unistr/u16-mbsnlen-tests: New file.
38338         * tests/unistr/test-u16-mbsnlen.c: New file.
38339
38340         Tests for module 'unistr/u8-mbsnlen'.
38341         * modules/unistr/u8-mbsnlen-tests: New file.
38342         * tests/unistr/test-u8-mbsnlen.c: New file.
38343
38344         Tests for module 'unistr/u32-chr'.
38345         * modules/unistr/u32-chr-tests: New file.
38346         * tests/unistr/test-u32-chr.c: New file.
38347
38348         Tests for module 'unistr/u16-chr'.
38349         * modules/unistr/u16-chr-tests: New file.
38350         * tests/unistr/test-u16-chr.c: New file.
38351
38352         Tests for module 'unistr/u8-chr'.
38353         * modules/unistr/u8-chr-tests: New file.
38354         * tests/unistr/test-u8-chr.c: New file.
38355         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
38356
38357         Tests for module 'unistr/u32-cmp2'.
38358         * modules/unistr/u32-cmp2-tests: New file.
38359         * tests/unistr/test-u32-cmp2.c: New file.
38360
38361         Tests for module 'unistr/u16-cmp2'.
38362         * modules/unistr/u16-cmp2-tests: New file.
38363         * tests/unistr/test-u16-cmp2.c: New file.
38364
38365         Tests for module 'unistr/u8-cmp2'.
38366         * modules/unistr/u8-cmp2-tests: New file.
38367         * tests/unistr/test-u8-cmp2.c: New file.
38368         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
38369
38370         Tests for module 'unistr/u32-cmp'.
38371         * modules/unistr/u32-cmp-tests: New file.
38372         * tests/unistr/test-u32-cmp.c: New file.
38373
38374         Tests for module 'unistr/u16-cmp'.
38375         * modules/unistr/u16-cmp-tests: New file.
38376         * tests/unistr/test-u16-cmp.c: New file.
38377
38378         Tests for module 'unistr/u8-cmp'.
38379         * modules/unistr/u8-cmp-tests: New file.
38380         * tests/unistr/test-u8-cmp.c: New file.
38381         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
38382
38383         Tests for module 'unistr/u32-set'.
38384         * modules/unistr/u32-set-tests: New file.
38385         * tests/unistr/test-u32-set.c: New file.
38386
38387         Tests for module 'unistr/u16-set'.
38388         * modules/unistr/u16-set-tests: New file.
38389         * tests/unistr/test-u16-set.c: New file.
38390
38391         Tests for module 'unistr/u8-set'.
38392         * modules/unistr/u8-set-tests: New file.
38393         * tests/unistr/test-u8-set.c: New file.
38394         * tests/unistr/test-set.h: New file.
38395
38396         Tests for module 'unistr/u32-move'.
38397         * modules/unistr/u32-move-tests: New file.
38398         * tests/unistr/test-u32-move.c: New file.
38399
38400         Tests for module 'unistr/u16-move'.
38401         * modules/unistr/u16-move-tests: New file.
38402         * tests/unistr/test-u16-move.c: New file.
38403
38404         Tests for module 'unistr/u8-move'.
38405         * modules/unistr/u8-move-tests: New file.
38406         * tests/unistr/test-u8-move.c: New file.
38407         * tests/unistr/test-move.h: New file.
38408
38409         Tests for module 'unistr/u32-cpy'.
38410         * modules/unistr/u32-cpy-tests: New file.
38411         * tests/unistr/test-u32-cpy.c: New file.
38412
38413         Tests for module 'unistr/u16-cpy'.
38414         * modules/unistr/u16-cpy-tests: New file.
38415         * tests/unistr/test-u16-cpy.c: New file.
38416
38417         Tests for module 'unistr/u8-cpy'.
38418         * modules/unistr/u8-cpy-tests: New file.
38419         * tests/unistr/test-u8-cpy.c: New file.
38420         * tests/unistr/test-cpy.h: New file.
38421
38422 2010-01-09  Bruno Haible  <bruno@clisp.org>
38423
38424         Tests for module 'unistr/u32-uctomb'.
38425         * modules/unistr/u32-uctomb-tests: New file.
38426         * tests/unistr/test-u32-uctomb.c: New file.
38427
38428         Tests for module 'unistr/u16-uctomb'.
38429         * modules/unistr/u16-uctomb-tests: New file.
38430         * tests/unistr/test-u16-uctomb.c: New file.
38431
38432         Tests for module 'unistr/u8-uctomb'.
38433         * modules/unistr/u8-uctomb-tests: New file.
38434         * tests/unistr/test-u8-uctomb.c: New file.
38435
38436         Tests for module 'unistr/u32-mbtoucr'.
38437         * modules/unistr/u32-mbtoucr-tests: New file.
38438         * tests/unistr/test-u32-mbtoucr.c: New file.
38439
38440         Tests for module 'unistr/u16-mbtoucr'.
38441         * modules/unistr/u16-mbtoucr-tests: New file.
38442         * tests/unistr/test-u16-mbtoucr.c: New file.
38443
38444         Tests for module 'unistr/u8-mbtoucr'.
38445         * modules/unistr/u8-mbtoucr-tests: New file.
38446         * tests/unistr/test-u8-mbtoucr.c: New file.
38447
38448         Tests for module 'unistr/u32-mbtouc'.
38449         * modules/unistr/u32-mbtouc-tests: New file.
38450         * tests/unistr/test-u32-mbtouc.c: New file.
38451
38452         Tests for module 'unistr/u16-mbtouc'.
38453         * modules/unistr/u16-mbtouc-tests: New file.
38454         * tests/unistr/test-u16-mbtouc.c: New file.
38455
38456         Tests for module 'unistr/u8-mbtouc'.
38457         * modules/unistr/u8-mbtouc-tests: New file.
38458         * tests/unistr/test-u8-mbtouc.c: New file.
38459
38460         Tests for module 'unistr/u32-mbtouc-unsafe'.
38461         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
38462         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
38463         * tests/unistr/test-u32-mbtouc.h: New file.
38464
38465         Tests for module 'unistr/u16-mbtouc-unsafe'.
38466         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
38467         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
38468         * tests/unistr/test-u16-mbtouc.h: New file.
38469
38470         Tests for module 'unistr/u8-mbtouc-unsafe'.
38471         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
38472         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
38473         * tests/unistr/test-u8-mbtouc.h: New file.
38474
38475         Tests for module 'unistr/u32-mblen'.
38476         * modules/unistr/u32-mblen-tests: New file.
38477         * tests/unistr/test-u32-mblen.c: New file.
38478
38479         Tests for module 'unistr/u16-mblen'.
38480         * modules/unistr/u16-mblen-tests: New file.
38481         * tests/unistr/test-u16-mblen.c: New file.
38482
38483         Tests for module 'unistr/u8-mblen'.
38484         * modules/unistr/u8-mblen-tests: New file.
38485         * tests/unistr/test-u8-mblen.c: New file.
38486
38487         Tests for module 'unistr/u32-to-u16'.
38488         * modules/unistr/u32-to-u16-tests: New file.
38489         * tests/unistr/test-u32-to-u16.c: New file.
38490
38491         Tests for module 'unistr/u32-to-u8'.
38492         * modules/unistr/u32-to-u8-tests: New file.
38493         * tests/unistr/test-u32-to-u8.c: New file.
38494
38495         Tests for module 'unistr/u16-to-u32'.
38496         * modules/unistr/u16-to-u32-tests: New file.
38497         * tests/unistr/test-u16-to-u32.c: New file.
38498
38499         Tests for module 'unistr/u16-to-u8'.
38500         * modules/unistr/u16-to-u8-tests: New file.
38501         * tests/unistr/test-u16-to-u8.c: New file.
38502
38503         Tests for module 'unistr/u8-to-u32'.
38504         * modules/unistr/u8-to-u32-tests: New file.
38505         * tests/unistr/test-u8-to-u32.c: New file.
38506
38507         Tests for module 'unistr/u8-to-u16'.
38508         * modules/unistr/u8-to-u16-tests: New file.
38509         * tests/unistr/test-u8-to-u16.c: New file.
38510
38511         Tests for module 'unistr/u32-check'.
38512         * modules/unistr/u32-check-tests: New file.
38513         * tests/unistr/test-u32-check.c: New file.
38514
38515         Tests for module 'unistr/u16-check'.
38516         * modules/unistr/u16-check-tests: New file.
38517         * tests/unistr/test-u16-check.c: New file.
38518
38519         Tests for module 'unistr/u8-check'.
38520         * modules/unistr/u8-check-tests: New file.
38521         * tests/unistr/test-u8-check.c: New file.
38522
38523         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
38524         (category_equals): New function.
38525         (main): Add more tests.
38526         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
38527
38528         * tests/unictype/test-bidi_byname.c (main): Add more tests.
38529
38530 2010-01-10  Bruno Haible  <bruno@clisp.org>
38531
38532         unistr/u*-strcoll: Try harder to distinguish different strings.
38533         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
38534         compare s1 and s2 to see if they are different.
38535
38536 2010-01-10  Bruno Haible  <bruno@clisp.org>
38537
38538         unistr/u*-stpncpy: Fix the return value.
38539         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
38540         description of the return value consistent with stpncpy in glibc.
38541         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
38542         written non-NUL unit.
38543
38544 2010-01-10  Bruno Haible  <bruno@clisp.org>
38545
38546         unistr/u*-next: Add missing dependencies.
38547         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
38548         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
38549         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
38550
38551 2010-01-10  Bruno Haible  <bruno@clisp.org>
38552
38553         unistr/u8-mbsnlen: Fix return value for incomplete character.
38554         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
38555         u8_mblen.
38556         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
38557         Remove unistr/u8-mblen.
38558         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
38559         u16_mblen.
38560         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
38561         Remove unistr/u16-mblen.
38562
38563 2010-01-10  Bruno Haible  <bruno@clisp.org>
38564
38565         wchar: Fix compilation error when <wchar.h> is used from coreutils.
38566         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
38567         Reported by Brian Gough <bjg@gnu.org> and
38568         Chris Clayton <chris2553@googlemail.com> via
38569         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
38570
38571 2010-01-09  Bruno Haible  <bruno@clisp.org>
38572
38573         unistr/u16-to-u32: Reject invalid input.
38574         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
38575         u16_mbtouc.
38576         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
38577         Remove unistr/u16-mbtouc.
38578
38579         unistr/u16-to-u8: Reject invalid input.
38580         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
38581         u16_mbtouc.
38582         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
38583         Remove unistr/u16-mbtouc.
38584
38585         unistr/u8-to-u32: Reject invalid input.
38586         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
38587         u8_mbtouc.
38588         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
38589         Remove unistr/u8-mbtouc.
38590
38591         unistr/u8-to-u16: Reject invalid input.
38592         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
38593         u8_mbtouc.
38594         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
38595         Remove unistr/u8-mbtouc.
38596
38597 2010-01-09  Bruno Haible  <bruno@clisp.org>
38598
38599         Tests for module 'getlogin'.
38600         * modules/getlogin-tests: New file.
38601         * tests/test-getlogin.c: New file.
38602
38603         New module 'getlogin'.
38604         * lib/unistd.in.h (getlogin): New declaration.
38605         * lib/getlogin.c: New file.
38606         * m4/getlogin.m4: New file.
38607         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
38608         HAVE_GETLOGIN.
38609         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
38610         HAVE_GETLOGIN.
38611         * modules/getlogin: New file.
38612         * doc/posix-functions/getlogin.texi: Mention the new module.
38613         Reported by John W. Eaton <jwe@gnu.org>.
38614
38615 2010-01-09  Bruno Haible  <bruno@clisp.org>
38616
38617         getlogin_r: Support for native Windows.
38618         * lib/getlogin_r.c: Include <windows.h>
38619         (getlogin_r): Implement for native Windows.
38620         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
38621         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
38622         via John W. Eaton <jwe@gnu.org>.
38623
38624 2010-01-09  Bruno Haible  <bruno@clisp.org>
38625
38626         getlogin_r: Small fixes.
38627         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
38628         succeeds.
38629         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
38630         before testing whether getlogin_r is declared. No need to set
38631         HAVE_DECL_GETLOGIN_R to 1.
38632         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
38633
38634 2010-01-09  Bruno Haible  <bruno@clisp.org>
38635
38636         * lib/unistd.in.h (getlogin_r): Add comment.
38637
38638 2010-01-09  Bruno Haible  <bruno@clisp.org>
38639
38640         Tests for module 'getlogin_r'.
38641         * modules/getlogin_r-tests: New file.
38642         * tests/test-getlogin_r.c: New file.
38643
38644 2010-01-09  Jim Meyering  <meyering@redhat.com>
38645
38646         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
38647         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
38648         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
38649
38650 2010-01-08  Simon Josefsson  <simon@josefsson.org>
38651
38652         * lib/dup2.c (rpl_dup2): Improve comment.
38653
38654 2010-01-08  Eric Blake  <ebb9@byu.net>
38655
38656         maint.mk: allow packages to add makefile @@ exceptions
38657         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
38658         (sc_makefile_check): Rename...
38659         (sc_makefile_at_at_check): ...to this, and use hook.
38660
38661         dup2: work around mingw bug
38662         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
38663         Reported by Simon Josefsson.
38664
38665 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
38666
38667         glob: Fix C++ compilation.
38668         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
38669         C++.
38670
38671 2010-01-07  Bruno Haible  <bruno@clisp.org>
38672
38673         Fix indentation of wctype.in.h, broken since 2007-01-06.
38674         * lib/wctype.in.h: Fix indentation of preprocessor directives.
38675
38676 2010-01-07  Bruno Haible  <bruno@clisp.org>
38677
38678         mbslen: Avoid collision with system function.
38679         * lib/string.in.h [MirBSD]: Include <wchar.h>.
38680         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
38681         * m4/mbslen.m4: New file.
38682         * modules/mbslen (Files): Add it.
38683         (configure.ac): Invoke gl_MBSLEN.
38684         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
38685         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
38686         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
38687         via Ian Beckwith <ianb@erislabs.net>.
38688
38689 2010-01-07  Bruno Haible  <bruno@clisp.org>
38690
38691         dirent: Document the last fix.
38692         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
38693
38694 2010-01-07  Bruno Haible  <bruno@clisp.org>
38695
38696         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
38697         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
38698         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
38699         va_list are defined.
38700         * doc/posix-headers/stdio.texi: Document the bug of missing types.
38701         Reported by Eric Blake.
38702
38703 2010-01-07  Bruno Haible  <bruno@clisp.org>
38704
38705         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
38706         * modules/xlist (Depends-on): Add 'list',
38707         * modules/xoset (Depends-on): Add 'oset'.
38708         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38709
38710 2010-01-07  Bruno Haible  <bruno@clisp.org>
38711
38712         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
38713         * doc/posix-functions/strncasecmp.texi: Likewise.
38714
38715 2010-01-07  Bruno Haible  <bruno@clisp.org>
38716
38717         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
38718
38719 2010-01-07  John W. Eaton  <jwe@octave.org>
38720
38721         wctype: allow C++ use
38722         * lib/wctype.in.h: Add extern "C" block for C++.
38723
38724 2010-01-06  Eric Blake  <ebb9@byu.net>
38725
38726         maint.mk: detect incorrect GFDL usage
38727         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
38728
38729 2010-01-06  Jim Meyering  <meyering@redhat.com>
38730         and Eric Blake  <ebb9@byu.net>
38731
38732         maint.mk: ignore multi-line copyright in NEWS
38733         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
38734
38735 2010-01-06  Eric Blake  <ebb9@byu.net>
38736
38737         select: add missing dependency
38738         * modules/select-tests (Depends-on): Move sockets dependency...
38739         * modules/select (Depends-on): ...here.
38740         Reported by Ian Beckwith.
38741
38742         doc: regenerate INSTALL
38743         * doc/INSTALL: Reflect recent autoconf update.
38744         * doc/INSTALL.ISO: Likewise.
38745         * doc/INSTALL.UTF-8: Likewise.
38746
38747         pread: fix compilation on glibc
38748         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
38749         Reported by Ralf Wildenhues.
38750
38751         dirent: fix test failure
38752         * lib/dirent.in.h (includes): Guarantee ino_t.
38753         Reported by Ralf Wildenhues.
38754
38755 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
38756
38757         linkat, renameat: avoid bad free
38758         * lib/at-func2.c (at_func2): Fix typo.
38759         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
38760
38761 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38762
38763         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
38764         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
38765         to avoid failure of symlink test later.
38766
38767 2010-01-06  Eric Blake  <ebb9@byu.net>
38768
38769         stdio, unistd: guarantee ssize_t
38770         * lib/unistd.in.h (includes): Ensure that types required by POSIX
38771         2008 are exposed when needed.
38772         * lib/stdio.in.h (includes): Likewise.
38773         Reported by Ralf Wildenhues.
38774
38775 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
38776
38777         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
38778         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
38779         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
38780
38781 2010-01-06  Jim Meyering  <meyering@redhat.com>
38782
38783         readtokens: this module *does* require xalloc.h
38784         It uses only functions that were omitted by the old syntax-check rule.
38785         * lib/readtokens.c: Include "xalloc.h" once again.
38786         * modules/readtokens (Depends-on): Add xalloc.
38787         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
38788
38789 2010-01-05  Eric Blake  <ebb9@byu.net>
38790
38791         maint: support 'make announcement' from a VPATH build
38792         * top/maint.mk (announcement): Look for correct NEWS file.
38793
38794 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
38795
38796         utimens (fdutimens): ignore a negative FD, per contract
38797         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
38798         when we have a valid file descriptor.  Otherwise, using a brand
38799         new glibc (with just-patched futimens that now fails with EBADF)
38800         would cause this function to fail with ENOSYS.
38801         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
38802         See also http://bugzilla.redhat.com/552320.
38803
38804 2010-01-05  Eric Blake  <ebb9@byu.net>
38805
38806         strcase: document what it provides
38807         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
38808         gnulib module.
38809         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
38810         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
38811
38812 2010-01-05  Jim Meyering  <meyering@redhat.com>
38813
38814         maint: remove useless inclusions of "xalloc.h"
38815         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
38816         * lib/readtokens.c: Likewise.
38817         * lib/same.c: Likewise.
38818         * modules/getloadavg (Depends-on): Remove xalloc.
38819         * modules/readtokens: Likewise.
38820         * modules/same: Likewise.
38821
38822         maint.mk: include 4 more function names in alloca.h-checking regexp
38823         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
38824         regexp.  Before, we would give a false-positive (saying alloca.h
38825         is included unnecessarily) when the only uses involved omitted symbols.
38826
38827         xalloc.h: use consistent formatting
38828         * lib/xalloc.h: Move declarations to start in the first column.
38829
38830 2010-01-05  Eric Blake  <ebb9@byu.net>
38831
38832         mkdir: avoid xalloc
38833         * lib/mkdir.c (includes): Drop unused header.
38834         Reported by John W. Eaton.
38835
38836 2010-01-04  Jim Meyering  <meyering@redhat.com>
38837
38838         nl_langinfo: avoid configure-time syntax error
38839         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
38840         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
38841         the empty string.  Don't let that provoke a shell syntax error.
38842
38843         regcomp, regexec, fnmatch: avoid array bounds read error
38844         * lib/regcomp.c (build_equiv_class): From glibc:
38845         Use only the low 24 bits of a findidx return value as an index
38846         into the weights array.  Patch by Ulrich Drepper:
38847         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
38848         * lib/regexec.c (check_node_accept_bytes): Likewise.
38849         * lib/fnmatch_loop.c (FCT): Likewise.
38850
38851         regcomp: skip collseq lookup when there are no rules
38852         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
38853         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
38854
38855         regcomp: recognize ill-formed { } expressions
38856         * lib/regcomp.c (parse_dup_op): From glibc:
38857         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
38858
38859         regcomp: fix typo in comment
38860         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
38861         s/satisfy/satisfies/.
38862
38863         regcomp: sync from glibc: remove dead store
38864         * lib/regcomp.c (duplicate_node_closure): Remove useless
38865         search_duplicated_node call and dead store.
38866
38867         regcomp: sync from glibc; always use nl_langinfo
38868         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
38869         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
38870         * modules/regex (Depends-on): Add nl_langinfo.
38871
38872 2010-01-04  Eric Blake  <ebb9@byu.net>
38873
38874         fdopendir: fix configure test
38875         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
38876
38877 2010-01-01  Bruno Haible  <bruno@clisp.org>
38878
38879         wchar: Remove unused configure check.
38880         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
38881
38882 2010-01-01  Eric Blake  <ebb9@byu.net>
38883
38884         headers: make check of system header explicit
38885         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
38886         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
38887         ourselves.
38888         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38889         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38890         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
38891         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
38892         internals.
38893         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
38894         missing.
38895         Suggested by Bruno Haible.
38896
38897 2010-01-01  Jim Meyering  <meyering@redhat.com>
38898
38899         ChangeLog: tweak to eliminate unnecessary copyright line
38900         * ChangeLog: Remove a copyright line that was mistakenly updated
38901         by today's update-copyright run.  Reported by Eric Blake.
38902
38903         test-update-copyright: don't let envvar setting cause test failure
38904         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
38905
38906 2010-01-01  Bruno Haible  <bruno@clisp.org>
38907
38908         localename: Avoid gcc warning.
38909         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
38910         function if it is not used.
38911
38912 2010-01-01  Jim Meyering  <meyering@redhat.com>
38913
38914         update nearly all FSF copyright year lists to include 2010
38915         Use the same procedure as for 2009, outlined in
38916         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
38917
38918         version-etc: set COPYRIGHT_YEAR to 2010
38919         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
38920
38921 2009-12-31  Eric Blake  <ebb9@byu.net>
38922
38923         doc: correct availability of cygwin 1.5.x getopt
38924         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
38925         variables.
38926         * doc/posix-functions/opterr.texi (opterr): Likewise.
38927         * doc/posix-functions/optind.texi (optind): Likewise.
38928         * doc/posix-functions/optopt.texi (optopt): Likewise.
38929         * doc/posix-functions/tzname.texi (tzname): Likewise.
38930
38931         openat: update maintainer
38932         * modules/openat (Maintainer): Add myself.
38933
38934         utimens: avoid shadowing warning
38935         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
38936         buffers into one, to avoid shadowing, as well as avoiding a
38937         redundant stat.
38938         Reported by Jim Meyering.
38939
38940         test-dup2: avoid compiler warning
38941         * tests/test-dup2.c (is_inheritable): Only define if used.
38942
38943 2010-01-01  Bruno Haible  <bruno@clisp.org>
38944
38945         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
38946         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
38947         defined, use wctomb instead of wcrtomb.
38948
38949 2010-01-01  Bruno Haible  <bruno@clisp.org>
38950
38951         iconv: Reject native Solaris iconv.
38952         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
38953         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
38954
38955 2009-12-31  Bruno Haible  <bruno@clisp.org>
38956
38957         * tests/test-signal.c (main): Remove test of 'SIG'.
38958
38959 2009-12-31  Bruno Haible  <bruno@clisp.org>
38960
38961         spawn: Fix incomplete fix.
38962         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
38963         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
38964         warnings for GNULIB_POSIXCHECK again.
38965         Reported by Eric Blake.
38966
38967 2009-12-31  Bruno Haible  <bruno@clisp.org>
38968
38969         Avoid namespace pollution on glibc systems.
38970         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
38971         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
38972         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
38973         glibc systems.
38974
38975 2009-12-31  Bruno Haible  <bruno@clisp.org>
38976
38977         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
38978         (gl_REPLACE_WCHAR_H): Turn into a no-op.
38979         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
38980         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
38981         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
38982         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
38983         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
38984
38985 2009-12-31  Bruno Haible  <bruno@clisp.org>
38986
38987         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
38988         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
38989         afterwards.
38990
38991 2009-12-31  Bruno Haible  <bruno@clisp.org>
38992
38993         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
38994         SYS_UTSNAME_H.
38995
38996 2009-12-31  Bruno Haible  <bruno@clisp.org>
38997
38998         spawn: Fix misapplied patch.
38999         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39000         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39001         warnings for GNULIB_POSIXCHECK.
39002
39003 2009-12-31  Bruno Haible  <bruno@clisp.org>
39004
39005         times: Update after sys_times changed.
39006         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
39007         * modules/times (Files): Add it.
39008         (configure.ac): Invoke gl_FUNC_TIMES.
39009
39010 2009-12-31  Bruno Haible  <bruno@clisp.org>
39011
39012         Use AC_C_INLINE where necessary.
39013         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
39014         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39015         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
39016         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
39017         * m4/mbfile.m4 (gl_MBFILE): Likewise.
39018         * m4/mbiter.m4 (gl_MBITER): Likewise.
39019         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
39020         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39021         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
39022         * modules/u64 (configure.ac): Likewise.
39023
39024 2009-12-31  Bruno Haible  <bruno@clisp.org>
39025
39026         Use AC_C_INLINE instead of module 'inline' where possible.
39027         * modules/inline (Description): Clarify purpose.
39028         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
39029         * modules/count-one-bits (Depends-on): Remove inline.
39030         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
39031         * modules/openat (Depends-on): Remove inline.
39032         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
39033         instead of depending on module 'inline'.
39034         * modules/filevercmp (Depends-on, configure.ac): Likewise.
39035         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
39036         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
39037         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
39038         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
39039         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
39040         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
39041         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
39042         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
39043         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
39044         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
39045         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
39046         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
39047         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
39048         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
39049         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
39050         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
39051         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
39052         Likewise.
39053         * modules/unictype/property-ascii-hex-digit (Depends-on,
39054         configure.ac): Likewise.
39055         * modules/unictype/property-bidi-arabic-digit (Depends-on,
39056         configure.ac): Likewise.
39057         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
39058         configure.ac): Likewise.
39059         * modules/unictype/property-bidi-block-separator (Depends-on,
39060         configure.ac): Likewise.
39061         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
39062         configure.ac): Likewise.
39063         * modules/unictype/property-bidi-common-separator (Depends-on,
39064         configure.ac): Likewise.
39065         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
39066         Likewise.
39067         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
39068         configure.ac): Likewise.
39069         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
39070         configure.ac): Likewise.
39071         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
39072         configure.ac): Likewise.
39073         * modules/unictype/property-bidi-european-digit (Depends-on,
39074         configure.ac): Likewise.
39075         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
39076         configure.ac): Likewise.
39077         * modules/unictype/property-bidi-left-to-right (Depends-on,
39078         configure.ac): Likewise.
39079         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
39080         configure.ac): Likewise.
39081         * modules/unictype/property-bidi-other-neutral (Depends-on,
39082         configure.ac): Likewise.
39083         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
39084         Likewise.
39085         * modules/unictype/property-bidi-segment-separator (Depends-on,
39086         configure.ac): Likewise.
39087         * modules/unictype/property-bidi-whitespace (Depends-on,
39088         configure.ac): Likewise.
39089         * modules/unictype/property-combining (Depends-on, configure.ac):
39090         Likewise.
39091         * modules/unictype/property-composite (Depends-on, configure.ac):
39092         Likewise.
39093         * modules/unictype/property-currency-symbol (Depends-on,
39094         configure.ac): Likewise.
39095         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
39096         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
39097         Likewise.
39098         * modules/unictype/property-default-ignorable-code-point (Depends-on,
39099         configure.ac): Likewise.
39100         * modules/unictype/property-deprecated (Depends-on, configure.ac):
39101         Likewise.
39102         * modules/unictype/property-diacritic (Depends-on, configure.ac):
39103         Likewise.
39104         * modules/unictype/property-extender (Depends-on, configure.ac):
39105         Likewise.
39106         * modules/unictype/property-format-control (Depends-on, configure.ac):
39107         Likewise.
39108         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
39109         Likewise.
39110         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
39111         Likewise.
39112         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
39113         Likewise.
39114         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
39115         Likewise.
39116         * modules/unictype/property-hyphen (Depends-on, configure.ac):
39117         Likewise.
39118         * modules/unictype/property-id-continue (Depends-on, configure.ac):
39119         Likewise.
39120         * modules/unictype/property-id-start (Depends-on, configure.ac):
39121         Likewise.
39122         * modules/unictype/property-ideographic (Depends-on, configure.ac):
39123         Likewise.
39124         * modules/unictype/property-ids-binary-operator (Depends-on,
39125         configure.ac): Likewise.
39126         * modules/unictype/property-ids-trinary-operator (Depends-on,
39127         configure.ac): Likewise.
39128         * modules/unictype/property-ignorable-control (Depends-on,
39129         configure.ac): Likewise.
39130         * modules/unictype/property-iso-control (Depends-on, configure.ac):
39131         Likewise.
39132         * modules/unictype/property-join-control (Depends-on, configure.ac):
39133         Likewise.
39134         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
39135         Likewise.
39136         * modules/unictype/property-line-separator (Depends-on, configure.ac):
39137         Likewise.
39138         * modules/unictype/property-logical-order-exception (Depends-on,
39139         configure.ac): Likewise.
39140         * modules/unictype/property-lowercase (Depends-on, configure.ac):
39141         Likewise.
39142         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
39143         * modules/unictype/property-non-break (Depends-on, configure.ac):
39144         Likewise.
39145         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
39146         Likewise.
39147         * modules/unictype/property-numeric (Depends-on, configure.ac):
39148         Likewise.
39149         * modules/unictype/property-other-alphabetic (Depends-on,
39150         configure.ac): Likewise.
39151         * modules/unictype/property-other-default-ignorable-code-point
39152         (Depends-on, configure.ac): Likewise.
39153         * modules/unictype/property-other-grapheme-extend (Depends-on,
39154         configure.ac): Likewise.
39155         * modules/unictype/property-other-id-continue (Depends-on,
39156         configure.ac): Likewise.
39157         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
39158         Likewise.
39159         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
39160         Likewise.
39161         * modules/unictype/property-other-math (Depends-on, configure.ac):
39162         Likewise.
39163         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
39164         Likewise.
39165         * modules/unictype/property-paired-punctuation (Depends-on,
39166         configure.ac): Likewise.
39167         * modules/unictype/property-paragraph-separator (Depends-on,
39168         configure.ac): Likewise.
39169         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
39170         Likewise.
39171         * modules/unictype/property-pattern-white-space (Depends-on,
39172         configure.ac): Likewise.
39173         * modules/unictype/property-private-use (Depends-on, configure.ac):
39174         Likewise.
39175         * modules/unictype/property-punctuation (Depends-on, configure.ac):
39176         Likewise.
39177         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
39178         Likewise.
39179         * modules/unictype/property-radical (Depends-on, configure.ac):
39180         Likewise.
39181         * modules/unictype/property-sentence-terminal (Depends-on,
39182         configure.ac): Likewise.
39183         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
39184         Likewise.
39185         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
39186         * modules/unictype/property-terminal-punctuation (Depends-on,
39187         configure.ac): Likewise.
39188         * modules/unictype/property-titlecase (Depends-on, configure.ac):
39189         Likewise.
39190         * modules/unictype/property-unassigned-code-value (Depends-on,
39191         configure.ac): Likewise.
39192         * modules/unictype/property-unified-ideograph (Depends-on,
39193         configure.ac): Likewise.
39194         * modules/unictype/property-uppercase (Depends-on, configure.ac):
39195         Likewise.
39196         * modules/unictype/property-variation-selector (Depends-on,
39197         configure.ac): Likewise.
39198         * modules/unictype/property-white-space (Depends-on, configure.ac):
39199         Likewise.
39200         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
39201         Likewise.
39202         * modules/unictype/property-xid-start (Depends-on, configure.ac):
39203         Likewise.
39204         * modules/unictype/property-zero-width (Depends-on, configure.ac):
39205         Likewise.
39206         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
39207         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
39208         Likewise.
39209
39210 2009-12-31  Bruno Haible  <bruno@clisp.org>
39211
39212         Remove unnecessary AC_C_INLINE invocation.
39213         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
39214         since 2009-08-21.
39215
39216 2009-12-31  Jim Meyering  <meyering@redhat.com>
39217
39218         maint.mk: don't require explicit gpg_key_ID in cfg.mk
39219         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
39220         With this change, we can all remove the gpg_key_ID = ... definition
39221         from our respective cfg.mk files.
39222
39223         maint.mk: create announcement template in ~/, not in /tmp
39224         * top/maint.mk (emit_upload_commands): Adjust.
39225         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
39226         Remove temporary file, .ci-msg.
39227
39228 2009-12-31  Eric Blake  <ebb9@byu.net>
39229
39230         link-warning: always build headers with link warnings
39231         * modules/arpa_inet (Makefile.am): Always build replacement
39232         header.
39233         * modules/ctype (Makefile.am): Likewise.
39234         * modules/dirent (Makefile.am): Likewise.
39235         * modules/inttypes (Makefile.am): Likewise.
39236         * modules/langinfo (Makefile.am): Likewise.
39237         * modules/locale (Makefile.am): Likewise.
39238         * modules/spawn (Makefile.am): Likewise.
39239         * modules/sys_file (Makefile.am): Likewise.
39240         * modules/sys_ioctl (Makefile.am): Likewise.
39241         * modules/sys_select (Makefile.am): Likewise.
39242         * modules/sys_socket (Makefile.am): Likewise.
39243         * modules/sys_times (Makefile.am): Likewise.
39244         * modules/sys_utsname (Makefile.am): Likewise.
39245         * modules/sys_wait (Makefile.am): Likewise.
39246         * modules/wchar (Makefile.am): Likewise.
39247         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
39248         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
39249         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
39250         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
39251         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
39252         Likewise.
39253         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39254         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
39255         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
39256         Likewise.
39257         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
39258         Likewise.
39259         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
39260         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
39261         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
39262         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39263         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
39264         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39265         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39266         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
39267         (gl_WCHAR_H_DEFAULTS): Likewise.
39268
39269 2009-12-31  Eric Blake  <ebb9@byu.net>
39270
39271         signal, spawn: use link warnings
39272         * lib/signal.in.h (sigset_t): Make unconditional.
39273         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
39274         (sigpending, sigprocmask, sigaction): Add link warnings.
39275         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
39276         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
39277         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
39278         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
39279         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
39280         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
39281         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
39282         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
39283         (posix_spawn_file_actions_destroy)
39284         (posix_spawn_file_actions_addopen)
39285         (posix_spawn_file_actions_addclose)
39286         (posix_spawn_file_actions_adddup2): Likewise.
39287         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
39288         * tests/test-signal.c (main): Enhance test.
39289
39290         spawn: improve wrapper support
39291         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
39292         (gl_SPAWN_H_DEFAULTS): New defaults.
39293         * modules/spawn (Makefile.am): Substitute them.
39294         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
39295         Only declare if missing or broken.
39296
39297         sys_times, sys_utsname: use include_next
39298         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
39299         header.
39300         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
39301         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39302         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39303         * modules/sys_times (Depends-on): Add include_next.
39304         (Makefile.am): Substitute additional values.
39305         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
39306         * lib/sys_times.in.h (includes): Include native header, if
39307         available.
39308         * lib/sys_utsname.in.h (includes): Likewise.
39309         * tests/test-sys_times.c (main): Enhance test.
39310
39311         fdutimensat: revert prior patch
39312         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
39313         utimens.h.
39314         Reported by Bruno Haible.
39315
39316 2009-12-30  Eric Blake  <ebb9@byu.net>
39317
39318         sys_wait: drop link-warning dependency
39319         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
39320         link-warning efforts.
39321         * lib/sys_wait.in.h: Likewise.
39322
39323         fdutimensat: remove bogus dependency
39324         * modules/fdutimensat (Depends-on): Drop inline.
39325
39326         unistd: fix typo
39327         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
39328
39329 2009-12-30  Bruno Haible  <bruno@clisp.org>
39330
39331         Fix compilation error with Solaris cc.
39332         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
39333         * lib/unicase/u16-is-invariant.c: Likewise.
39334         * lib/unicase/u32-is-invariant.c: Likewise.
39335         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39336
39337 2009-12-30  Bruno Haible  <bruno@clisp.org>
39338
39339         Fix test crash.
39340         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
39341         locales.
39342         Reported by Simon Josefsson <simon@josefsson.org>.
39343
39344 2009-12-30  Bruno Haible  <bruno@clisp.org>
39345
39346         Fix compilation error on most platforms.
39347         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
39348         Reported by Simon Josefsson <simon@josefsson.org>
39349         and Nelson H. F. Beebe <beebe@math.utah.edu>.
39350
39351 2009-12-30  Eric Blake  <ebb9@byu.net>
39352
39353         futimens, utimensat: work around ntfs-3g bug
39354         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
39355         a ctime bug is present, and expand workaround to cover ntfs-3g.
39356         * lib/utimens.c (fdutimens, lutimens): Likewise.
39357         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
39358         (validate_timespec): Adjust return value.
39359         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
39360         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39361         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
39362
39363 2009-12-29  Eric Blake  <ebb9@byu.net>
39364
39365         link-warning: make usage consistent
39366         * modules/ctype (Depends-on): Add link-warning.
39367         (Makefile.am): Update rules accordingly.
39368         * modules/langinfo (Depends-on, Makefile.am): Likewise.
39369         * modules/locale (Depends-on, Makefile.am): Likewise.
39370         * modules/sys_file (Makefile.am): Likewise.
39371         * modules/getopt-posix (Makefile.am): Delete unused link warning
39372         efforts.
39373         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
39374         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
39375         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
39376         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
39377
39378         stdio: remove unused variables
39379         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
39380         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
39381         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
39382
39383         tests: test more substitute headers
39384         * modules/ctype-tests: New file.
39385         * modules/dirent-tests: Likewise.
39386         * modules/spawn-tests: Likewise.
39387         * modules/sys_file-tests: Likewise.
39388         * modules/sys_ioctl-tests: Likewise.
39389         * modules/sys_wait-tests: Likewise.
39390         * tests/test-ctype.c: Likewise.
39391         * tests/test-dirent.c: Likewise.
39392         * tests/test-spawn.c: Likewise.
39393         * tests/test-sys_file.c: Likewise.
39394         * tests/test-sys_ioctl.c: Likewise.
39395         * tests/test-sys_wait.c: Likewise.
39396         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
39397         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
39398         whether or not flock is in use.
39399
39400         tests: remove License section from module
39401         * modules/arpa_inet-tests: Remove unneeded section.
39402         * modules/byteswap-tests: Likewise.
39403         * modules/ceilf-tests: Likewise.
39404         * modules/ceill-tests: Likewise.
39405         * modules/crypto/des-tests: Likewise.
39406         * modules/crypto/gc-arcfour-tests: Likewise.
39407         * modules/crypto/gc-arctwo-tests: Likewise.
39408         * modules/crypto/gc-des-tests: Likewise.
39409         * modules/crypto/gc-hmac-md5-tests: Likewise.
39410         * modules/crypto/gc-hmac-sha1-tests: Likewise.
39411         * modules/crypto/gc-md2-tests: Likewise.
39412         * modules/crypto/gc-md4-tests: Likewise.
39413         * modules/crypto/gc-md5-tests: Likewise.
39414         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
39415         * modules/crypto/gc-rijndael-tests: Likewise.
39416         * modules/crypto/gc-sha1-tests: Likewise.
39417         * modules/crypto/gc-tests: Likewise.
39418         * modules/crypto/md2-tests: Likewise.
39419         * modules/crypto/md4-tests: Likewise.
39420         * modules/fcntl-h-tests: Likewise.
39421         * modules/floorf-tests: Likewise.
39422         * modules/floorl-tests: Likewise.
39423         * modules/frexp-nolibm-tests: Likewise.
39424         * modules/frexp-tests: Likewise.
39425         * modules/frexpl-nolibm-tests: Likewise.
39426         * modules/frexpl-tests: Likewise.
39427         * modules/getaddrinfo-tests: Likewise.
39428         * modules/inttypes-tests: Likewise.
39429         * modules/isfinite-tests: Likewise.
39430         * modules/isinf-tests: Likewise.
39431         * modules/ldexpl-tests: Likewise.
39432         * modules/locale-tests: Likewise.
39433         * modules/math-tests: Likewise.
39434         * modules/netdb-tests: Likewise.
39435         * modules/netinet_in-tests: Likewise.
39436         * modules/printf-frexp-tests: Likewise.
39437         * modules/printf-frexpl-tests: Likewise.
39438         * modules/priv-set-tests: Likewise.
39439         * modules/random_r-tests: Likewise.
39440         * modules/round-tests: Likewise.
39441         * modules/roundf-tests: Likewise.
39442         * modules/roundl-tests: Likewise.
39443         * modules/search-tests: Likewise.
39444         * modules/select-tests: Likewise.
39445         * modules/signal-tests: Likewise.
39446         * modules/stdbool-tests: Likewise.
39447         * modules/stddef-tests: Likewise.
39448         * modules/stdint-tests: Likewise.
39449         * modules/stdio-tests: Likewise.
39450         * modules/stdlib-tests: Likewise.
39451         * modules/string-tests: Likewise.
39452         * modules/strings-tests: Likewise.
39453         * modules/sys_select-tests: Likewise.
39454         * modules/sys_socket-tests: Likewise.
39455         * modules/sys_stat-tests: Likewise.
39456         * modules/sys_time-tests: Likewise.
39457         * modules/sys_utsname-tests: Likewise.
39458         * modules/sysexits-tests: Likewise.
39459         * modules/time-tests: Likewise.
39460         * modules/trunc-tests: Likewise.
39461         * modules/truncf-tests: Likewise.
39462         * modules/truncl-tests: Likewise.
39463         * modules/tsearch-tests: Likewise.
39464         * modules/unistd-tests: Likewise.
39465         * modules/wchar-tests: Likewise.
39466         * modules/wctype-tests: Likewise.
39467
39468         tests: fix license on several tests
39469         * tests/test-des.c: Update to GPLv3+.
39470         * tests/test-flock.c: Likewise.
39471         * tests/test-fsync.c: Likewise.
39472         * tests/test-futimens.h: Likewise.
39473         * tests/test-gc-arcfour.c: Likewise.
39474         * tests/test-gc-arctwo.c: Likewise.
39475         * tests/test-gc-des.c: Likewise.
39476         * tests/test-gc-hmac-md5.c: Likewise.
39477         * tests/test-gc-hmac-sha1.c: Likewise.
39478         * tests/test-gc-md2.c: Likewise.
39479         * tests/test-gc-md4.c: Likewise.
39480         * tests/test-gc-md5.c: Likewise.
39481         * tests/test-gc-pbkdf2-sha1.c: Likewise.
39482         * tests/test-gc-rijndael.c: Likewise.
39483         * tests/test-gc-sha1.c: Likewise.
39484         * tests/test-gc.c: Likewise.
39485         * tests/test-getcwd.c: Likewise.
39486         * tests/test-link.c: Likewise.
39487         * tests/test-link.h: Likewise.
39488         * tests/test-lutimens.h: Likewise.
39489         * tests/test-md2.c: Likewise.
39490         * tests/test-md4.c: Likewise.
39491         * tests/test-mkdir.h: Likewise.
39492         * tests/test-rename.c: Likewise.
39493         * tests/test-rename.h: Likewise.
39494         * tests/test-safe-alloc.c: Likewise.
39495         * tests/test-utimens-common.h: Likewise.
39496         * tests/test-utimens.h: Likewise.
39497
39498         maint: sync license texts
39499         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
39500         * doc/gpl-3.0.texi: Revert copyright year update.
39501         * doc/lgpl-3.0.texi: Likewise.
39502
39503 2009-12-29  Jim Meyering  <meyering@redhat.com>
39504
39505         update nearly all FSF copyright year lists to include 2009
39506         The files named by the following are exempted:
39507             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
39508               test -f "$dst" && { echo "$dst"; continue; }
39509               test -d "$dst" || continue
39510               echo "$dst"/$(basename "$src")
39511             done > exempt
39512             git ls-files tests/unictype >> exempt
39513         In the remaining files, convert to all-interval notation if
39514         - there is already at least one year interval like 2000-2003
39515         - the file is maintained by me
39516         - the file is in lib/uni*/, where that style already prevails
39517         Otherwise, use update-copyright's default.
39518
39519 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39520         and Eric Blake  <ebb9@byu.net>
39521
39522         tests: don't require debug system() to pass
39523         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
39524         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39525         * tests/test-unlink.h (test_unlink_func): Likewise.
39526         * tests/test-fstatat.c (main): ...into callers.
39527         * tests/test-lstat.c (main): Likewise.
39528         * tests/test-rmdir.c (main): Likewise.
39529         * tests/test-unlink.c (main): Likewise.
39530         * tests/test-unlinkat.c (main): Likewise.
39531         * tests/test-areadlink-with-size.c (main): Don't require a
39532         debug-only system call to pass, aiding cross-testing to mingw.
39533         * tests/test-areadlink.c (main): Likewise.
39534         * tests/test-areadlinkat-with-size.c (main): Likewise.
39535         * tests/test-areadlinkat.c (main): Likewise.
39536         * tests/test-canonicalize-lgpl.c (main): Likewise.
39537         * tests/test-canonicalize.c (main): Likewise.
39538         * tests/test-chown.c (main): Likewise.
39539         * tests/test-fchownat.c (main): Likewise.
39540         * tests/test-lchown.c (main): Likewise.
39541         * tests/test-fdutimensat.c (main): Likewise.
39542         * tests/test-futimens.c (main): Likewise.
39543         * tests/test-link.c (main): Likewise.
39544         * tests/test-linkat.c (main): Likewise.
39545         * tests/test-mkdir.c (main): Likewise.
39546         * tests/test-mkdirat.c (main): Likewise.
39547         * tests/test-mkfifo.c (main): Likewise.
39548         * tests/test-mkfifoat.c (main): Likewise.
39549         * tests/test-mknod.c (main): Likewise.
39550         * tests/test-readlink.c (main): Likewise.
39551         * tests/test-remove.c (main): Likewise.
39552         * tests/test-rename.c (main): Likewise.
39553         * tests/test-renameat.c (main): Likewise.
39554         * tests/test-symlink.c (main): Likewise.
39555         * tests/test-symlinkat.c (main): Likewise.
39556         * tests/test-utimens.c (main): Likewise.
39557         * tests/test-utimensat.c (main): Likewise.
39558
39559 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39560
39561         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
39562         on $(UNUSED_PARAMETER_H) to avoid build failure.
39563
39564 2009-12-28  Jim Meyering  <meyering@redhat.com>
39565
39566         update-copyright: you may specify a max. line length other than 72
39567         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39568
39569         maint: use consistent FSF copyright line syntax
39570         * lib/posixtm.c: Add missing comma in FSF copyright line.
39571         * lib/posixtm.h: Likewise.
39572         * lib/getugroups.c: Add missing ", Inc.".
39573
39574         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
39575         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
39576         FSF copyright line.  Remove trailing blanks.
39577
39578 2009-12-28  Eric Blake  <ebb9@byu.net>
39579
39580         test-dup2: reduce dependencies
39581         * modules/cloexec (Configure.ac): Set witness.
39582         * modules/dup2-tests (Depends-on): Drop cloexec.
39583         * tests/test-dup2.c (main): Skip portion of test if cloexec module
39584         not present.
39585         Suggested by Bruno Haible.
39586
39587 2009-12-26  Bruno Haible  <bruno@clisp.org>
39588
39589         Remove an unneeded dependency.
39590         * modules/fseterr (Depends-on): Remove dup2.
39591
39592 2009-12-26  Eric Blake  <ebb9@byu.net>
39593
39594         tests: use macros.h in more places
39595         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
39596         (ASSERT_STREAM): Provide default of stderr.
39597         * tests/test-dirent-safer.c: Include macros.h, using alternate
39598         stream for assertions.
39599         * tests/test-dup-safer.c: Likewise.
39600         * tests/test-freopen-safer.c: Likewise.
39601         * tests/test-getopt.c: Likewise.
39602         * tests/test-openat-safer.c: Likewise.
39603         * tests/test-pipe.c: Likewise.
39604         * tests/test-popen-safer.c: Likewise.
39605         * modules/dirent-safer-tests (Files): Include macros.h.
39606         * modules/unistd-safer-tests (Files): Likewise.
39607         * modules/freopen-safer-tests (Files): Likewise.
39608         * modules/getopt-posix-tests (Files): Likewise.
39609         * modules/openat-safer-tests (Files): Likewise.
39610         * modules/pipe-tests (Files): Likewise.
39611
39612 2009-12-26  Bruno Haible  <bruno@clisp.org>
39613
39614         javacomp: Portability fix.
39615         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
39616         that it also works on Solaris.
39617
39618 2009-12-26  Bruno Haible  <bruno@clisp.org>
39619
39620         localename: Fix storage allocation of gl_locale_name_thread's result.
39621         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
39622         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
39623         all platforms that have 'uselocale'.
39624         (gl_locale_name_thread_unsafe): New function, extracted from
39625         gl_locale_name_thread.
39626         (gl_locale_name_thread): Call struniq on all platforms that have
39627         'uselocale'.
39628         * tests/test-localename.c (test_locale_name_thread): Check that the
39629         resulting strings are permanently allocated.
39630         * modules/localename-tests (Depends-on): Add strdup.
39631
39632 2009-12-26  Bruno Haible  <bruno@clisp.org>
39633
39634         * tests/test-localename.c (categories): Fill in the strings.
39635
39636 2009-12-26  Jim Meyering  <meyering@redhat.com>
39637
39638         isdir: complete the removal of m4/isdir.m4
39639         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
39640
39641         isdir: clean up, since at least grep still uses it
39642         * lib/isdir.c: Include "isdir.h".
39643         (S_ISDIR): Remove now-unneeded definition.
39644         * modules/isdir (Files): Add lib/isdir.h.
39645         * lib/isdir.h: New file, with declaration.
39646         * m4/isdir.m4: Remove file -- unneeded.
39647
39648 2009-12-25  Bruno Haible  <bruno@clisp.org>
39649
39650         selinux-h: Make generated .h files standalone.
39651         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
39652         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
39653         * lib/se-selinux.in.h: Likewise.
39654         * modules/selinux-h (Depends-on): Add unused-parameter.
39655         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
39656         selinux/selinux.h and selinux/context.h.
39657         Suggested by Eric Blake.
39658
39659 2009-12-25  Bruno Haible  <bruno@clisp.org>
39660
39661         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
39662         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
39663         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
39664         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
39665         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
39666
39667 2009-12-24  Bruno Haible  <bruno@clisp.org>
39668
39669         openat: Fix warning.
39670         * lib/openat-proc.c: Include <unistd.h>.
39671
39672 2009-12-24  Bruno Haible  <bruno@clisp.org>
39673
39674         New module 'unused-parameter'.
39675         * build-aux/unused-parameter.h: New file, extracted from earlier
39676         gnulib-common.m4.
39677         * modules/unused-parameter: New file.
39678         * lib/unistr.h: Include unused-parameter.h.
39679         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
39680         _GL_UNUSED.
39681         * modules/unistr/base (Depends-on): Add unused-parameter.
39682
39683 2009-12-24  Bruno Haible  <bruno@clisp.org>
39684
39685         Add missing dependencies to 'extensions' module.
39686         * m4/extensions.m4: Add comment.
39687         * modules/accept4 (Depends-on): Add extensions.
39688         * modules/dup3 (Depends-on): Likewise.
39689         * modules/fcntl (Depends-on): Likewise.
39690         * modules/futimens (Depends-on): Likewise.
39691         * modules/mknod (Depends-on): Likewise.
39692         * modules/pipe2 (Depends-on): Likewise.
39693         * modules/stat-time (Depends-on): Likewise.
39694         * modules/strcasestr-simple (Depends-on): Likewise.
39695         * modules/strsignal (Depends-on): Likewise.
39696         * modules/utimensat (Depends-on): Likewise.
39697         * modules/localcharset (Depends-on): Likewise. Needed because of
39698         gl_FCNTL_O_FLAGS.
39699         * modules/wcrtomb (Depends-on): Likewise. Needed because of
39700         AC_TYPE_MBSTATE_T.
39701         * modules/wcsnrtombs (Depends-on): Likewise.
39702         * modules/wcsrtombs (Depends-on): Likewise.
39703
39704 2009-12-24  Bruno Haible  <bruno@clisp.org>
39705
39706         binary-io: Avoid gcc warning due to SET_BINARY.
39707         * lib/binary-io.h (SET_BINARY): Cast the result to void.
39708         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
39709
39710 2009-12-24  Bruno Haible  <bruno@clisp.org>
39711
39712         Avoid future namespace pollution on glibc systems.
39713         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
39714         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
39715         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
39716         glibc systems.
39717
39718 2009-12-24  Bruno Haible  <bruno@clisp.org>
39719
39720         Refactor common macros used in tests.
39721         * tests/macros.h: New file.
39722         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
39723         and/or <stdlib.h>, if appropriate.
39724         (ASSERT, SIZEOF): Remove macros.
39725         * tests/test-areadlink-with-size.c: Likewise.
39726         * tests/test-areadlinkat.c: Likewise.
39727         * tests/test-areadlinkat-with-size.c: Likewise.
39728         * tests/test-argmatch.c: Likewise.
39729         * tests/test-argv-iter.c: Likewise.
39730         * tests/test-array-mergesort.c: Likewise.
39731         * tests/test-array_list.c: Likewise.
39732         * tests/test-array_oset.c: Likewise.
39733         * tests/test-avltree_list.c: Likewise.
39734         * tests/test-avltree_oset.c: Likewise.
39735         * tests/test-avltreehash_list.c: Likewise.
39736         * tests/test-base64.c: Likewise.
39737         * tests/test-binary-io.c: Likewise.
39738         * tests/test-bitrotate.c: Likewise.
39739         * tests/test-btowc.c: Likewise.
39740         * tests/test-byteswap.c: Likewise.
39741         * tests/test-c-ctype.c: Likewise.
39742         * tests/test-c-stack.c: Likewise.
39743         * tests/test-c-strcasecmp.c: Likewise.
39744         * tests/test-c-strcasestr.c: Likewise.
39745         * tests/test-c-strncasecmp.c: Likewise.
39746         * tests/test-c-strstr.c: Likewise.
39747         * tests/test-canonicalize-lgpl.c: Likewise.
39748         * tests/test-canonicalize.c: Likewise.
39749         * tests/test-carray_list.c: Likewise.
39750         * tests/test-ceilf1.c: Likewise.
39751         * tests/test-ceilf2.c: Likewise.
39752         * tests/test-ceill.c: Likewise.
39753         * tests/test-chown.c: Likewise.
39754         * tests/test-cloexec.c: Likewise.
39755         * tests/test-copy-acl.c: Likewise.
39756         * tests/test-copy-file.c: Likewise.
39757         * tests/test-count-one-bits.c: Likewise.
39758         * tests/test-dprintf-posix.c: Likewise.
39759         * tests/test-dup2.c: Likewise.
39760         * tests/test-dup3.c: Likewise.
39761         * tests/test-duplocale.c: Likewise.
39762         * tests/test-fbufmode.c: Likewise.
39763         * tests/test-fchdir.c: Likewise.
39764         * tests/test-fchownat.c: Likewise.
39765         * tests/test-fcntl-safer.c: Likewise.
39766         * tests/test-fcntl.c: Likewise.
39767         * tests/test-fdopendir.c: Likewise.
39768         * tests/test-fdutimensat.c: Likewise.
39769         * tests/test-fflush2.c: Likewise.
39770         * tests/test-file-has-acl.c: Likewise.
39771         * tests/test-filevercmp.c: Likewise.
39772         * tests/test-flock.c: Likewise.
39773         * tests/test-floorf1.c: Likewise.
39774         * tests/test-floorf2.c: Likewise.
39775         * tests/test-floorl.c: Likewise.
39776         * tests/test-fnmatch.c: Likewise.
39777         * tests/test-fopen.h: Likewise.
39778         * tests/test-fpending.c: Likewise.
39779         * tests/test-fprintf-posix.c: Likewise.
39780         * tests/test-fpurge.c: Likewise.
39781         * tests/test-freadable.c: Likewise.
39782         * tests/test-freadahead.c: Likewise.
39783         * tests/test-freading.c: Likewise.
39784         * tests/test-freadptr.c: Likewise.
39785         * tests/test-freadptr2.c: Likewise.
39786         * tests/test-freadseek.c: Likewise.
39787         * tests/test-freopen.c: Likewise.
39788         * tests/test-frexp.c: Likewise.
39789         * tests/test-frexpl.c: Likewise.
39790         * tests/test-fseek.c: Likewise.
39791         * tests/test-fseeko.c: Likewise.
39792         * tests/test-fstatat.c: Likewise.
39793         * tests/test-fstrcmp.c: Likewise.
39794         * tests/test-fsync.c: Likewise.
39795         * tests/test-ftell.c: Likewise.
39796         * tests/test-ftello.c: Likewise.
39797         * tests/test-func.c: Likewise.
39798         * tests/test-futimens.c: Likewise.
39799         * tests/test-fwritable.c: Likewise.
39800         * tests/test-fwriting.c: Likewise.
39801         * tests/test-getcwd.c: Likewise.
39802         * tests/test-getdate.c: Likewise.
39803         * tests/test-getdelim.c: Likewise.
39804         * tests/test-getdtablesize.c: Likewise.
39805         * tests/test-getgroups.c: Likewise.
39806         * tests/test-getline.c: Likewise.
39807         * tests/test-getndelim2.c: Likewise.
39808         * tests/test-glob.c: Likewise.
39809         * tests/test-hash.c: Likewise.
39810         * tests/test-i-ring.c: Likewise.
39811         * tests/test-iconv-utf.c: Likewise.
39812         * tests/test-iconv.c: Likewise.
39813         * tests/test-idpriv-drop.c: Likewise.
39814         * tests/test-idpriv-droptemp.c: Likewise.
39815         * tests/test-inet_ntop.c: Likewise.
39816         * tests/test-inet_pton.c: Likewise.
39817         * tests/test-isblank.c: Likewise.
39818         * tests/test-isfinite.c: Likewise.
39819         * tests/test-isinf.c: Likewise.
39820         * tests/test-isnan.c: Likewise.
39821         * tests/test-isnand.h: Likewise.
39822         * tests/test-isnanf.h: Likewise.
39823         * tests/test-isnanl.h: Likewise.
39824         * tests/test-lchown.c: Likewise.
39825         * tests/test-ldexpl.c: Likewise.
39826         * tests/test-link.c: Likewise.
39827         * tests/test-linkat.c: Likewise.
39828         * tests/test-linked_list.c: Likewise.
39829         * tests/test-linkedhash_list.c: Likewise.
39830         * tests/test-localename.c: Likewise.
39831         * tests/test-lseek.c: Likewise.
39832         * tests/test-lstat.c: Likewise.
39833         * tests/test-mbmemcasecmp.c: Likewise.
39834         * tests/test-mbmemcasecoll.c: Likewise.
39835         * tests/test-mbrtowc.c: Likewise.
39836         * tests/test-mbscasecmp.c: Likewise.
39837         * tests/test-mbscasestr1.c: Likewise.
39838         * tests/test-mbscasestr2.c: Likewise.
39839         * tests/test-mbscasestr3.c: Likewise.
39840         * tests/test-mbscasestr4.c: Likewise.
39841         * tests/test-mbschr.c: Likewise.
39842         * tests/test-mbscspn.c: Likewise.
39843         * tests/test-mbsinit.c: Likewise.
39844         * tests/test-mbsncasecmp.c: Likewise.
39845         * tests/test-mbsnrtowcs.c: Likewise.
39846         * tests/test-mbspbrk.c: Likewise.
39847         * tests/test-mbspcasecmp.c: Likewise.
39848         * tests/test-mbsrchr.c: Likewise.
39849         * tests/test-mbsrtowcs.c: Likewise.
39850         * tests/test-mbsspn.c: Likewise.
39851         * tests/test-mbsstr1.c: Likewise.
39852         * tests/test-mbsstr2.c: Likewise.
39853         * tests/test-mbsstr3.c: Likewise.
39854         * tests/test-memchr.c: Likewise.
39855         * tests/test-memchr2.c: Likewise.
39856         * tests/test-memcmp.c: Likewise.
39857         * tests/test-memmem.c: Likewise.
39858         * tests/test-memrchr.c: Likewise.
39859         * tests/test-mkdir.c: Likewise.
39860         * tests/test-mkdirat.c: Likewise.
39861         * tests/test-mkfifo.c: Likewise.
39862         * tests/test-mkfifoat.c: Likewise.
39863         * tests/test-mknod.c: Likewise.
39864         * tests/test-nanosleep.c: Likewise.
39865         * tests/test-nl_langinfo.c: Likewise.
39866         * tests/test-obstack-printf.c: Likewise.
39867         * tests/test-open.c: Likewise.
39868         * tests/test-openat.c: Likewise.
39869         * tests/test-pipe-filter-gi1.c: Likewise.
39870         * tests/test-pipe-filter-gi2-main.c: Likewise.
39871         * tests/test-pipe-filter-ii1.c: Likewise.
39872         * tests/test-pipe-filter-ii2-main.c: Likewise.
39873         * tests/test-pipe2.c: Likewise.
39874         * tests/test-popen.h: Likewise.
39875         * tests/test-posixtm.c: Likewise.
39876         * tests/test-pread.c: Likewise.
39877         * tests/test-printf-frexp.c: Likewise.
39878         * tests/test-printf-frexpl.c: Likewise.
39879         * tests/test-printf-posix.c: Likewise.
39880         * tests/test-priv-set.c: Likewise.
39881         * tests/test-quotearg.c: Likewise.
39882         * tests/test-random_r.c: Likewise.
39883         * tests/test-rawmemchr.c: Likewise.
39884         * tests/test-rbtree_list.c: Likewise.
39885         * tests/test-rbtree_oset.c: Likewise.
39886         * tests/test-rbtreehash_list.c: Likewise.
39887         * tests/test-readlink.c: Likewise.
39888         * tests/test-remove.c: Likewise.
39889         * tests/test-rename.c: Likewise.
39890         * tests/test-renameat.c: Likewise.
39891         * tests/test-rmdir.c: Likewise.
39892         * tests/test-round1.c: Likewise.
39893         * tests/test-roundf1.c: Likewise.
39894         * tests/test-roundl.c: Likewise.
39895         * tests/test-safe-alloc.c: Likewise.
39896         * tests/test-sameacls.c: Likewise.
39897         * tests/test-set-mode-acl.c: Likewise.
39898         * tests/test-setenv.c: Likewise.
39899         * tests/test-sigaction.c: Likewise.
39900         * tests/test-signbit.c: Likewise.
39901         * tests/test-sleep.c: Likewise.
39902         * tests/test-snprintf-posix.c: Likewise.
39903         * tests/test-snprintf.c: Likewise.
39904         * tests/test-sprintf-posix.c: Likewise.
39905         * tests/test-stat-time.c: Likewise.
39906         * tests/test-stat.c: Likewise.
39907         * tests/test-strcasestr.c: Likewise.
39908         * tests/test-strchrnul.c: Likewise.
39909         * tests/test-strerror.c: Likewise.
39910         * tests/test-striconv.c: Likewise.
39911         * tests/test-striconveh.c: Likewise.
39912         * tests/test-striconveha.c: Likewise.
39913         * tests/test-strsignal.c: Likewise.
39914         * tests/test-strstr.c: Likewise.
39915         * tests/test-strtod.c: Likewise.
39916         * tests/test-strverscmp.c: Likewise.
39917         * tests/test-symlink.c: Likewise.
39918         * tests/test-symlinkat.c: Likewise.
39919         * tests/test-trunc1.c: Likewise.
39920         * tests/test-trunc2.c: Likewise.
39921         * tests/test-truncf1.c: Likewise.
39922         * tests/test-truncf2.c: Likewise.
39923         * tests/test-truncl.c: Likewise.
39924         * tests/test-uname.c: Likewise.
39925         * tests/test-unlink.c: Likewise.
39926         * tests/test-unlinkat.c: Likewise.
39927         * tests/test-unsetenv.c: Likewise.
39928         * tests/test-usleep.c: Likewise.
39929         * tests/test-utimens.c: Likewise.
39930         * tests/test-utimensat.c: Likewise.
39931         * tests/test-vasnprintf-posix.c: Likewise.
39932         * tests/test-vasnprintf-posix2.c: Likewise.
39933         * tests/test-vasnprintf.c: Likewise.
39934         * tests/test-vasprintf-posix.c: Likewise.
39935         * tests/test-vasprintf.c: Likewise.
39936         * tests/test-vdprintf-posix.c: Likewise.
39937         * tests/test-vfprintf-posix.c: Likewise.
39938         * tests/test-vprintf-posix.c: Likewise.
39939         * tests/test-vsnprintf-posix.c: Likewise.
39940         * tests/test-vsnprintf.c: Likewise.
39941         * tests/test-vsprintf-posix.c: Likewise.
39942         * tests/test-wcrtomb.c: Likewise.
39943         * tests/test-wcsnrtombs.c: Likewise.
39944         * tests/test-wcsrtombs.c: Likewise.
39945         * tests/test-wctype.c: Likewise.
39946         * tests/test-wcwidth.c: Likewise.
39947         * tests/test-xfprintf-posix.c: Likewise.
39948         * tests/test-xmemdup0.c: Likewise.
39949         * tests/test-xprintf-posix.c: Likewise.
39950         * tests/test-xvasprintf.c: Likewise.
39951         * tests/unicase/test-locale-language.c: Likewise.
39952         * tests/unicase/test-mapping-part1.h: Likewise.
39953         * tests/unicase/test-predicate-part1.h: Likewise.
39954         * tests/unicase/test-u8-casecmp.c: Likewise.
39955         * tests/unicase/test-u8-casecoll.c: Likewise.
39956         * tests/unicase/test-u8-casefold.c: Likewise.
39957         * tests/unicase/test-u8-is-cased.c: Likewise.
39958         * tests/unicase/test-u8-is-casefolded.c: Likewise.
39959         * tests/unicase/test-u8-is-lowercase.c: Likewise.
39960         * tests/unicase/test-u8-is-titlecase.c: Likewise.
39961         * tests/unicase/test-u8-is-uppercase.c: Likewise.
39962         * tests/unicase/test-u8-tolower.c: Likewise.
39963         * tests/unicase/test-u8-totitle.c: Likewise.
39964         * tests/unicase/test-u8-toupper.c: Likewise.
39965         * tests/unicase/test-u16-casecmp.c: Likewise.
39966         * tests/unicase/test-u16-casecoll.c: Likewise.
39967         * tests/unicase/test-u16-casefold.c: Likewise.
39968         * tests/unicase/test-u16-is-cased.c: Likewise.
39969         * tests/unicase/test-u16-is-casefolded.c: Likewise.
39970         * tests/unicase/test-u16-is-lowercase.c: Likewise.
39971         * tests/unicase/test-u16-is-titlecase.c: Likewise.
39972         * tests/unicase/test-u16-is-uppercase.c: Likewise.
39973         * tests/unicase/test-u16-tolower.c: Likewise.
39974         * tests/unicase/test-u16-totitle.c: Likewise.
39975         * tests/unicase/test-u16-toupper.c: Likewise.
39976         * tests/unicase/test-u32-casecmp.c: Likewise.
39977         * tests/unicase/test-u32-casecoll.c: Likewise.
39978         * tests/unicase/test-u32-casefold.c: Likewise.
39979         * tests/unicase/test-u32-is-cased.c: Likewise.
39980         * tests/unicase/test-u32-is-casefolded.c: Likewise.
39981         * tests/unicase/test-u32-is-lowercase.c: Likewise.
39982         * tests/unicase/test-u32-is-titlecase.c: Likewise.
39983         * tests/unicase/test-u32-is-uppercase.c: Likewise.
39984         * tests/unicase/test-u32-tolower.c: Likewise.
39985         * tests/unicase/test-u32-totitle.c: Likewise.
39986         * tests/unicase/test-u32-toupper.c: Likewise.
39987         * tests/unicase/test-ulc-casecmp.c: Likewise.
39988         * tests/unicase/test-ulc-casecoll.c: Likewise.
39989         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
39990         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
39991         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
39992         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
39993         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
39994         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
39995         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
39996         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
39997         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
39998         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
39999         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
40000         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
40001         * tests/unictype/test-bidi_byname.c: Likewise.
40002         * tests/unictype/test-bidi_name.c: Likewise.
40003         * tests/unictype/test-bidi_of.c: Likewise.
40004         * tests/unictype/test-bidi_test.c: Likewise.
40005         * tests/unictype/test-block_list.c: Likewise.
40006         * tests/unictype/test-block_of.c: Likewise.
40007         * tests/unictype/test-block_test.c: Likewise.
40008         * tests/unictype/test-categ_and.c: Likewise.
40009         * tests/unictype/test-categ_and_not.c: Likewise.
40010         * tests/unictype/test-categ_byname.c: Likewise.
40011         * tests/unictype/test-categ_name.c: Likewise.
40012         * tests/unictype/test-categ_none.c: Likewise.
40013         * tests/unictype/test-categ_of.c: Likewise.
40014         * tests/unictype/test-categ_or.c: Likewise.
40015         * tests/unictype/test-categ_test_withtable.c: Likewise.
40016         * tests/unictype/test-combining.c: Likewise.
40017         * tests/unictype/test-decdigit.c: Likewise.
40018         * tests/unictype/test-digit.c: Likewise.
40019         * tests/unictype/test-mirror.c: Likewise.
40020         * tests/unictype/test-numeric.c: Likewise.
40021         * tests/unictype/test-pr_byname.c: Likewise.
40022         * tests/unictype/test-pr_test.c: Likewise.
40023         * tests/unictype/test-predicate-part1.h: Likewise.
40024         * tests/unictype/test-scripts.c: Likewise.
40025         * tests/unictype/test-sy_c_ident.c: Likewise.
40026         * tests/unictype/test-sy_java_ident.c: Likewise.
40027         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
40028         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
40029         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
40030         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
40031         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
40032         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
40033         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
40034         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
40035         * tests/uninorm/test-canonical-decomposition.c: Likewise.
40036         * tests/uninorm/test-compat-decomposition.c: Likewise.
40037         * tests/uninorm/test-composition.c: Likewise.
40038         * tests/uninorm/test-decomposing-form.c: Likewise.
40039         * tests/uninorm/test-decomposition.c: Likewise.
40040         * tests/uninorm/test-u8-nfc.c: Likewise.
40041         * tests/uninorm/test-u8-nfd.c: Likewise.
40042         * tests/uninorm/test-u8-nfkc.c: Likewise.
40043         * tests/uninorm/test-u8-nfkd.c: Likewise.
40044         * tests/uninorm/test-u8-normcmp.c: Likewise.
40045         * tests/uninorm/test-u8-normcoll.c: Likewise.
40046         * tests/uninorm/test-u16-nfc.c: Likewise.
40047         * tests/uninorm/test-u16-nfd.c: Likewise.
40048         * tests/uninorm/test-u16-nfkc.c: Likewise.
40049         * tests/uninorm/test-u16-nfkd.c: Likewise.
40050         * tests/uninorm/test-u16-normcmp.c: Likewise.
40051         * tests/uninorm/test-u16-normcoll.c: Likewise.
40052         * tests/uninorm/test-u32-nfc.c: Likewise.
40053         * tests/uninorm/test-u32-nfd.c: Likewise.
40054         * tests/uninorm/test-u32-nfkc.c: Likewise.
40055         * tests/uninorm/test-u32-nfkd.c: Likewise.
40056         * tests/uninorm/test-u32-normalize-big.c: Likewise.
40057         * tests/uninorm/test-u32-normcmp.c: Likewise.
40058         * tests/uninorm/test-u32-normcoll.c: Likewise.
40059         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
40060         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
40061         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
40062         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
40063         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
40064         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
40065         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
40066         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
40067         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
40068         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
40069         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
40070         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
40071         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
40072         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
40073         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
40074         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
40075         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
40076         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
40077         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
40078         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
40079         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
40080         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
40081         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
40082         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
40083         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
40084         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
40085         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
40086         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
40087         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
40088         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
40089         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
40090         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
40091         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
40092         * tests/uniwidth/test-u8-strwidth.c: Likewise.
40093         * tests/uniwidth/test-u8-width.c: Likewise.
40094         * tests/uniwidth/test-u16-strwidth.c: Likewise.
40095         * tests/uniwidth/test-u16-width.c: Likewise.
40096         * tests/uniwidth/test-u32-strwidth.c: Likewise.
40097         * tests/uniwidth/test-u32-width.c: Likewise.
40098         * tests/uniwidth/test-uc_width.c: Likewise.
40099         * tests/uniwidth/test-uc_width2.c: Likewise.
40100         * modules/acl-tests (Files): Add tests/macros.h.
40101         * modules/areadlink-tests (Files): Likewise.
40102         * modules/areadlink-with-size-tests (Files): Likewise.
40103         * modules/areadlinkat-tests (Files): Likewise.
40104         * modules/areadlinkat-with-size-tests (Files): Likewise.
40105         * modules/argmatch-tests (Files): Likewise.
40106         * modules/argv-iter-tests (Files): Likewise.
40107         * modules/array-list-tests (Files): Likewise.
40108         * modules/array-mergesort-tests (Files): Likewise.
40109         * modules/array-oset-tests (Files): Likewise.
40110         * modules/avltree-list-tests (Files): Likewise.
40111         * modules/avltree-oset-tests (Files): Likewise.
40112         * modules/avltreehash-list-tests (Files): Likewise.
40113         * modules/base64-tests (Files): Likewise.
40114         * modules/binary-io-tests (Files): Likewise.
40115         * modules/bitrotate-tests (Files): Likewise.
40116         * modules/btowc-tests (Files): Likewise.
40117         * modules/byteswap-tests (Files): Likewise.
40118         * modules/c-ctype-tests (Files): Likewise.
40119         * modules/c-stack-tests (Files): Likewise.
40120         * modules/c-strcase-tests (Files): Likewise.
40121         * modules/c-strcasestr-tests (Files): Likewise.
40122         * modules/c-strstr-tests (Files): Likewise.
40123         * modules/canonicalize-lgpl-tests (Files): Likewise.
40124         * modules/canonicalize-tests (Files): Likewise.
40125         * modules/carray-list-tests (Files): Likewise.
40126         * modules/ceilf-tests (Files): Likewise.
40127         * modules/ceill-tests (Files): Likewise.
40128         * modules/chown-tests (Files): Likewise.
40129         * modules/cloexec-tests (Files): Likewise.
40130         * modules/copy-file-tests (Files): Likewise.
40131         * modules/count-one-bits-tests (Files): Likewise.
40132         * modules/dprintf-posix-tests (Files): Likewise.
40133         * modules/dup2-tests (Files): Likewise.
40134         * modules/dup3-tests (Files): Likewise.
40135         * modules/duplocale-tests (Files): Likewise.
40136         * modules/fbufmode-tests (Files): Likewise.
40137         * modules/fchdir-tests (Files): Likewise.
40138         * modules/fcntl-safer-tests (Files): Likewise.
40139         * modules/fcntl-tests (Files): Likewise.
40140         * modules/fdopendir-tests (Files): Likewise.
40141         * modules/fdutimensat-tests (Files): Likewise.
40142         * modules/fflush-tests (Files): Likewise.
40143         * modules/filevercmp-tests (Files): Likewise.
40144         * modules/flock-tests (Files): Likewise.
40145         * modules/floorf-tests (Files): Likewise.
40146         * modules/floorl-tests (Files): Likewise.
40147         * modules/fnmatch-tests (Files): Likewise.
40148         * modules/fopen-safer-tests (Files): Likewise.
40149         * modules/fopen-tests (Files): Likewise.
40150         * modules/fpending-tests (Files): Likewise.
40151         * modules/fprintf-posix-tests (Files): Likewise.
40152         * modules/fpurge-tests (Files): Likewise.
40153         * modules/freadable-tests (Files): Likewise.
40154         * modules/freadahead-tests (Files): Likewise.
40155         * modules/freading-tests (Files): Likewise.
40156         * modules/freadptr-tests (Files): Likewise.
40157         * modules/freadseek-tests (Files): Likewise.
40158         * modules/freopen-tests (Files): Likewise.
40159         * modules/frexp-nolibm-tests (Files): Likewise.
40160         * modules/frexp-tests (Files): Likewise.
40161         * modules/frexpl-nolibm-tests (Files): Likewise.
40162         * modules/frexpl-tests (Files): Likewise.
40163         * modules/fseek-tests (Files): Likewise.
40164         * modules/fseeko-tests (Files): Likewise.
40165         * modules/fstrcmp-tests (Files): Likewise.
40166         * modules/fsync-tests (Files): Likewise.
40167         * modules/ftell-tests (Files): Likewise.
40168         * modules/ftello-tests (Files): Likewise.
40169         * modules/func-tests (Files): Likewise.
40170         * modules/futimens-tests (Files): Likewise.
40171         * modules/fwritable-tests (Files): Likewise.
40172         * modules/fwriting-tests (Files): Likewise.
40173         * modules/getcwd-tests (Files): Likewise.
40174         * modules/getdate-tests (Files): Likewise.
40175         * modules/getdelim-tests (Files): Likewise.
40176         * modules/getdtablesize-tests (Files): Likewise.
40177         * modules/getgroups-tests (Files): Likewise.
40178         * modules/getline-tests (Files): Likewise.
40179         * modules/getndelim2-tests (Files): Likewise.
40180         * modules/glob-tests (Files): Likewise.
40181         * modules/hash-tests (Files): Likewise.
40182         * modules/i-ring-tests (Files): Likewise.
40183         * modules/iconv-tests (Files): Likewise.
40184         * modules/iconv_open-utf-tests (Files): Likewise.
40185         * modules/idpriv-drop-tests (Files): Likewise.
40186         * modules/idpriv-droptemp-tests (Files): Likewise.
40187         * modules/inet_ntop-tests (Files): Likewise.
40188         * modules/inet_pton-tests (Files): Likewise.
40189         * modules/isblank-tests (Files): Likewise.
40190         * modules/isfinite-tests (Files): Likewise.
40191         * modules/isinf-tests (Files): Likewise.
40192         * modules/isnan-tests (Files): Likewise.
40193         * modules/isnand-nolibm-tests (Files): Likewise.
40194         * modules/isnand-tests (Files): Likewise.
40195         * modules/isnanf-nolibm-tests (Files): Likewise.
40196         * modules/isnanf-tests (Files): Likewise.
40197         * modules/isnanl-nolibm-tests (Files): Likewise.
40198         * modules/isnanl-tests (Files): Likewise.
40199         * modules/lchown-tests (Files): Likewise.
40200         * modules/ldexpl-tests (Files): Likewise.
40201         * modules/link-tests (Files): Likewise.
40202         * modules/linkat-tests (Files): Likewise.
40203         * modules/linked-list-tests (Files): Likewise.
40204         * modules/linkedhash-list-tests (Files): Likewise.
40205         * modules/localename-tests (Files): Likewise.
40206         * modules/lseek-tests (Files): Likewise.
40207         * modules/lstat-tests (Files): Likewise.
40208         * modules/mbmemcasecmp-tests (Files): Likewise.
40209         * modules/mbmemcasecoll-tests (Files): Likewise.
40210         * modules/mbrtowc-tests (Files): Likewise.
40211         * modules/mbscasecmp-tests (Files): Likewise.
40212         * modules/mbscasestr-tests (Files): Likewise.
40213         * modules/mbschr-tests (Files): Likewise.
40214         * modules/mbscspn-tests (Files): Likewise.
40215         * modules/mbsinit-tests (Files): Likewise.
40216         * modules/mbsncasecmp-tests (Files): Likewise.
40217         * modules/mbsnrtowcs-tests (Files): Likewise.
40218         * modules/mbspbrk-tests (Files): Likewise.
40219         * modules/mbspcasecmp-tests (Files): Likewise.
40220         * modules/mbsrchr-tests (Files): Likewise.
40221         * modules/mbsrtowcs-tests (Files): Likewise.
40222         * modules/mbsspn-tests (Files): Likewise.
40223         * modules/mbsstr-tests (Files): Likewise.
40224         * modules/memchr-tests (Files): Likewise.
40225         * modules/memchr2-tests (Files): Likewise.
40226         * modules/memcmp-tests (Files): Likewise.
40227         * modules/memmem-tests (Files): Likewise.
40228         * modules/memrchr-tests (Files): Likewise.
40229         * modules/mkdir-tests (Files): Likewise.
40230         * modules/mkfifo-tests (Files): Likewise.
40231         * modules/mkfifoat-tests (Files): Likewise.
40232         * modules/mknod-tests (Files): Likewise.
40233         * modules/nanosleep-tests (Files): Likewise.
40234         * modules/nl_langinfo-tests (Files): Likewise.
40235         * modules/obstack-printf-tests (Files): Likewise.
40236         * modules/open-tests (Files): Likewise.
40237         * modules/openat-tests (Files): Likewise.
40238         * modules/pipe-filter-gi-tests (Files): Likewise.
40239         * modules/pipe-filter-ii-tests (Files): Likewise.
40240         * modules/pipe2-tests (Files): Likewise.
40241         * modules/popen-safer-tests (Files): Likewise.
40242         * modules/popen-tests (Files): Likewise.
40243         * modules/posixtm-tests (Files): Likewise.
40244         * modules/pread-tests (Files): Likewise.
40245         * modules/printf-frexp-tests (Files): Likewise.
40246         * modules/printf-frexpl-tests (Files): Likewise.
40247         * modules/printf-posix-tests (Files): Likewise.
40248         * modules/priv-set-tests (Files): Likewise.
40249         * modules/quotearg-tests (Files): Likewise.
40250         * modules/random_r-tests (Files): Likewise.
40251         * modules/rawmemchr-tests (Files): Likewise.
40252         * modules/rbtree-list-tests (Files): Likewise.
40253         * modules/rbtree-oset-tests (Files): Likewise.
40254         * modules/rbtreehash-list-tests (Files): Likewise.
40255         * modules/readlink-tests (Files): Likewise.
40256         * modules/remove-tests (Files): Likewise.
40257         * modules/rename-tests (Files): Likewise.
40258         * modules/renameat-tests (Files): Likewise.
40259         * modules/rmdir-tests (Files): Likewise.
40260         * modules/round-tests (Files): Likewise.
40261         * modules/roundf-tests (Files): Likewise.
40262         * modules/roundl-tests (Files): Likewise.
40263         * modules/safe-alloc-tests (Files): Likewise.
40264         * modules/setenv-tests (Files): Likewise.
40265         * modules/sigaction-tests (Files): Likewise.
40266         * modules/signbit-tests (Files): Likewise.
40267         * modules/sleep-tests (Files): Likewise.
40268         * modules/snprintf-posix-tests (Files): Likewise.
40269         * modules/snprintf-tests (Files): Likewise.
40270         * modules/sprintf-posix-tests (Files): Likewise.
40271         * modules/stat-tests (Files): Likewise.
40272         * modules/stat-time-tests (Files): Likewise.
40273         * modules/strcasestr-tests (Files): Likewise.
40274         * modules/strchrnul-tests (Files): Likewise.
40275         * modules/strerror-tests (Files): Likewise.
40276         * modules/striconv-tests (Files): Likewise.
40277         * modules/striconveh-tests (Files): Likewise.
40278         * modules/striconveha-tests (Files): Likewise.
40279         * modules/strsignal-tests (Files): Likewise.
40280         * modules/strstr-tests (Files): Likewise.
40281         * modules/strtod-tests (Files): Likewise.
40282         * modules/strverscmp-tests (Files): Likewise.
40283         * modules/symlink-tests (Files): Likewise.
40284         * modules/symlinkat-tests (Files): Likewise.
40285         * modules/trunc-tests (Files): Likewise.
40286         * modules/truncf-tests (Files): Likewise.
40287         * modules/truncl-tests (Files): Likewise.
40288         * modules/uname-tests (Files): Likewise.
40289         * modules/unicase/cased-tests (Files): Likewise.
40290         * modules/unicase/ignorable-tests (Files): Likewise.
40291         * modules/unicase/locale-language-tests (Files): Likewise.
40292         * modules/unicase/tolower-tests (Files): Likewise.
40293         * modules/unicase/totitle-tests (Files): Likewise.
40294         * modules/unicase/toupper-tests (Files): Likewise.
40295         * modules/unicase/u8-casecmp-tests (Files): Likewise.
40296         * modules/unicase/u8-casecoll-tests (Files): Likewise.
40297         * modules/unicase/u8-casefold-tests (Files): Likewise.
40298         * modules/unicase/u8-is-cased-tests (Files): Likewise.
40299         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
40300         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
40301         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
40302         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
40303         * modules/unicase/u8-tolower-tests (Files): Likewise.
40304         * modules/unicase/u8-totitle-tests (Files): Likewise.
40305         * modules/unicase/u8-toupper-tests (Files): Likewise.
40306         * modules/unicase/u16-casecmp-tests (Files): Likewise.
40307         * modules/unicase/u16-casecoll-tests (Files): Likewise.
40308         * modules/unicase/u16-casefold-tests (Files): Likewise.
40309         * modules/unicase/u16-is-cased-tests (Files): Likewise.
40310         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
40311         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
40312         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
40313         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
40314         * modules/unicase/u16-tolower-tests (Files): Likewise.
40315         * modules/unicase/u16-totitle-tests (Files): Likewise.
40316         * modules/unicase/u16-toupper-tests (Files): Likewise.
40317         * modules/unicase/u32-casecmp-tests (Files): Likewise.
40318         * modules/unicase/u32-casecoll-tests (Files): Likewise.
40319         * modules/unicase/u32-casefold-tests (Files): Likewise.
40320         * modules/unicase/u32-is-cased-tests (Files): Likewise.
40321         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
40322         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
40323         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
40324         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
40325         * modules/unicase/u32-tolower-tests (Files): Likewise.
40326         * modules/unicase/u32-totitle-tests (Files): Likewise.
40327         * modules/unicase/u32-toupper-tests (Files): Likewise.
40328         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
40329         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
40330         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
40331         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
40332         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
40333         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
40334         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
40335         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
40336         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
40337         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
40338         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
40339         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
40340         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
40341         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
40342         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
40343         * modules/unictype/bidicategory-name-tests (Files): Likewise.
40344         * modules/unictype/bidicategory-of-tests (Files): Likewise.
40345         * modules/unictype/bidicategory-test-tests (Files): Likewise.
40346         * modules/unictype/block-list-tests (Files): Likewise.
40347         * modules/unictype/block-of-tests (Files): Likewise.
40348         * modules/unictype/block-test-tests (Files): Likewise.
40349         * modules/unictype/category-C-tests (Files): Likewise.
40350         * modules/unictype/category-Cc-tests (Files): Likewise.
40351         * modules/unictype/category-Cf-tests (Files): Likewise.
40352         * modules/unictype/category-Cn-tests (Files): Likewise.
40353         * modules/unictype/category-Co-tests (Files): Likewise.
40354         * modules/unictype/category-Cs-tests (Files): Likewise.
40355         * modules/unictype/category-L-tests (Files): Likewise.
40356         * modules/unictype/category-Ll-tests (Files): Likewise.
40357         * modules/unictype/category-Lm-tests (Files): Likewise.
40358         * modules/unictype/category-Lo-tests (Files): Likewise.
40359         * modules/unictype/category-Lt-tests (Files): Likewise.
40360         * modules/unictype/category-Lu-tests (Files): Likewise.
40361         * modules/unictype/category-M-tests (Files): Likewise.
40362         * modules/unictype/category-Mc-tests (Files): Likewise.
40363         * modules/unictype/category-Me-tests (Files): Likewise.
40364         * modules/unictype/category-Mn-tests (Files): Likewise.
40365         * modules/unictype/category-N-tests (Files): Likewise.
40366         * modules/unictype/category-Nd-tests (Files): Likewise.
40367         * modules/unictype/category-Nl-tests (Files): Likewise.
40368         * modules/unictype/category-No-tests (Files): Likewise.
40369         * modules/unictype/category-P-tests (Files): Likewise.
40370         * modules/unictype/category-Pc-tests (Files): Likewise.
40371         * modules/unictype/category-Pd-tests (Files): Likewise.
40372         * modules/unictype/category-Pe-tests (Files): Likewise.
40373         * modules/unictype/category-Pf-tests (Files): Likewise.
40374         * modules/unictype/category-Pi-tests (Files): Likewise.
40375         * modules/unictype/category-Po-tests (Files): Likewise.
40376         * modules/unictype/category-Ps-tests (Files): Likewise.
40377         * modules/unictype/category-S-tests (Files): Likewise.
40378         * modules/unictype/category-Sc-tests (Files): Likewise.
40379         * modules/unictype/category-Sk-tests (Files): Likewise.
40380         * modules/unictype/category-Sm-tests (Files): Likewise.
40381         * modules/unictype/category-So-tests (Files): Likewise.
40382         * modules/unictype/category-Z-tests (Files): Likewise.
40383         * modules/unictype/category-Zl-tests (Files): Likewise.
40384         * modules/unictype/category-Zp-tests (Files): Likewise.
40385         * modules/unictype/category-Zs-tests (Files): Likewise.
40386         * modules/unictype/category-and-not-tests (Files): Likewise.
40387         * modules/unictype/category-and-tests (Files): Likewise.
40388         * modules/unictype/category-byname-tests (Files): Likewise.
40389         * modules/unictype/category-name-tests (Files): Likewise.
40390         * modules/unictype/category-none-tests (Files): Likewise.
40391         * modules/unictype/category-of-tests (Files): Likewise.
40392         * modules/unictype/category-or-tests (Files): Likewise.
40393         * modules/unictype/category-test-withtable-tests (Files): Likewise.
40394         * modules/unictype/combining-class-tests (Files): Likewise.
40395         * modules/unictype/ctype-alnum-tests (Files): Likewise.
40396         * modules/unictype/ctype-alpha-tests (Files): Likewise.
40397         * modules/unictype/ctype-blank-tests (Files): Likewise.
40398         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
40399         * modules/unictype/ctype-digit-tests (Files): Likewise.
40400         * modules/unictype/ctype-graph-tests (Files): Likewise.
40401         * modules/unictype/ctype-lower-tests (Files): Likewise.
40402         * modules/unictype/ctype-print-tests (Files): Likewise.
40403         * modules/unictype/ctype-punct-tests (Files): Likewise.
40404         * modules/unictype/ctype-space-tests (Files): Likewise.
40405         * modules/unictype/ctype-upper-tests (Files): Likewise.
40406         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
40407         * modules/unictype/decimal-digit-tests (Files): Likewise.
40408         * modules/unictype/digit-tests (Files): Likewise.
40409         * modules/unictype/mirror-tests (Files): Likewise.
40410         * modules/unictype/numeric-tests (Files): Likewise.
40411         * modules/unictype/property-alphabetic-tests (Files): Likewise.
40412         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
40413         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
40414         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
40415         Likewise.
40416         * modules/unictype/property-bidi-block-separator-tests (Files):
40417         Likewise.
40418         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
40419         Likewise.
40420         * modules/unictype/property-bidi-common-separator-tests (Files):
40421         Likewise.
40422         * modules/unictype/property-bidi-control-tests (Files): Likewise.
40423         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
40424         Likewise.
40425         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
40426         Likewise.
40427         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
40428         Likewise.
40429         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
40430         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
40431         Likewise.
40432         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
40433         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
40434         Likewise.
40435         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
40436         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
40437         * modules/unictype/property-bidi-segment-separator-tests (Files):
40438         Likewise.
40439         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
40440         * modules/unictype/property-byname-tests (Files): Likewise.
40441         * modules/unictype/property-combining-tests (Files): Likewise.
40442         * modules/unictype/property-composite-tests (Files): Likewise.
40443         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
40444         * modules/unictype/property-dash-tests (Files): Likewise.
40445         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
40446         * modules/unictype/property-default-ignorable-code-point-tests (Files):
40447         Likewise.
40448         * modules/unictype/property-deprecated-tests (Files): Likewise.
40449         * modules/unictype/property-diacritic-tests (Files): Likewise.
40450         * modules/unictype/property-extender-tests (Files): Likewise.
40451         * modules/unictype/property-format-control-tests (Files): Likewise.
40452         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
40453         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
40454         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
40455         * modules/unictype/property-hex-digit-tests (Files): Likewise.
40456         * modules/unictype/property-hyphen-tests (Files): Likewise.
40457         * modules/unictype/property-id-continue-tests (Files): Likewise.
40458         * modules/unictype/property-id-start-tests (Files): Likewise.
40459         * modules/unictype/property-ideographic-tests (Files): Likewise.
40460         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
40461         * modules/unictype/property-ids-trinary-operator-tests (Files):
40462         Likewise.
40463         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
40464         * modules/unictype/property-iso-control-tests (Files): Likewise.
40465         * modules/unictype/property-join-control-tests (Files): Likewise.
40466         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
40467         * modules/unictype/property-line-separator-tests (Files): Likewise.
40468         * modules/unictype/property-logical-order-exception-tests (Files):
40469         Likewise.
40470         * modules/unictype/property-lowercase-tests (Files): Likewise.
40471         * modules/unictype/property-math-tests (Files): Likewise.
40472         * modules/unictype/property-non-break-tests (Files): Likewise.
40473         * modules/unictype/property-not-a-character-tests (Files): Likewise.
40474         * modules/unictype/property-numeric-tests (Files): Likewise.
40475         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
40476         * modules/unictype/property-other-default-ignorable-code-point-tests
40477         (Files): Likewise.
40478         * modules/unictype/property-other-grapheme-extend-tests (Files):
40479         Likewise.
40480         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
40481         * modules/unictype/property-other-id-start-tests (Files): Likewise.
40482         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
40483         * modules/unictype/property-other-math-tests (Files): Likewise.
40484         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
40485         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
40486         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
40487         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
40488         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
40489         * modules/unictype/property-private-use-tests (Files): Likewise.
40490         * modules/unictype/property-punctuation-tests (Files): Likewise.
40491         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
40492         * modules/unictype/property-radical-tests (Files): Likewise.
40493         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
40494         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
40495         * modules/unictype/property-space-tests (Files): Likewise.
40496         * modules/unictype/property-terminal-punctuation-tests (Files):
40497         Likewise.
40498         * modules/unictype/property-test-tests (Files): Likewise.
40499         * modules/unictype/property-titlecase-tests (Files): Likewise.
40500         * modules/unictype/property-unassigned-code-value-tests (Files):
40501         Likewise.
40502         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
40503         * modules/unictype/property-uppercase-tests (Files): Likewise.
40504         * modules/unictype/property-variation-selector-tests (Files): Likewise.
40505         * modules/unictype/property-white-space-tests (Files): Likewise.
40506         * modules/unictype/property-xid-continue-tests (Files): Likewise.
40507         * modules/unictype/property-xid-start-tests (Files): Likewise.
40508         * modules/unictype/property-zero-width-tests (Files): Likewise.
40509         * modules/unictype/scripts-tests (Files): Likewise.
40510         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
40511         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
40512         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
40513         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
40514         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
40515         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
40516         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
40517         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
40518         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
40519         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
40520         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
40521         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
40522         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
40523         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
40524         * modules/uninorm/composition-tests (Files): Likewise.
40525         * modules/uninorm/decomposing-form-tests (Files): Likewise.
40526         * modules/uninorm/decomposition-tests (Files): Likewise.
40527         * modules/uninorm/filter-tests (Files): Likewise.
40528         * modules/uninorm/nfc-tests (Files): Likewise.
40529         * modules/uninorm/nfd-tests (Files): Likewise.
40530         * modules/uninorm/nfkc-tests (Files): Likewise.
40531         * modules/uninorm/nfkd-tests (Files): Likewise.
40532         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
40533         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
40534         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
40535         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
40536         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
40537         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
40538         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
40539         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
40540         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
40541         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
40542         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
40543         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
40544         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
40545         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
40546         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
40547         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
40548         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
40549         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
40550         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
40551         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
40552         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
40553         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
40554         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
40555         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
40556         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
40557         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
40558         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
40559         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
40560         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
40561         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
40562         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
40563         * modules/uniwidth/u8-width-tests (Files): Likewise.
40564         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
40565         * modules/uniwidth/u16-width-tests (Files): Likewise.
40566         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
40567         * modules/uniwidth/u32-width-tests (Files): Likewise.
40568         * modules/uniwidth/width-tests (Files): Likewise.
40569         * modules/unlink-tests (Files): Likewise.
40570         * modules/unsetenv-tests (Files): Likewise.
40571         * modules/usleep-tests (Files): Likewise.
40572         * modules/utimens-tests (Files): Likewise.
40573         * modules/utimensat-tests (Files): Likewise.
40574         * modules/vasnprintf-posix-tests (Files): Likewise.
40575         * modules/vasnprintf-tests (Files): Likewise.
40576         * modules/vasprintf-posix-tests (Files): Likewise.
40577         * modules/vasprintf-tests (Files): Likewise.
40578         * modules/vdprintf-posix-tests (Files): Likewise.
40579         * modules/vfprintf-posix-tests (Files): Likewise.
40580         * modules/vprintf-posix-tests (Files): Likewise.
40581         * modules/vsnprintf-posix-tests (Files): Likewise.
40582         * modules/vsnprintf-tests (Files): Likewise.
40583         * modules/vsprintf-posix-tests (Files): Likewise.
40584         * modules/wcrtomb-tests (Files): Likewise.
40585         * modules/wcsnrtombs-tests (Files): Likewise.
40586         * modules/wcsrtombs-tests (Files): Likewise.
40587         * modules/wctype-tests (Files): Likewise.
40588         * modules/wcwidth-tests (Files): Likewise.
40589         * modules/xmemdup0-tests (Files): Likewise.
40590         * modules/xprintf-posix-tests (Files): Likewise.
40591         * modules/xvasprintf-tests (Files): Likewise.
40592
40593 2009-12-24  Eric Blake  <ebb9@byu.net>
40594
40595         test-nanosleep: fix typo
40596         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
40597         patch.
40598         Reported by Bruno Haible.
40599
40600 2009-12-24  Bruno Haible  <bruno@clisp.org>
40601
40602         Reduce namespace pollution on glibc systems.
40603         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
40604         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
40605         systems.
40606         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
40607         <getopt.h> on glibc systems.
40608         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
40609         systems.
40610         * lib/fcntl.c: Include <unistd.h> here instead.
40611
40612 2009-12-24  Bruno Haible  <bruno@clisp.org>
40613
40614         * lib/stdlib.in.h (includes): Fix typo in today's commit.
40615
40616 2009-12-24  Eric Blake  <ebb9@byu.net>
40617
40618         tests: add signature checks
40619         * tests/signature.h (SIGNATURE_CHECK): New file.
40620         * modules/atexit-tests (Files): Use it.
40621         * modules/btowc-tests (Files): Likewise.
40622         * modules/canonicalize-lgpl-tests (Files): Likewise.
40623         * modules/ceilf-tests (Files): Likewise.
40624         * modules/ceill-tests (Files): Likewise.
40625         * modules/chown-tests (Files): Likewise.
40626         * modules/dprintf-posix-tests (Files): Likewise.
40627         * modules/dup2-tests (Files): Likewise.
40628         * modules/dup3-tests (Files): Likewise.
40629         * modules/duplocale-tests (Files): Likewise.
40630         * modules/fchdir-tests (Files): Likewise.
40631         * modules/fcntl-tests (Files): Likewise.
40632         * modules/fdopendir-tests (Files): Likewise.
40633         * modules/fflush-tests (Files): Likewise.
40634         * modules/flock-tests (Files): Likewise.
40635         * modules/floorf-tests (Files): Likewise.
40636         * modules/floorl-tests (Files): Likewise.
40637         * modules/fnmatch-tests (Files): Likewise.
40638         * modules/fopen-tests (Files): Likewise.
40639         * modules/fprintf-posix-tests (Files): Likewise.
40640         * modules/freopen-tests (Files): Likewise.
40641         * modules/frexp-nolibm-tests (Files): Likewise.
40642         * modules/frexp-tests (Files): Likewise.
40643         * modules/frexpl-nolibm-tests (Files): Likewise.
40644         * modules/frexpl-tests (Files): Likewise.
40645         * modules/fseek-tests (Files): Likewise.
40646         * modules/fseeko-tests (Files): Likewise.
40647         * modules/fsync-tests (Files): Likewise.
40648         * modules/ftell-tests (Files): Likewise.
40649         * modules/ftello-tests (Files): Likewise.
40650         * modules/futimens-tests (Files): Likewise.
40651         * modules/getaddrinfo-tests (Files): Likewise.
40652         * modules/getcwd-tests (Files): Likewise.
40653         * modules/getdelim-tests (Files): Likewise.
40654         * modules/getdtablesize-tests (Files): Likewise.
40655         * modules/getgroups-tests (Files): Likewise.
40656         * modules/gethostname-tests (Files): Likewise.
40657         * modules/getline-tests (Files): Likewise.
40658         * modules/getopt-posix-tests (Files): Likewise.
40659         * modules/gettimeofday-tests (Files): Likewise.
40660         * modules/glob-tests (Files): Likewise.
40661         * modules/iconv-tests (Files): Likewise.
40662         * modules/inet_ntop-tests (Files): Likewise.
40663         * modules/inet_pton-tests (Files): Likewise.
40664         * modules/isblank-tests (Files): Likewise.
40665         * modules/lchown-tests (Files): Likewise.
40666         * modules/ldexpl-tests (Files): Likewise.
40667         * modules/link-tests (Files): Likewise.
40668         * modules/linkat-tests (Files): Likewise.
40669         * modules/lseek-tests (Files): Likewise.
40670         * modules/lstat-tests (Files): Likewise.
40671         * modules/mbrtowc-tests (Files): Likewise.
40672         * modules/mbsinit-tests (Files): Likewise.
40673         * modules/mbsnrtowcs-tests (Files): Likewise.
40674         * modules/mbsrtowcs-tests (Files): Likewise.
40675         * modules/memchr-tests (Files): Likewise.
40676         * modules/memcmp-tests (Files): Likewise.
40677         * modules/memmem-tests (Files): Likewise.
40678         * modules/memrchr-tests (Files): Likewise.
40679         * modules/mkdir-tests (Files): Likewise.
40680         * modules/mkfifo-tests (Files): Likewise.
40681         * modules/mkfifoat-tests (Files): Likewise.
40682         * modules/mknod-tests (Files): Likewise.
40683         * modules/nanosleep-tests (Files): Likewise.
40684         * modules/nl_langinfo-tests (Files): Likewise.
40685         * modules/obstack-printf-tests (Files): Likewise.
40686         * modules/open-tests (Files): Likewise.
40687         * modules/openat-tests (Files): Likewise.
40688         * modules/perror-tests (Files): Likewise.
40689         * modules/pipe2-tests (Files): Likewise.
40690         * modules/poll-tests (Files): Likewise.
40691         * modules/popen-tests (Files): Likewise.
40692         * modules/posix_spawn-tests (Files): Likewise.
40693         * modules/posix_spawnp-tests (Files): Likewise.
40694         * modules/pread-tests (Files): Likewise.
40695         * modules/printf-posix-tests (Files): Likewise.
40696         * modules/pty-tests (Files): Likewise.
40697         * modules/random_r-tests (Files): Likewise.
40698         * modules/rawmemchr-tests (Files): Likewise.
40699         * modules/readlink-tests (Files): Likewise.
40700         * modules/remove-tests (Files): Likewise.
40701         * modules/rename-tests (Files): Likewise.
40702         * modules/renameat-tests (Files): Likewise.
40703         * modules/rmdir-tests (Files): Likewise.
40704         * modules/round-tests (Files): Likewise.
40705         * modules/roundf-tests (Files): Likewise.
40706         * modules/roundl-tests (Files): Likewise.
40707         * modules/select-tests (Files): Likewise.
40708         * modules/setenv-tests (Files): Likewise.
40709         * modules/sigaction-tests (Files): Likewise.
40710         * modules/sleep-tests (Files): Likewise.
40711         * modules/snprintf-posix-tests (Files): Likewise.
40712         * modules/snprintf-tests (Files): Likewise.
40713         * modules/sprintf-posix-tests (Files): Likewise.
40714         * modules/stat-tests (Files): Likewise.
40715         * modules/strcasestr-tests (Files): Likewise.
40716         * modules/strchrnul-tests (Files): Likewise.
40717         * modules/strerror-tests (Files): Likewise.
40718         * modules/strsignal-tests (Files): Likewise.
40719         * modules/strstr-tests (Files): Likewise.
40720         * modules/strtod-tests (Files): Likewise.
40721         * modules/strverscmp-tests (Files): Likewise.
40722         * modules/symlink-tests (Files): Likewise.
40723         * modules/symlinkat-tests (Files): Likewise.
40724         * modules/times-tests (Files): Likewise.
40725         * modules/trunc-tests (Files): Likewise.
40726         * modules/truncf-tests (Files): Likewise.
40727         * modules/truncl-tests (Files): Likewise.
40728         * modules/tsearch-tests (Files): Likewise.
40729         * modules/uname-tests (Files): Likewise.
40730         * modules/unlink-tests (Files): Likewise.
40731         * modules/unsetenv-tests (Files): Likewise.
40732         * modules/usleep-tests (Files): Likewise.
40733         * modules/utimensat-tests (Files): Likewise.
40734         * modules/vasprintf-tests (Files): Likewise.
40735         * modules/vdprintf-posix-tests (Files): Likewise.
40736         * modules/vfprintf-posix-tests (Files): Likewise.
40737         * modules/vprintf-posix-tests (Files): Likewise.
40738         * modules/vsnprintf-posix-tests (Files): Likewise.
40739         * modules/vsnprintf-tests (Files): Likewise.
40740         * modules/vsprintf-posix-tests (Files): Likewise.
40741         * modules/wcrtomb-tests (Files): Likewise.
40742         * modules/wcsnrtombs-tests (Files): Likewise.
40743         * modules/wcsrtombs-tests (Files): Likewise.
40744         * modules/wcwidth-tests (Files): Likewise.
40745         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
40746         * tests/test-isinf.c (isinf): Likewise.
40747         * tests/test-isnan.c (isnan): Likewise.
40748         * tests/test-signbit.c (signbit): Likewise.
40749         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
40750         declaration, either as macro or with correct signature.
40751         (select): Ensure function under test is declared with correct
40752         signature in correct header.
40753         * tests/test-atexit.c (atexit): Likewise.
40754         * tests/test-btowc.c (btowc): Likewise.
40755         * tests/test-canonicalize-lgpl.c (realpath)
40756         (canonicalize_file_name): Likewise.
40757         * tests/test-ceilf1.c (ceilf): Likewise.
40758         * tests/test-ceill.c (ceill): Likewise.
40759         * tests/test-chown.c (chown): Likewise.
40760         * tests/test-dprintf-posix.c (dprintf): Likewise.
40761         * tests/test-dup2.c (dup2): Likewise.
40762         * tests/test-dup3.c (dup3): Likewise.
40763         * tests/test-duplocale.c (duplocale): Likewise.
40764         * tests/test-fchdir.c (fchdir): Likewise.
40765         * tests/test-fchownat.c (fchownat): Likewise.
40766         * tests/test-fcntl.c (fcntl): Likewise.
40767         * tests/test-fdopendir.c (fdopendir): Likewise.
40768         * tests/test-fflush.c (fflush): Likewise.
40769         * tests/test-flock.c (flock): Likewise.
40770         * tests/test-floorf1.c (floorf): Likewise.
40771         * tests/test-floorl.c (floorl): Likewise.
40772         * tests/test-fnmatch.c (fnmatch): Likewise.
40773         * tests/test-fopen.c (fopen): Likewise.
40774         * tests/test-fprintf-posix.c (fprintf): Likewise.
40775         * tests/test-freopen.c (freopen): Likewise.
40776         * tests/test-frexp.c (frexp): Likewise.
40777         * tests/test-frexpl.c (frexpl): Likewise.
40778         * tests/test-fseek.c (fseek): Likewise.
40779         * tests/test-fseeko.c (fseeko): Likewise.
40780         * tests/test-fstatat.c (fstatat): Likewise.
40781         * tests/test-fsync.c (fsync): Likewise.
40782         * tests/test-ftell.c (ftell): Likewise.
40783         * tests/test-ftello.c (ftello): Likewise.
40784         * tests/test-futimens.c (futimens): Likewise.
40785         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
40786         (gai_strerror): Likewise.
40787         * tests/test-getcwd.c (getcwd): Likewise.
40788         * tests/test-getdelim.c (getdelim): Likewise.
40789         * tests/test-getdtablesize.c (getdtablesize): Likewise.
40790         * tests/test-getgroups.c (getgroups): Likewise.
40791         * tests/test-gethostname.c (gethostname): Likewise.
40792         * tests/test-getline.c (getline): Likewise.
40793         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
40794         Likewise.
40795         * tests/test-gettimeofday.c (gettimeofday): Likewise.
40796         * tests/test-glob.c (glob, globfree): Likewise.
40797         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
40798         * tests/test-inet_ntop.c (inet_ntop): Likewise.
40799         * tests/test-inet_pton.c (inet_pton): Likewise.
40800         * tests/test-isblank.c (isblank): Likewise.
40801         * tests/test-lchown.c (lchown): Likewise.
40802         * tests/test-ldexpl.c (ldexpl): Likewise.
40803         * tests/test-link.c (link): Likewise.
40804         * tests/test-linkat.c (linkat): Likewise.
40805         * tests/test-lseek.c (lseek): Likewise.
40806         * tests/test-lstat.c (lstat): Likewise.
40807         * tests/test-mbrtowc.c (mbrtowc): Likewise.
40808         * tests/test-mbsinit.c (mbsinit): Likewise.
40809         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
40810         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
40811         * tests/test-memchr.c (memchr): Likewise.
40812         * tests/test-memcmp.c (memcmp): Likewise.
40813         * tests/test-memmem.c (memmem): Likewise.
40814         * tests/test-memrchr.c (memrchr): Likewise.
40815         * tests/test-mkdir.c (mkdir): Likewise.
40816         * tests/test-mkdirat.c (mkdirat): Likewise.
40817         * tests/test-mkfifo.c (mkfifo): Likewise.
40818         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
40819         * tests/test-mknod.c (mknod): Likewise.
40820         * tests/test-nanosleep.c (nanosleep): Likewise.
40821         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
40822         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
40823         Likewise.
40824         * tests/test-open.c (open): Likewise.
40825         * tests/test-openat.c (openat): Likewise.
40826         * tests/test-perror.c (perror): Likewise.
40827         * tests/test-pipe2.c (pipe2): Likewise.
40828         * tests/test-poll.c (poll): Likewise.
40829         * tests/test-popen.c (popen, pclose): Likewise.
40830         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
40831         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
40832         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
40833         (posix_spawn_file_actions_destroy)
40834         (posix_spawn_file_actions_addclose)
40835         (posix_spawn_file_actions_addopen)
40836         (posix_spawn_file_actions_adddup2): Likewise.
40837         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
40838         * tests/test-pread.c (pread): Likewise.
40839         * tests/test-printf-posix.c (printf): Likewise.
40840         * tests/test-pty.c (openpty, forkpty): Likewise.
40841         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
40842         (random_r): Likewise.
40843         * tests/test-rawmemchr.c (rawmemchr): Likewise.
40844         * tests/test-readlink.c (readlink): Likewise.
40845         * tests/test-remove.c (remove): Likewise.
40846         * tests/test-rename.c (rename): Likewise.
40847         * tests/test-renameat.c (renameat): Likewise.
40848         * tests/test-rmdir.c (rmdir): Likewise.
40849         * tests/test-round1.c (round): Likewise.
40850         * tests/test-roundf1.c (roundf): Likewise.
40851         * tests/test-roundl.c (roundl): Likewise.
40852         * tests/test-setenv.c (setenv): Likewise.
40853         * tests/test-sigaction.c (sigaction): Likewise.
40854         * tests/test-sleep.c (sleep): Likewise.
40855         * tests/test-snprintf.c (snprintf): Likewise.
40856         * tests/test-sprintf-posix.c (sprintf): Likewise.
40857         * tests/test-stat.c (stat): Likewise.
40858         * tests/test-stpncpy.c (stpncpy): Likewise.
40859         * tests/test-strcasestr.c (strcasestr): Likewise.
40860         * tests/test-strchrnul.c (strchrnul): Likewise.
40861         * tests/test-strerror.c (strerror): Likewise.
40862         * tests/test-strsignal.c (strsignal): Likewise.
40863         * tests/test-strstr.c (strstr): Likewise.
40864         * tests/test-strtod.c (strtod): Likewise.
40865         * tests/test-strverscmp.c (strverscmp): Likewise.
40866         * tests/test-symlink.c (symlink): Likewise.
40867         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
40868         * tests/test-times.c (times): Likewise.
40869         * tests/test-trunc1.c (trunc): Likewise.
40870         * tests/test-truncf1.c (truncf): Likewise.
40871         * tests/test-truncl.c (truncl): Likewise.
40872         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
40873         Likewise.
40874         * tests/test-uname.c (uname): Likewise.
40875         * tests/test-unlink.c (unlink): Likewise.
40876         * tests/test-unlinkat.c (unlinkat): Likewise.
40877         * tests/test-unsetenv.c (unsetenv): Likewise.
40878         * tests/test-usleep.c (usleep): Likewise.
40879         * tests/test-utimensat.c (utimensat): Likewise.
40880         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
40881         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
40882         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
40883         * tests/test-vprintf-posix.c (vprintf): Likewise.
40884         * tests/test-vsnprintf.c (vsnprintf): Likewise.
40885         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
40886         * tests/test-wcrtomb.c (wcrtomb): Likewise.
40887         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
40888         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
40889         * tests/test-wcwidth.c (wcwidth): Likewise.
40890
40891         build: pull in conditional headers during GNULIB_POSIXCHECK
40892         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
40893         definitions from any conditionally-included headers.
40894         * lib/stdlib.in.h (includes): Likewise.
40895         * lib/unistd.in.h (includes): Likewise.
40896
40897 2009-12-24  Bruno Haible  <bruno@clisp.org>
40898
40899         * tests/test-argv-iter.c: Include header file being tested immediately
40900         after config.h.
40901         * tests/test-base64.c: Likewise.
40902         * tests/test-flock.c: Likewise.
40903         * tests/test-fsync.c: Likewise.
40904         * tests/test-getdate.c: Likewise.
40905         * tests/test-getndelim2.c: Likewise.
40906         * tests/test-isfinite.c: Likewise.
40907         * tests/test-isinf.c: Likewise.
40908         * tests/test-strerror.c: Likewise.
40909         * tests/test-strsignal.c: Likewise.
40910
40911 2009-12-23  Eric Blake  <ebb9@byu.net>
40912
40913         unistd: work around cygwin bug
40914         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
40915         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
40916         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40917
40918 2009-12-23  Bruno Haible  <bruno@clisp.org>
40919
40920         localename: More tests.
40921         * tests/test-localename.c (SIZEOF): New macro.
40922         (categories): New variable.
40923         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
40924         test_locale_name_default): Add test w.r.t. thread locale.
40925         (test_locale_name_thread): New function.
40926         (main): Invoke it.
40927
40928         localename: Make aware of thread locale.
40929         * lib/localename.h (gl_locale_name_thread): New declaration.
40930         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
40931         behaviour with respect to thread locale.
40932         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
40933         <langinfo.h>, glthread/lock.h.
40934         (SIZE_BITS): New macro.
40935         (string_hash): New function.
40936         (struct hash_node): New type.
40937         (HASH_TABLE_SIZE): New macro.
40938         (struniq_hash_table, struniq_lock): New variables.
40939         (struniq): New function.
40940         (gl_locale_name_thread): New function.
40941         (gl_locale_name): Invoke it.
40942         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
40943         * modules/localename (Depends-on): Add lock.
40944         Reported by Mike Gran <spk121@yahoo.com>.
40945
40946 2009-12-23  Eric Blake  <ebb9@byu.net>
40947
40948         va-args: new module
40949         * modules/va-args: New file.
40950         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
40951         * MODULES.html.sh (Core language properties): Mention it.
40952
40953         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
40954         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
40955         named alias for __attribute__((__unused__)).
40956         * lib/chown.c: Update client.
40957         * lib/fchmodat.c: Likewise.
40958         * lib/fts.c: Likewise.
40959         * lib/getdate.y: Likewise.
40960         * lib/getgroups.c: Likewise.
40961         * lib/getopt.c: Likewise.
40962         * lib/getugroups.c: Likewise.
40963         * lib/mkdir.c: Likewise.
40964         * lib/mkfifo.c: Likewise.
40965         * lib/mkfifoat.c: Likewise.
40966         * lib/mknod.c: Likewise.
40967         * lib/mknodat.c: Likewise.
40968         * lib/readlink.c: Likewise.
40969         * lib/se-context.in.h: Likewise.
40970         * lib/se-selinux.in.h: Likewise.
40971         * lib/sockets.c: Likewise.
40972         * lib/symlink.c: Likewise.
40973         * lib/symlinkat.c: Likewise.
40974         * lib/unicodeio.c: Likewise.
40975         * lib/unistr.h: Likewise.
40976         * tests/test-areadlink.c: Likewise.
40977         * tests/test-areadlinkat.c: Likewise.
40978         * tests/test-filenamecat.c: Likewise.
40979         * tests/test-fseeko.c: Likewise.
40980         * tests/test-ftello.c: Likewise.
40981         * tests/test-getdate.c: Likewise.
40982         * tests/test-getgroups.c: Likewise.
40983         * tests/test-gethostname.c: Likewise.
40984         * tests/test-quotearg.c: Likewise.
40985         * tests/test-version-etc.c: Likewise.
40986         * tests/test-xalloc-die.c: Likewise.
40987         * tests/test-xfprintf-posix.c: Likewise.
40988         * tests/test-xprintf-posix.c: Likewise.
40989         * tests/test-xvasprintf.c: Likewise.
40990
40991         tests: avoid compiler warnings
40992         * tests/test-fcntl.c (main): Delete unused parameters.
40993         * tests/test-freopen-safer.c (main): Likewise.
40994         * tests/test-xalloc-die.c (main): Mark unused parameters.
40995         * tests/test-fseeko.c (main): Likewise.
40996         * tests/test-ftello.c (main): Likewise.
40997         * tests/test-nanosleep.c (main): Avoid declaration warning.
40998         * tests/test-sleep.c (main): Likewise.
40999         * tests/test-unsetenv.c (main): Silence warning about string
41000         literal.
41001         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
41002
41003 2009-12-23  Bruno Haible  <bruno@clisp.org>
41004
41005         * tests/test-localename.c (test_locale_name): New function, extracted
41006         from main. Also test mixed situations.
41007         (test_locale_name_posix, test_locale_name_environ,
41008         test_locale_name_default): New functions.
41009         (main): Invoke them all.
41010         * modules/localename-tests (configure.ac): Test for newlocale.
41011
41012 2009-12-23  Bruno Haible  <bruno@clisp.org>
41013
41014         unistd: Ensure getcwd gets declared before being overridden.
41015         * lib/unistd.in.h: Conditionally include <io.h>.
41016
41017 2009-12-22  Bruno Haible  <bruno@clisp.org>
41018
41019         wchar: Diagnose broken combination of glibc and gcc versions and flags.
41020         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
41021         (gl_WCHAR_H): Invoke it.
41022         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
41023         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
41024         Reported by Karl Berry <karl@freefriends.org>.
41025
41026 2009-12-22  Eric Blake  <ebb9@byu.net>
41027
41028         math, unistd: avoid redundant includes
41029         * lib/math.in.h (isnan): No need to re-include <math.h>.
41030         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
41031
41032         getsubopt: work around cygwin bug
41033         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
41034         avoid conflicting with system getsubopt.
41035         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
41036         bug.
41037
41038         getopt: synchronize from glibc
41039         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
41040         parameter order.  Adjust all callers.
41041         (_getopt_internal_r, main): Adjust quoting in error messages.
41042         Drop considerations for outdated POSIX 1003.2 error message.
41043         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
41044         callers.
41045         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
41046
41047         test-getopt: test stderr behavior
41048         * modules/getopt-posix-tests (Depends-on): Add dup2.
41049         * tests/test-getopt.c (ASSERT): Avoid stderr.
41050         (main): Move stderr to a temporary file.
41051         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
41052         Instead, add parameter to inform caller if output occurred.
41053         (test_getopt): Adjust all existing tests to expect silence, and
41054         add new tests of leading ":".
41055         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41056         glibc shortcomings with leading "-:" or "+:" in optstring.
41057         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41058         Likewise.
41059         * doc/posix-functions/getopt.texi (getopt): Likewise.
41060
41061         test-getopt: enhance test
41062         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
41063         supports optind=0.
41064         * tests/test-getopt.c (OPTIND_MIN): Move...
41065         * tests/test-getopt.h (OPTIND_MIN): ...here.
41066         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
41067         Require that optind=0 works, since modern BSD supports it in
41068         addition to optreset, and since coreutils expects it.
41069         (test_getopt_long_only): New test.
41070         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41071         glibc shortcomings with 'W;', and enforcement of optind=0.
41072         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41073         Likewise.
41074
41075 2009-12-21  Bruno Haible  <bruno@clisp.org>
41076
41077         localename: Improvements for MacOS X and Cygwin.
41078         * lib/localename.h (gl_locale_name_environ): New declaration.
41079         * lib/localename.c (gl_locale_name_environ): New function, extracted from
41080         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
41081         (gl_locale_name_posix): Invoke it.
41082         (gl_locale_name_default): Add comments. Use Windows native API also on
41083         Cygwin.
41084
41085 2009-12-21  Bruno Haible  <bruno@clisp.org>
41086
41087         Update list of Win32 locale ids.
41088         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
41089         (LANG_SAMI): Renamed from LANG_SAAMI.
41090         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
41091         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
41092         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
41093         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
41094         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
41095         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
41096         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
41097         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
41098         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
41099         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
41100         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
41101         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
41102         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
41103         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
41104         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
41105         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
41106         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
41107         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
41108         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
41109         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
41110         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
41111         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
41112         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
41113         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
41114         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
41115         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
41116         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
41117         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
41118         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
41119         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
41120         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
41121         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
41122         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
41123         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
41124         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
41125         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
41126         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
41127         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
41128         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
41129         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
41130         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
41131         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
41132         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
41133         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
41134         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
41135         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
41136         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
41137         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
41138         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
41139         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
41140         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
41141         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
41142         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
41143         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
41144         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
41145         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
41146         Add more languages and countries for Sami, Sorbian. Add more countries
41147         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
41148         for Pashto. Change country for Syriac, Tswana.
41149
41150 2009-12-21  Eric Blake  <ebb9@byu.net>
41151
41152         test-utimens: avoid spurious failure
41153         * tests/test-chown.h (nap): Factor...
41154         * tests/nap.h: ...into new file.
41155         * tests/test-lchown.h (nap): Avoid duplication.
41156         * tests/test-utimens-common.h (nap): Use shared implementation,
41157         necessary on file systems with 1-second resolution.
41158         * modules/chown-tests (Files): Include new file.
41159         * modules/fdutimensat-tests (Files): Likewise.
41160         * modules/futimens-tests (Files): Likewise.
41161         * modules/lchown-tests (Files): Likewise.
41162         * modules/openat-tests (Files): Likewise.
41163         * modules/utimens-tests (Files): Likewise.
41164         * modules/utimensat-tests (Files): Likewise.
41165
41166 2009-12-19  Eric Blake  <ebb9@byu.net>
41167
41168         futimens, utimensat: work around Linux bug
41169         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
41170         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41171         * lib/utimensat.c (rpl_utimensat): Work around it.
41172         * lib/futimens.c (rpl_futimens): Adjust comment.
41173
41174         utimens: work around Linux ctime bug
41175         * lib/utimens.c (detect_ctime_bug): New helper function.
41176         (update_timespec): Differentiate between workaround needed for
41177         this bug vs. what is needed for systems that lack utimensat.
41178         (fdutimens, lutimens): Work around bug.
41179
41180         utimens: check for ctime update
41181         * tests/test-utimens-common.h (check_ctime): Define.
41182         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
41183         * tests/test-futimens.h (test_futimens): Likewise.
41184         * tests/test-lutimens.h (test_lutimens): Likewise.
41185         * doc/posix-functions/futimens.texi (futimens): Document the bug.
41186         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41187
41188 2009-12-19  Bruno Haible  <bruno@clisp.org>
41189
41190         dprintf-posix: Check against memory leak fixed on 2009-12-15.
41191         * tests/test-dprintf-posix2.sh: New file.
41192         * tests/test-dprintf-posix2.c: New file.
41193         * modules/dprintf-posix-tests (Files): Add them.
41194         (configure.ac): Check for getrlimit and setrlimit.
41195         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41196
41197 2009-12-19  Bruno Haible  <bruno@clisp.org>
41198
41199         fprintf-posix: Check against memory leak fixed on 2009-12-15.
41200         * tests/test-fprintf-posix3.sh: New file.
41201         * tests/test-fprintf-posix3.c: New file.
41202         * modules/fprintf-posix-tests (Files): Add them.
41203         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41204
41205 2009-12-19  Eric Blake  <ebb9@byu.net>
41206
41207         dirfd: fix prototype
41208         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
41209         * lib/dirfd.c (dirfd): Likewise.
41210
41211         canonicalize: reduce memory usage
41212         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
41213         allocation to size.
41214         Reported by Solar Designer <solar@openwall.com>.
41215
41216 2009-12-19  Bruno Haible  <bruno@clisp.org>
41217
41218         New module attribute 'Applicability'.
41219         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
41220         * gnulib-tool: New option --extract-applicability.
41221         (func_usage): Document it.
41222         (sed_extract_prog): Recognize it.
41223         (func_get_applicability): New function.
41224         (func_import): Generalize handling of 'link-warning' module.
41225         * modules/link-warning (Applicability): New section.
41226         * modules/arg-nonnull (Applicability): New section.
41227         Repoted by Simon Josefsson <simon@josefsson.org>.
41228
41229 2009-12-19  Bruno Haible  <bruno@clisp.org>
41230
41231         fflush: tweak
41232         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
41233         * lib/fseeko.c (rpl_fseeko): Likewise.
41234
41235 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
41236
41237         * lib/gl_list.h: Fix typo in comment.
41238
41239 2009-12-16  Eric Blake  <ebb9@byu.net>
41240
41241         fcntl: use to simplify other modules
41242         * modules/cloexec (Depends-on): Add fcntl.
41243         * modules/fchdir (Depends-on): Likewise.
41244         * modules/fd-safer-flag (Depends-on): Likewise.
41245         * modules/unistd-safer (Depends-on): Likewise.
41246         * modules/dup3 (configure.ac): Set module indicator.
41247         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
41248         missing.
41249         * lib/fchdir.c (_gl_register_dup): Fix comment.
41250         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
41251         * lib/dup-safer.c (dup_safer): Likewise.
41252         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
41253         * lib/dup3.c (dup3): Likewise.
41254         * tests/test-fchdir.c (main): Enhance test.
41255         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
41256
41257         fcntl: port portions of fcntl to mingw
41258         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
41259         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
41260         replacement for mingw.
41261         * modules/fcntl (Description): Update.
41262         (Depends-on): Add dup2.
41263         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
41264         * modules/fcntl-h (Makefile.am): Substitute it.
41265         * lib/fcntl.in.h (fcntl): Update declaration.
41266         (F_DUPFD, F_GETFD): New macros, when needed.
41267         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41268         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
41269         * tests/test-fcntl.c (check_flags, main): Enhance test for items
41270         we now guarantee.
41271
41272         fcntl: work around cygwin bug in F_DUPFD
41273         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
41274         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
41275         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
41276         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
41277         * doc/posix-functions/fcntl.texi (fcntl): Document it.
41278
41279         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
41280         * modules/fcntl (Files): List new files.
41281         (configure.ac): Run a test.
41282         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
41283         * lib/fcntl.c (rpl_fcntl): Likewise.
41284         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
41285         (gl_FCNTL_H): Always replace fcntl.h.
41286         * modules/fcntl-h (Makefile.am): Substitute witnesses.
41287         * lib/fcntl.in.h (fcntl): Declare replacement.
41288         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
41289         needed, plus a witness.
41290         * doc/posix-functions/fcntl.texi (fcntl): Document this.
41291         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41292         * tests/test-fcntl.c: New file.
41293         * modules/fcntl-tests: Likewise.
41294
41295         binary-io: avoid potential compilation warning
41296         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
41297         directives.
41298
41299         fflush: avoid compilation error on NetBSD
41300         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
41301         between off_t and fpos_t, since the latter is sometimes a struct.
41302         * lib/fseeko.c (rpl_fseeko): Likewise.
41303         Reported by Alexander Nasonov <alnsn@yandex.ru>.
41304
41305 2009-12-15  Eric Blake  <ebb9@byu.net>
41306
41307         fcntl-h, stdio, sys_ioctl: fix declarations
41308         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
41309         function must not take arguments.
41310         * lib/sys_ioctl.in.h (ioctl): Likewise.
41311         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
41312         (open): Add a link warning.
41313
41314 2009-12-15  Jim Meyering  <meyering@redhat.com>
41315
41316         areadlink, areadlink-with-size: relax license to LGPLv2+
41317         * modules/areadlink (License): Relax to LGPLv2+.
41318         * modules/areadlink-with-size (License): Likewise.
41319
41320 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
41321             Bruno Haible  <bruno@clisp.org>
41322
41323         *printf: Fix memory leak.
41324         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
41325         * lib/vfprintf.c (vfprintf): Likewise.
41326         * lib/dprintf.c (dprintf): Likewise.
41327         * lib/vdprintf.c (vdprintf): Likewise.
41328
41329 2009-12-14  Eric Blake  <ebb9@byu.net>
41330
41331         accept4: adjust module dependencies
41332         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
41333
41334         utimens: one more try at avoiding compiler warning
41335         * lib/utimens.c (lutimens): Lower scope of result.
41336
41337 2009-12-13  Bruno Haible  <bruno@clisp.org>
41338
41339         Move the malloc checking from module 'list' to new module 'xlist'.
41340         * modules/xlist: New file.
41341         * lib/gl_xlist.h: New file.
41342         * lib/gl_xlist.c: New file.
41343         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
41344         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
41345         gl_list_add_last, gl_list_add_before, gl_list_add_after,
41346         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
41347         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
41348         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
41349         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
41350         gl_sortedlist_nx_add): New declarations.
41351         (struct gl_list_implementation): Rename and change methods accordingly.
41352         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
41353         (gl_list_nx_create): Renamed from gl_list_create.
41354         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41355         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41356         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41357         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41358         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41359         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41360         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41361         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41362         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
41363         gl_list_create_empty.
41364         (gl_list_nx_create): Renamed from gl_list_create.
41365         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41366         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41367         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41368         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41369         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41370         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41371         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41372         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41373         * lib/gl_array_list.c: Don't include xalloc.h.
41374         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
41375         NULL upon out-of-memory.
41376         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
41377         out-of-memory.
41378         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
41379         Change return type to 'int'.
41380         (gl_array_nx_set_at): Renamed from gl_array_set_at.
41381         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41382         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
41383         upon out-of-memory.
41384         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
41385         upon out-of-memory.
41386         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
41387         upon out-of-memory.
41388         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
41389         upon out-of-memory.
41390         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
41391         out-of-memory.
41392         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
41393         Update.
41394         (gl_array_list_implementation): Update.
41395         * lib/gl_carray_list.c: Don't include xalloc.h.
41396         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
41397         Return NULL upon out-of-memory.
41398         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
41399         out-of-memory.
41400         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
41401         Change return type to 'int'.
41402         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
41403         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41404         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
41405         upon out-of-memory.
41406         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
41407         upon out-of-memory.
41408         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
41409         out-of-memory.
41410         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
41411         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
41412         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
41413         Update.
41414         (gl_carray_list_implementation): Update.
41415         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
41416         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
41417         gl_linked_create_empty. Return NULL upon out-of-memory.
41418         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
41419         out-of-memory.
41420         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
41421         Change return type to 'int'. Return -1 upon out-of-memory.
41422         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
41423         out-of-memory.
41424         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
41425         upon out-of-memory.
41426         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
41427         upon out-of-memory.
41428         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
41429         NULL upon out-of-memory.
41430         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
41431         upon out-of-memory.
41432         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
41433         out-of-memory.
41434         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
41435         Update.
41436         * lib/gl_linked_list.c: Don't include xalloc.h.
41437         (gl_linked_list_implementation): Update.
41438         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
41439         (add_to_bucket): Change return type to 'int'.
41440         (gl_linkedhash_list_implementation): Update.
41441         * lib/gl_anytree_list1.h (free_subtree): New function.
41442         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
41443         gl_tree_create_empty. Return NULL upon out-of-memory.
41444         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
41445         Change return type to 'int'. Return -1 upon out-of-memory.
41446         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
41447         out-of-memory.
41448         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
41449         (gl_tree_remove_node): New function, moved here from
41450         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
41451         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
41452         Update.
41453         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
41454         malloc, not xmalloc. Return NULL upon out-of-memory.
41455         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41456         out-of-memory.
41457         (gl_tree_remove_node_from_tree): New function, extracted from
41458         gl_tree_remove_node.
41459         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41460         upon out-of-memory.
41461         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41462         out-of-memory.
41463         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41464         upon out-of-memory.
41465         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41466         upon out-of-memory.
41467         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41468         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
41469         not xmalloc. Return NULL upon out-of-memory.
41470         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41471         out-of-memory.
41472         (gl_tree_remove_node_from_tree): New function, extracted from
41473         gl_tree_remove_node.
41474         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41475         upon out-of-memory.
41476         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41477         out-of-memory.
41478         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41479         upon out-of-memory.
41480         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41481         upon out-of-memory.
41482         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41483         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
41484         gl_anytree_list1.h before gl_anyavltree_list2.h.
41485         (gl_avltree_list_implementation): Update.
41486         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
41487         gl_anytree_list1.h before gl_anyavltree_list2.h.
41488         (gl_rbtree_list_implementation): Update.
41489         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
41490         Change return type to 'int'. Return -1 upon out-of-memory. Use
41491         __builtin_expect.
41492         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
41493         (gl_avltreehash_list_implementation): Update.
41494         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
41495         (gl_rbtreehash_list_implementation): Update.
41496         * modules/array-list (Depends-on): Remove xalloc.
41497         * modules/carray-list (Depends-on): Likewise.
41498         * modules/linked-list (Depends-on): Likewise.
41499         * modules/linkedhash-list (Depends-on): Likewise.
41500         * modules/avltree-list (Depends-on): Likewise.
41501         * modules/rbtree-list (Depends-on): Likewise.
41502         * modules/avltreehash-list (Depends-on): Likewise.
41503         * modules/rbtreehash-list (Depends-on): Likewise.
41504
41505         * modules/xsublist: New file.
41506         * lib/gl_xsublist.h: New file.
41507         * lib/gl_xsublist.c: New file.
41508         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
41509         (gl_sublist_nx_create): New declaration.
41510         * lib/gl_sublist.c: Don't include xalloc.h.
41511         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
41512         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
41513         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
41514         Change return type to 'int'. Return -1 upon out-of-memory.
41515         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
41516         upon out-of-memory.
41517         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
41518         NULL upon out-of-memory.
41519         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
41520         upon out-of-memory.
41521         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
41522         NULL upon out-of-memory.
41523         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
41524         NULL upon out-of-memory.
41525         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
41526         upon out-of-memory.
41527         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
41528         (gl_sublist_list_implementation): Update.
41529         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
41530         upon out-of-memory.
41531         * modules/sublist (Depends-on): Remove xalloc.
41532
41533         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
41534         * tests/test-carray_list.c: Likewise.
41535         * tests/test-linked_list.c: Likewise.
41536         * tests/test-linkedhash_list.c: Likewise.
41537         * tests/test-avltree_list.c: Likewise.
41538         * tests/test-rbtree_list.c: Likewise.
41539         * tests/test-avltreehash_list.c: Likewise.
41540         * tests/test-rbtreehash_list.c: Likewise.
41541         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
41542         * modules/carray-list-tests (Makefile.am): Likewise.
41543         * modules/linked-list-tests (Makefile.am): Likewise.
41544         * modules/linkedhash-list-tests (Makefile.am): Likewise.
41545         * modules/avltree-list-tests (Makefile.am): Likewise.
41546         * modules/rbtree-list-tests (Makefile.am): Likewise.
41547         * modules/avltreehash-list-tests (Makefile.am): Likewise.
41548         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
41549
41550         * NEWS: Mention the changes.
41551
41552         * lib/clean-temp.c: Include gl_xlist.h.
41553         * modules/clean-temp (Depends-on): Add xlist.
41554
41555         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
41556         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
41557
41558         * tests/test-array_oset.c: Include gl_xlist.h.
41559         * modules/array-oset-tests (Depends-on): Add xlist.
41560
41561         Reported by José E. Marchesi <jemarch@gnu.org>.
41562
41563 2009-12-13  Bruno Haible  <bruno@clisp.org>
41564
41565         Move the malloc checking from module 'oset' to new module 'xoset'.
41566         * modules/xoset: New file.
41567         * lib/gl_xoset.h: New file.
41568         * lib/gl_xoset.c: New file.
41569         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
41570         declarations.
41571         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
41572         (struct gl_oset_implementation): Rename and change methods accordingly.
41573         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
41574         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41575         'int'. Mark as __warn_unused_result__.
41576         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
41577         gl_oset_create_empty.
41578         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41579         'int'.
41580         * lib/gl_array_oset.c: Don't include xalloc.h.
41581         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
41582         malloc, not xmalloc.
41583         (grow): Change return type to 'int'. Don't call xalloc_die.
41584         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
41585         to 'int'.
41586         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
41587         'int'.
41588         (gl_array_oset_implementation): Update.
41589         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
41590         gl_tree_create_empty.
41591         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
41592         'int'.
41593         * lib/gl_avltree_oset.c: Don't include xalloc.h.
41594         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41595         xmalloc.
41596         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41597         not xmalloc.
41598         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41599         xmalloc.
41600         (gl_avltree_oset_implementation): Update.
41601         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
41602         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41603         xmalloc.
41604         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41605         not xmalloc.
41606         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41607         xmalloc.
41608         (gl_rbtree_oset_implementation): Update.
41609         * modules/array-oset (Depends-on): Remove xalloc.
41610         * modules/avltree-oset (Depends-on): Likewise.
41611         * modules/rbtree-oset (Depends-on): Likewise.
41612         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
41613         * tests/test-avltree_oset.c: Likewise.
41614         * tests/test-rbtree_oset.c: Likewise.
41615         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
41616         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
41617         * modules/rbtree-oset-tests (Makefile.am): Likewise.
41618         * NEWS: Mention the change.
41619
41620 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
41621
41622         maint.mk: allow a project to override release-prep commands
41623         * top/maint.mk (alpha, beta, stable): Move release-preparatory
41624         commands into a new rule.
41625         (release-prep): New rule.
41626         (release-prep-hook): New overridable variable.
41627
41628 2009-12-13  Bruno Haible  <bruno@clisp.org>
41629
41630         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
41631
41632 2009-12-13  Jim Meyering  <meyering@redhat.com>
41633
41634         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
41635         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
41636
41637 2009-12-12  Bruno Haible  <bruno@clisp.org>
41638
41639         duplocale: Tweak.
41640         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
41641
41642 2009-12-12  Karl Berry  <karl@gnu.org>
41643
41644         * config/srclist.txt (strtoll.c): tab changes, no more sync.
41645
41646 2009-12-12  Bruno Haible  <bruno@clisp.org>
41647
41648         * m4/po.m4: Undo incorrect untabification.
41649
41650 2009-12-12  Bruno Haible  <bruno@clisp.org>
41651
41652         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
41653         * modules/c-strtod (Depends-on): Add locale.
41654         * modules/c-strtold (Depends-on): Likewise.
41655
41656 2009-12-12  Bruno Haible  <bruno@clisp.org>
41657
41658         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
41659
41660 2009-12-11  Eric Blake  <ebb9@byu.net>
41661
41662         setenv: relax requirement in light of POSIX ruling
41663         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
41664         not NULL.
41665         * tests/test-setenv.c (main): Relax test.
41666         * tests/test-unsetenv.c (main): Likewise.
41667         * doc/posix-functions/setenv.texi (setenv): Document this.
41668         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
41669
41670 2009-12-11  Bruno Haible  <bruno@clisp.org>
41671
41672         New module 'fd-safer-flag'.
41673         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
41674         * lib/dup-safer.c (dup_safer_flag): Remove function.
41675         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
41676         * lib/fd-safer.c (fd_safer_flag): Remove function.
41677         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
41678         * modules/cloexec (configure.ac): Drop indicator macro.
41679         * modules/fd-safer-flag: New file.
41680         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
41681         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
41682         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
41683
41684 2009-12-11  Bruno Haible  <bruno@clisp.org>
41685
41686         Tests for module 'nl_langinfo'.
41687         * modules/nl_langinfo-tests: New file.
41688         * tests/test-nl_langinfo.sh: New file.
41689         * tests/test-nl_langinfo.c: New file.
41690
41691         New module 'nl_langinfo'.
41692         * lib/nl_langinfo.c: New file.
41693         * m4/nl_langinfo.m4: New file.
41694         * modules/nl_langinfo: New file.
41695         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
41696
41697 2009-12-11  Bruno Haible  <bruno@clisp.org>
41698
41699         Tests for module 'langinfo'.
41700         * modules/langinfo-tests: New file.
41701         * tests/test-langinfo.c: New file.
41702
41703         New module 'langinfo'.
41704         * lib/langinfo.in.h: New file.
41705         * m4/langinfo_h.m4: New file.
41706         * modules/langinfo: New file.
41707         * doc/posix-headers/langinfo.texi: Mention the new module.
41708
41709 2009-12-11  Bruno Haible  <bruno@clisp.org>
41710
41711         * lib/config.charset: Untabify.
41712
41713 2009-12-11  Bruno Haible  <bruno@clisp.org>
41714
41715         * modules/unistd-safer (configure.ac): Drop indicator macro.
41716
41717 2009-12-11  Bruno Haible  <bruno@clisp.org>
41718
41719         Move pipe2-safer code to its own file.
41720         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
41721         * lib/pipe-safer.c (pipe2_safer): Remove function.
41722         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
41723         (Makefile.am): Add it to lib_SOURCES.
41724
41725 2009-12-10  Bruno Haible  <bruno@clisp.org>
41726
41727         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
41728
41729 2009-12-10  Bruno Haible  <bruno@clisp.org>
41730
41731         Declare which arguments expect non-NULL values, for GCC and clang.
41732         * build-aux/arg-nonnull.h: New file.
41733         * modules/arg-nonnull: New file.
41734         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
41735         (inet_ntop, inet_pton): Use it.
41736         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
41737         (closedir, dirfd, opendir, scandir, alphasort): Use it.
41738         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
41739         (open, openat): Use it.
41740         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
41741         (fnmatch): Use it.
41742         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
41743         (getopt, getopt_long, getopt_long_only): Use it.
41744         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
41745         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
41746         Use it.
41747         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
41748         (iconv_open): Use it.
41749         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
41750         (strtoimax, strtoumax): Use it.
41751         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
41752         (duplocale): Use it.
41753         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
41754         (frexp, frexpl): Use it.
41755         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
41756         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
41757         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
41758         (tsearch, tfind, tdelete, twalk): Use it.
41759         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
41760         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
41761         sigpending): Use it.
41762         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
41763         (posix_spawn, posix_spawnp, posix_spawnattr_init,
41764         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
41765         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
41766         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
41767         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
41768         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
41769         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
41770         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
41771         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
41772         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
41773         Use it.
41774         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
41775         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
41776         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
41777         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
41778         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
41779         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
41780         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
41781         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
41782         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
41783         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
41784         strtoull, unsetenv): Use it.
41785         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
41786         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
41787         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
41788         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
41789         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
41790         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
41791         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
41792         (strcasecmp, strncasecmp): Use it.
41793         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
41794         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
41795         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
41796         rpl_setsockopt): Use it.
41797         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
41798         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
41799         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
41800         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
41801         (gettimeofday): Use it.
41802         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
41803         (times): Use it.
41804         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
41805         (uname): Use it.
41806         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
41807         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
41808         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
41809         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
41810         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
41811         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
41812         unlinkat, write): Use it.
41813         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
41814         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
41815         * lib/argv-iter.h: Include arg-nonnull.h.
41816         (_ATTRIBUTE_NONNULL_): Remove macro.
41817         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
41818         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
41819         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
41820         optimization.
41821         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
41822         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
41823         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
41824         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
41825         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
41826         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
41827         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
41828         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
41829         * modules/arpa_inet (Depends-on): Add arg-nonnull.
41830         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
41831         * modules/dirent (Depends-on): Add arg-nonnull.
41832         (Makefile.am): Insert arg-nonnull.h into dirent.h.
41833         * modules/fcntl-h (Depends-on): Add arg-nonnull.
41834         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
41835         * modules/fnmatch (Depends-on): Add arg-nonnull.
41836         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
41837         * modules/getopt-posix (Depends-on): Add arg-nonnull.
41838         (Makefile.am): Insert arg-nonnull.h into getopt.h.
41839         * modules/glob (Depends-on): Add arg-nonnull.
41840         (Makefile.am): Insert arg-nonnull.h into glob.h.
41841         * modules/iconv_open (Depends-on): Add arg-nonnull.
41842         (Makefile.am): Insert arg-nonnull.h into iconv.h.
41843         * modules/inttypes (Depends-on): Add arg-nonnull.
41844         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
41845         * modules/locale (Depends-on): Add arg-nonnull.
41846         (Makefile.am): Insert arg-nonnull.h into locale.h.
41847         * modules/math (Depends-on): Add arg-nonnull.
41848         (Makefile.am): Insert arg-nonnull.h into math.h.
41849         * modules/netdb (Depends-on): Add arg-nonnull.
41850         (Makefile.am): Insert arg-nonnull.h into netdb.h.
41851         * modules/search (Depends-on): Add arg-nonnull.
41852         (Makefile.am): Insert arg-nonnull.h into search.h.
41853         * modules/signal (Depends-on): Add arg-nonnull.
41854         (Makefile.am): Insert arg-nonnull.h into signal.h.
41855         * modules/spawn (Depends-on): Add arg-nonnull.
41856         (Makefile.am): Insert arg-nonnull.h into spawn.h.
41857         * modules/stdio (Depends-on): Add arg-nonnull.
41858         (Makefile.am): Insert arg-nonnull.h into stdio.h.
41859         * modules/stdlib (Depends-on): Add arg-nonnull.
41860         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
41861         * modules/string (Depends-on): Add arg-nonnull.
41862         (Makefile.am): Insert arg-nonnull.h into string.h.
41863         * modules/strings (Depends-on): Add arg-nonnull.
41864         (Makefile.am): Insert arg-nonnull.h into strings.h.
41865         * modules/sys_socket (Depends-on): Add arg-nonnull.
41866         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
41867         * modules/sys_stat (Depends-on): Add arg-nonnull.
41868         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
41869         * modules/sys_time (Depends-on): Add arg-nonnull.
41870         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
41871         * modules/sys_times (Depends-on): Add arg-nonnull.
41872         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
41873         * modules/sys_utsname (Depends-on): Add arg-nonnull.
41874         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
41875         * modules/time (Depends-on): Add arg-nonnull.
41876         (Makefile.am): Insert arg-nonnull.h into time.h.
41877         * modules/unistd (Depends-on): Add arg-nonnull.
41878         (Makefile.am): Insert arg-nonnull.h into unistd.h.
41879         * modules/wchar (Depends-on): Add arg-nonnull.
41880         (Makefile.am): Insert arg-nonnull.h into wchar.h.
41881         * modules/argv-iter (Depends-on): Add arg-nonnull.
41882         * tests/test-canonicalize.c (null_ptr): New function.
41883         (main): Use it.
41884         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
41885         (main): Use it.
41886         * tests/test-memmem.c (null_ptr): New function.
41887         (main): Use it.
41888         Reported by Jim Meyering.
41889
41890 2009-12-10  Bruno Haible  <bruno@clisp.org>
41891
41892         Use spaces for indentation, not tabs.
41893         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
41894         * m4/*.m4: Untabify.
41895         * build-aux/*.h: Untabify.
41896         * tests/**/*.[hc]: Untabify.
41897         * README: New section "Indent with spaces, not TABs", based on
41898         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
41899         * NEWS: Mention the change.
41900
41901 2009-12-10  Bruno Haible  <bruno@clisp.org>
41902
41903         pty test: Fix link error.
41904         * modules/pty-tests (Makefile.am): Add the default LDADD value to
41905         test_pty_LDADD.
41906
41907 2009-12-07  Simon Josefsson  <simon@josefsson.org>
41908
41909         * modules/pty: New file.
41910         * modules/pty-tests: New file.
41911         * m4/pty.m4: New file.
41912         * tests/test-pty.c: New file.
41913         * doc/glibc-headers/pty.texi: Modified.
41914         * doc/glibc-functions/forkpty.texi: Modified.
41915         * doc/glibc-functions/openpty.texi: Modified.
41916
41917 2009-12-10  Bruno Haible  <bruno@clisp.org>
41918
41919         Avoid syntax error in C++ mode.
41920         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
41921
41922 2009-12-10  Bruno Haible  <bruno@clisp.org>
41923
41924         Use sed with option -e.
41925         * gnulib-tool (func_version, func_emit_copyright_notice,
41926         func_emit_initmacro_end, func_import, func_create_testdir): Pass
41927         option -e to sed.
41928         * modules/link-warning (Makefile.am): Likewise.
41929
41930 2009-12-10  Jim Meyering  <meyering@redhat.com>
41931
41932         mgetgroups: do not write bytes beyond end of malloc'd buffer
41933         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
41934         username, we call getgroups with a one-element-shorter buffer,
41935         but still told it the length was original, max_n_groups.
41936
41937 2009-12-09  Eric Blake  <ebb9@byu.net>
41938
41939         cloexec: relax license
41940         * modules/cloexec (Maintainer): Add myself.
41941         (License): Use LGPL, not GPL.
41942
41943         link-warning: optimize generation
41944         * modules/link-warning (Makefile.am): Reduce process usage.
41945
41946 2009-12-09  Bruno Haible  <bruno@clisp.org>
41947
41948         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
41949         workaround was added on 2009-11-17.
41950
41951 2009-12-09  Jim Meyering  <meyering@redhat.com>
41952             Bruno Haible  <bruno@clisp.org>
41953
41954         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
41955         * modules/link-warning (Makefile.am): Make the comment-removing sed
41956         command more robust in the face of bootstrap-prepended comment lines.
41957
41958 2009-12-09  Bruno Haible  <bruno@clisp.org>
41959
41960         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
41961         most one group.
41962
41963 2009-12-09  Simon Josefsson <simon@josefsson.org>
41964             Bruno Haible  <bruno@clisp.org>
41965
41966         * build-aux/link-warning.h: Add copyright notice.
41967         * modules/link-warning (Makefile.am): Generate link-warning.h from
41968         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
41969         * NEWS: Mention change in link-warning module.
41970         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
41971         * modules/dirent (Makefile.am): Add dependency to dirent.h.
41972         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
41973         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
41974         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
41975         * modules/math (Makefile.am): Add dependency to math.h.
41976         * modules/search (Makefile.am): Add dependency to search.h.
41977         * modules/signal (Makefile.am): Add dependency to signal.h.
41978         * modules/spawn (Makefile.am): Add dependency to spawn.h.
41979         * modules/stdio (Makefile.am): Add dependency to stdio.h.
41980         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
41981         * modules/string (Makefile.am): Add dependency to string.h.
41982         * modules/strings (Makefile.am): Add dependency to strings.h.
41983         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
41984         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
41985         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
41986         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
41987         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
41988         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
41989         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
41990         * modules/unistd (Makefile.am): Add dependency to unistd.h.
41991         * modules/wchar (Makefile.am): Add dependency to wchar.h.
41992
41993 2009-12-09  Bruno Haible  <bruno@clisp.org>
41994
41995         fchdir: Optimize away rpl_fstat when possible.
41996         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
41997         REPLACE_OPEN_DIRECTORY.
41998         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
41999
42000 2009-12-09  Bruno Haible  <bruno@clisp.org>
42001
42002         * lib/fchdir.c: Update comment.
42003
42004 2009-12-09  Bruno Haible  <bruno@clisp.org>
42005
42006         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
42007
42008 2009-12-08  Eric Blake  <ebb9@byu.net>
42009
42010         fchdir: avoid memory leak on re-registration.
42011         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
42012
42013 2009-12-08  Jim Meyering  <meyering@redhat.com>
42014
42015         init.sh: avoid Solaris 10 /bin/sh portability problem
42016         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
42017         sourced script:
42018           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
42019           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
42020           bar
42021         tests/init.sh relied on that, accepting a --set-path=DIR argument,
42022         and two tests used that idiom.
42023         * tests/init.sh: Update suggested usage comments.
42024         (path_prepend_): New function, to be used in place
42025         of the --src-path=DIR option.
42026         (setup_): Move PATH-prepending code into path_prepend_.
42027         * tests/test-pread.sh: Adapt to new usage.
42028         * tests/test-xalloc-die.sh: Likewise.
42029
42030 2009-12-08  Simon Josefsson  <simon@josefsson.org>
42031
42032         * doc/gnulib.texi (Glibc pty.h): Add.
42033         * doc/glibc-functions/forkpty.texi: Add.
42034         * doc/glibc-functions/openpty.texi: Add.
42035         Suggested by Bruno Haible.
42036
42037 2009-12-08  Eric Blake  <ebb9@byu.net>
42038
42039         fchdir: fix logic bugs
42040         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
42041         * tests/test-fchdir.c (main): Enhance test.
42042         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
42043         is in use.
42044
42045         dup2: fix logic bugs
42046         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
42047         REPLACE_DUP2 to decide when rpl_dup2 is needed.
42048         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
42049         exists.
42050         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
42051
42052 2009-12-07  Eric Blake  <ebb9@byu.net>
42053
42054         unlink: fix m4 detection
42055         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
42056
42057         unistd-safer: add unit test
42058         * modules/unistd-safer-tests: New file.
42059         * tests/test-dup-safer.c: Likewise.
42060         * tests/test-cloexec.c (setmode): Avoid compiler warning.
42061         * tests/test-dup2.c (setmode): Likewise.
42062         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
42063
42064         cloexec: preserve text vs. binary across dup_cloexec
42065         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
42066         mode.
42067         * modules/dup2-tests (Depends-on): Add binary-io.
42068         * modules/cloexec-tests (Depends-on): Likewise.
42069         * tests/test-dup2.c (setmode, is_mode): New helpers.
42070         (main): Add tests that translation mode is preserved.
42071         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
42072         Reported by Bruno Haible.
42073
42074         mgetgroups: reduce duplicate listings
42075         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
42076         resulting array.
42077         * tests/test-chown.h (test_chown): Simplify client.
42078         * tests/test-lchown.h (test_lchown): Likewise.
42079
42080 2009-12-06  Bruno Haible  <bruno@clisp.org>
42081
42082         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
42083         value.
42084
42085 2009-12-06  Bruno Haible  <bruno@clisp.org>
42086
42087         * lib/progname.c: Include stdio.h, stdlib.h.
42088         (set_program_name): Reject a NULL argument.
42089
42090 2009-12-05  Eric Blake  <ebb9@byu.net>
42091
42092         pipe2-safer: new module
42093         * modules/pipe2-safer: New file.
42094         * lib/unistd-safer.h (pipe2_safer): New prototype.
42095         * lib/unistd--.h (pipe2): New wrapper.
42096         * lib/pipe-safer.c (pipe2_safer): New function.
42097         * modules/pipe (Depends-on): Add pipe2-safer.
42098         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
42099
42100         stdlib-safer: preserve cloexec flag for mkostemp[s]
42101         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
42102         fd_safer_flag.
42103
42104         unistd-safer: allow preservation of cloexec status via flag
42105         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
42106         prototypes.
42107         * lib/dup-safer.c (dup_safer_flag): New function.
42108         * lib/fd-safer.c (fd_safer_flag): Likewise.
42109         * modules/cloexec (configure.ac): Set witness.
42110
42111         test-dup2: enhance test
42112         * modules/dup2-tests (Depends-on): Add cloexec.
42113         * tests/test-dup2.c (main): Enhance test.
42114
42115         cloexec: add dup_cloexec
42116         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
42117         header and comments.
42118         * lib/cloexec.c (set_cloexec_flag): Add comments.
42119         (dup_cloexec): New function, with mingw implementation borrowed
42120         from...
42121         * lib/w32spawn.h (dup_noinherit): ...here.
42122         * modules/execute (Depends-on): Add cloexec.
42123         * modules/pipe (Depends-on): Likewise.
42124         * modules/cloexec (Depends-on): Add dup2.
42125         * modules/cloexec-tests (Files): New file.
42126         * tests/test-cloexec.c: Likewise.
42127
42128         test-xalloc-die: fix test for mingw
42129         * modules/xalloc-die-tests (Files): Add tests/init.sh.
42130         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
42131         directory and .exe suffix off argv[0] output.
42132
42133         test-fseeko: fix test for mingw
42134         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
42135         than undefining fseek, so test will pass on mingw.
42136
42137 2009-12-05  Bruno Haible  <bruno@clisp.org>
42138
42139         * lib/progname.h (set_program_name): Clarify specification.
42140         * lib/progname.c (set_program_name): Likewise.
42141         Reported by Jim Meyering.
42142
42143 2009-12-05  Jim Meyering  <meyering@redhat.com>
42144
42145         maint.mk: backslash-escape parens in default regexp
42146         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
42147         backslash-escape the literal parentheses.
42148
42149         maint.mk: news-date-check: use grep -E
42150         * top/maint.mk (today): Define a Make variable, not a...
42151         (news-date-check): ...shell variable.
42152         (news-date-regexp): Use the Make variable.
42153         Use grep's -E option.  Change the failing diagnostic to mention
42154         the variable, $(news-date-regexp).
42155
42156 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
42157
42158         maintainer-makefile: allow customization of NEWS entry format
42159         * top/maint.mk (news-date-regexp): New overridable variable.
42160         (news-date-check): Use it.
42161
42162 2009-12-04  Eric Blake  <ebb9@byu.net>
42163
42164         mgetgroups: add xgetgroups, and avoid ENOSYS failures
42165         * lib/mgetgroups.h (xgetgroups): New prototype.
42166         * lib/mgetgroups.c (xgetgroups): New wrapper.
42167         (mgetgroups): Handle ENOSYS.
42168         * modules/mgetgroups (Depends-on): Add realloc.
42169         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
42170
42171         mgetgroups: avoid argument promotion issues with -1
42172         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
42173         for invalid gid_t.
42174         * tests/test-chown.h (getegid, test_chown): Likewise.
42175         * tests/test-lchown.h (getegid, test_lchown): Likewise.
42176
42177 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
42178
42179         exclude: Fix header file problems.
42180         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
42181
42182 2009-12-01  Jim Meyering  <meyering@redhat.com>
42183
42184         fts: fts_open: do not let an empty string cause immediate failure
42185         This is required in support of GNU rm, for which the command
42186         "rm A '' B" must process and remove both A and B, in spite of
42187         the empty string argument.
42188         * lib/fts.c (fts_open): Do not let the presence of an empty string
42189         cause fts_open to fail immediately.  Most fts-using tools must be
42190         able to process all arguments, in order, and can be expected to
42191         diagnose such arguments themselves.
42192
42193 2009-11-30  Eric Blake  <ebb9@byu.net>
42194
42195         utimens: fix compilation error
42196         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
42197         Declare variable at right scope.
42198
42199 2009-11-29  Jim Meyering  <meyering@redhat.com>
42200
42201         bootstrap: handle perl-5.11's changed --version output
42202         * build-aux/bootstrap (get_version): Handle perl separately,
42203         since perl-5.11's --version output is different.
42204
42205 2009-11-28  Jim Meyering  <meyering@redhat.com>
42206
42207         userspec: depend on the inttostr module, too
42208         * modules/userspec (Depends-on): Add inttostr.
42209
42210         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
42211         * lib/userspec.c (parse_with_separator): Do not accept a user ID
42212         number of MAXUID when it evaluates to (uid_t) -1.
42213         Likewise for group ID.  Reported by Matt McCutchen in
42214         <http://savannah.gnu.org/bugs/?28113>
42215
42216         userspec: reformat to use spaces, not TABs
42217         * lib/userspec.c: Expand TABs to spaces.
42218         Add Emacs' "indent-tabs-mode: nil" hint.
42219
42220 2009-11-27  Eric Blake  <ebb9@byu.net>
42221
42222         getopt-gnu: flush out another BSD bug
42223         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
42224         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
42225         flush out BSD bug.
42226         * tests/test-getopt.h (test_getopt): End lists with NULL.
42227         * tests/test-getopt_long.h (test_getopt_long): Likewise.
42228         (test_getopt_long_posix): Enhance test.
42229         * modules/getopt-posix-tests (Depends-on): Add stdbool.
42230         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
42231         getopt-gnu.
42232         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
42233         Likewise.
42234
42235 2009-11-27  Simon Josefsson  <simon@josefsson.org>
42236
42237         * modules/idpriv-droptemp-tests (Notice): Fix text.
42238
42239 2009-11-27  Jim Meyering  <meyering@redhat.com>
42240
42241         test-xalloc-die: avoid spurious failure due to libtool argv difference
42242         In a libtool-enabled project, this test would fail due to a difference
42243         in the emitted program name, e.g.,
42244         -test-xalloc-die: memory exhausted
42245         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
42246         Use program to avoid that.
42247         * modules/xalloc-die-tests (Depends-on): Add progname.
42248         * tests/test-xalloc-die.c: Include progname.h".
42249         (program_name): Remove decl.
42250         (main): Call set_program_name.
42251         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
42252
42253 2009-11-26  Richard Jones  <rjones@redhat.com>
42254
42255         w32sock: leave win32 error in place.
42256         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
42257
42258 2009-11-26  Eric Blake  <ebb9@byu.net>
42259
42260         init.sh: suggest to use skip_ and fail_ functions in comments
42261         * tests/init.sh: Add a sentence.
42262
42263 2009-11-25  Bruno Haible  <bruno@clisp.org>
42264
42265         init.sh: add documentation in comments
42266         * tests/init.sh: Add some developer and user documentation.
42267
42268 2009-11-26  Jim Meyering  <meyering@redhat.com>
42269
42270         init.sh: accommodate even those who specify bogus srcdir manually
42271         * tests/init.sh: Normally, srcdir is guaranteed by automake and
42272         configure-time tests to be sanitized, so that there is no need to
42273         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
42274         (with no double quotes) suffices.  However, since tests may be
42275         invoked manually, and since you may explicitly set srcdir to the
42276         name of a directory containing spaces, do quote its uses here.
42277         * tests/test-pread.sh: Likewise.
42278         Suggested by Bruno Haible.
42279
42280         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
42281         * tests/test-pread.sh: Write no data into the pipe, because
42282         test-pread actually reads none.  This avoids a diagnostic,
42283         "bash: echo: write error: Broken pipe", that arises in the unusual
42284         event something is ignoring SIGPIPE, and might be interpreted
42285         as some sort of failure.  Reported by Bruno Haible.
42286
42287 2009-11-25  Jim Meyering  <meyering@redhat.com>
42288
42289         test-pread: cover failure with ESPIPE and EINVAL
42290         * tests/test-pread.c (main): Test for failure, too.
42291         * tests/test-pread.sh: Invoke with stdin on a pipe.
42292         Suggested by Eric Blake.
42293
42294         pread: improvement and fix
42295         * modules/pread (Depends-on): Depend on lseek, for portability to
42296         e.g., mingw.  Suggested by Eric Blake.
42297         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
42298
42299         unistd.in.h: correct declaration of pread
42300         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
42301         Reported by Richard W.M. Jones.
42302
42303         test-pread.sh: distribute the test script
42304         * modules/pread-tests (Files): Include test-pread.sh.
42305
42306         test-pread.sh: clean up
42307         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
42308         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
42309         That is unnecessary, since it's always ".".
42310         Suggestion from Eric Blake.
42311
42312         test-pread.sh: make executable
42313         * tests/test-pread.sh: Set executable bit.
42314         Reported by Eric Blake.
42315
42316         correct typo in test-pread.sh
42317         * tests/test-pread.sh: Add #! line.
42318
42319         test pread
42320         * tests/test-pread.c: New file.
42321         * tests/test-pread.sh: Likewise.
42322         * modules/pread-tests: Likewise.
42323
42324         pread: new module
42325         * modules/pread: New file.
42326         * lib/unistd.in.h (pread): Define/declare.
42327         * lib/pread.c (pread): New file.
42328         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
42329         * modules/unistd (Makefile.am): Substitute witnesses.
42330         * doc/posix-functions/pread.texi (pread): Update.
42331         * MODULES.html.sh: Add pread.
42332
42333 2009-11-25  Jim Meyering  <meyering@redhat.com>
42334
42335         tests/init.sh: new file to be used via most *.sh tests
42336         * tests/init.sh: New file.
42337
42338 2009-11-25  Eric Blake  <ebb9@byu.net>
42339
42340         utimens: work around older Linux failure with symlinks
42341         * lib/utimens.c (lutimensat_works_really): New variable.
42342         (fdutimens, lutimens): Use it to manage kernels that support
42343         nanosecond times on files, but not on symlinks.
42344         Reported by OndÅ™ej Vašík.
42345
42346         utimes: fix configure grammar
42347         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
42348
42349 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
42350
42351         regex: Fix fastmap for multibyte character ranges.
42352         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
42353         characters when a multibyte character range is included.
42354
42355 2009-11-22  Andy Wingo  <wingo@pobox.com>
42356
42357         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
42358         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
42359
42360 2009-11-24  Bruno Haible  <bruno@clisp.org>
42361
42362         doc: Most *_l functions exist in MacOS X 10.5.
42363         * doc/posix-functions/duplocale.texi: Update platforms list.
42364         * doc/posix-functions/freelocale.texi: Likewise.
42365         * doc/posix-functions/newlocale.texi: Likewise.
42366         * doc/posix-functions/uselocale.texi: Likewise.
42367         * doc/posix-functions/isalnum_l.texi: Likewise.
42368         * doc/posix-functions/isalpha_l.texi: Likewise.
42369         * doc/posix-functions/isblank_l.texi: Likewise.
42370         * doc/posix-functions/iscntrl_l.texi: Likewise.
42371         * doc/posix-functions/isdigit_l.texi: Likewise.
42372         * doc/posix-functions/isgraph_l.texi: Likewise.
42373         * doc/posix-functions/islower_l.texi: Likewise.
42374         * doc/posix-functions/isprint_l.texi: Likewise.
42375         * doc/posix-functions/ispunct_l.texi: Likewise.
42376         * doc/posix-functions/isspace_l.texi: Likewise.
42377         * doc/posix-functions/isupper_l.texi: Likewise.
42378         * doc/posix-functions/iswalnum_l.texi: Likewise.
42379         * doc/posix-functions/iswalpha_l.texi: Likewise.
42380         * doc/posix-functions/iswblank_l.texi: Likewise.
42381         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42382         * doc/posix-functions/iswctype_l.texi: Likewise.
42383         * doc/posix-functions/iswdigit_l.texi: Likewise.
42384         * doc/posix-functions/iswgraph_l.texi: Likewise.
42385         * doc/posix-functions/iswlower_l.texi: Likewise.
42386         * doc/posix-functions/iswprint_l.texi: Likewise.
42387         * doc/posix-functions/iswpunct_l.texi: Likewise.
42388         * doc/posix-functions/iswspace_l.texi: Likewise.
42389         * doc/posix-functions/iswupper_l.texi: Likewise.
42390         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42391         * doc/posix-functions/isxdigit_l.texi: Likewise.
42392         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
42393         * doc/posix-functions/strcasecmp_l.texi: Likewise.
42394         * doc/posix-functions/strcoll_l.texi: Likewise.
42395         * doc/posix-functions/strfmon_l.texi: Likewise.
42396         * doc/posix-functions/strftime_l.texi: Likewise.
42397         * doc/posix-functions/strncasecmp_l.texi: Likewise.
42398         * doc/posix-functions/strxfrm_l.texi: Likewise.
42399         * doc/posix-functions/tolower_l.texi: Likewise.
42400         * doc/posix-functions/toupper_l.texi: Likewise.
42401         * doc/posix-functions/towctrans_l.texi: Likewise.
42402         * doc/posix-functions/towlower_l.texi: Likewise.
42403         * doc/posix-functions/towupper_l.texi: Likewise.
42404         * doc/posix-functions/wcscoll_l.texi: Likewise.
42405         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42406         * doc/posix-functions/wctrans_l.texi: Likewise.
42407         * doc/posix-functions/wctype_l.texi: Likewise.
42408         * doc/glibc-functions/strptime_l.texi: Likewise.
42409         * doc/glibc-functions/strtod_l.texi: Likewise.
42410         * doc/glibc-functions/strtof_l.texi: Likewise.
42411         * doc/glibc-functions/strtol_l.texi: Likewise.
42412         * doc/glibc-functions/strtold_l.texi: Likewise.
42413         * doc/glibc-functions/strtoll_l.texi: Likewise.
42414         * doc/glibc-functions/strtoul_l.texi: Likewise.
42415         * doc/glibc-functions/strtoull_l.texi: Likewise.
42416         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42417         * doc/glibc-functions/wcstod_l.texi: Likewise.
42418         * doc/glibc-functions/wcstof_l.texi: Likewise.
42419         * doc/glibc-functions/wcstol_l.texi: Likewise.
42420         * doc/glibc-functions/wcstold_l.texi: Likewise.
42421         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42422         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42423         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42424
42425 2009-11-24  Bruno Haible  <bruno@clisp.org>
42426
42427         duplocale: Fix logic bug.
42428         * lib/duplocale.c: Don't include <langinfo.h>.
42429         (_NL_LOCALE_NAME): Remove macro.
42430         (rpl_duplocale): Use setlocale instead of nl_langinfo.
42431         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
42432
42433 2009-11-23  Jim Meyering  <meyering@redhat.com>
42434
42435         test-update-copyright: don't hard-code /usr/bin/perl
42436         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
42437         perl to print the current year.  Gilles Espinasse reported that
42438         the replaced use of perl was hard-coded as /usr/bin/perl.
42439
42440 2009-11-23  Bruno Haible  <bruno@clisp.org>
42441
42442         duplocale: Add support for glibc 2.3.x.
42443         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
42444
42445 2009-11-22  Bruno Haible  <bruno@clisp.org>
42446
42447         vasnprintf: Tiny optimization.
42448         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
42449         MacOS X.
42450
42451 2009-11-22  Bruno Haible  <bruno@clisp.org>
42452
42453         Tests for module 'duplocale'.
42454         * modules/duplocale-tests: New file.
42455         * tests/test-duplocale.c: New file.
42456
42457         New module 'duplocale'.
42458         * m4/duplocale.m4: New file.
42459         * lib/locale.in.h (duplocale): New declaration.
42460         * lib/duplocale.c: New file.
42461         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
42462         gl_LOCALE_H_DEFAULTS): New macros.
42463         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
42464         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
42465         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
42466         REPLACE_DUPLOCALE.
42467         * modules/duplocale: New file.
42468         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
42469
42470 2009-11-22  Bruno Haible  <bruno@clisp.org>
42471
42472         * modules/locale-tests (configure.ac): Test for newlocale function.
42473         * tests/test-locale.c: When the system has extended locale functions,
42474         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
42475
42476         locale: Make locale_t available when possible.
42477         * lib/locale.in.h: Include <xlocale.h> when it exists.
42478         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
42479         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
42480         * modules/locale (Depends-on): Add extensions.
42481         (Makefile.am): Also substitute HAVE_XLOCALE_H.
42482         * doc/posix-headers/locale.texi: Document the problem with locale_t.
42483
42484 2009-11-22  Bruno Haible  <bruno@clisp.org>
42485
42486         Add comments.
42487         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
42488         invocation.
42489         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
42490         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
42491         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42492
42493 2009-11-22  Bruno Haible  <bruno@clisp.org>
42494
42495         error: account for the possibility of freopen (stdout).
42496         * lib/error.c: Include <unistd.h>.
42497         (flush_stdout): New function, extracted from error and error_at_line.
42498         Determine stdout's fd dynamically.
42499         (error, error_at_line): Invoke flush_stdout.
42500         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
42501         * modules/error (Depends-on): Add unistd.
42502
42503 2009-11-22  Bruno Haible  <bruno@clisp.org>
42504
42505         diffseq: Add comment.
42506         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
42507
42508 2009-11-22  Jim Meyering  <meyering@redhat.com>
42509
42510         c-stack: avoid defining an unused static function
42511         * lib/c-stack.c (find_stack_direction): Do not define this function
42512         when it will not be used.
42513
42514         diffseq: avoid spurious gcc warnings
42515         * lib/diffseq.h (IF_LINT2): Define.
42516         (compareseq): Use it to initialize two members of "part".
42517         This avoids two used-uninitialized warnings.
42518
42519 2009-11-21  Jim Meyering  <meyering@redhat.com>
42520
42521         c-stack: avoid "ignoring return value of `write'" warning
42522         * lib/c-stack.c: Include "ignore-value.h".
42523         (die): Explicitly ignore each write return value.
42524         * modules/c-stack (Depends-on): Add ignore-value.
42525
42526 2009-11-21  Bruno Haible  <bruno@clisp.org>
42527
42528         diffseq: reduce scope of variable 'best'.
42529         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
42530         variable, earlier used for two different purposes.
42531
42532 2009-11-21  Jim Meyering  <meyering@redhat.com>
42533
42534         diffseq: remove useless assignment to "best"
42535         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
42536         assignment.  At that point "best" is already guaranteed to be zero.
42537
42538 2009-11-20  Eric Blake  <ebb9@byu.net>
42539
42540         build: mention ftp redirector in release announcements
42541         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
42542         values that used to come from cfg.mk; mention FTP redirect URL.
42543         * build-aux/announce-gen: Mention the mirror list.
42544         Suggested by Karl Berry.
42545
42546         nanosleep: improve port to mingw
42547         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
42548         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
42549         LIB_NANOSLEEP, but only when needed.
42550         * modules/select (Link): Document LIBSOCKET.
42551         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
42552         enough.
42553
42554         nanosleep: work around cygwin bug
42555         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
42556         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
42557         bug.
42558         (getnow): Delete, not needed.
42559         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
42560         LIB_CLOCK_GETTIME.
42561         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
42562         clock-time, gettime.
42563         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
42564         bug.
42565         * modules/nanosleep-tests: New test.
42566         * tests/test-nanosleep.c: New file.
42567
42568         sleep: work around cygwin bug
42569         * lib/sleep.c (rpl_sleep): Work around the bug.
42570         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
42571         (gl_PREREQ_SLEEP): Delete unused macro.
42572         * modules/sleep (Depends-on): Add verify.
42573         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42574         * modules/unistd (Makefile.am): Substitute witness.
42575         * lib/unistd.in.h (sleep): Update prototype.
42576         * doc/posix-functions/sleep.texi (sleep): Document the bug.
42577         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
42578         * modules/sleep-tests (Depends-on): Check for alarm.
42579
42580 2009-11-20  Jim Meyering  <meyering@redhat.com>
42581
42582         maint.mk: improve sc_prohibit_magic_number_exit
42583         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
42584         so it does not match uses like System.exit(1).
42585         Add comments showing how to correct all offenders.
42586
42587 2009-11-19  Eric Blake  <ebb9@byu.net>
42588
42589         xalloc-die-tests: add missing library
42590         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
42591
42592         test-xvasprintf: silence compiler warnings
42593         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
42594         empty string from gcc.
42595
42596 2009-11-19  Jim Meyering  <meyering@redhat.com>
42597
42598         xfreopen: new module, from coreutils
42599         * modules/xfreopen: New module.
42600         * lib/xfreopen.c: New file.
42601         * lib/xfreopen.h: New file.
42602         * MODULES.html.sh (File stream based Input/Output"): Add it.
42603
42604 2009-11-19  Eric Blake  <ebb9@byu.net>
42605
42606         manywarnings: depend on warnings
42607         * modules/manywarnings (Depends-on): Add warnings.
42608
42609         build: avoid compiler warnings
42610         * lib/select.c (rpl_select): Delete unused variable.
42611         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
42612
42613 2009-11-18  Eric Blake  <ebb9@byu.net>
42614
42615         tests: avoid false negative with --with-packager
42616         * tests/test-version-etc.sh: Discard packager information.
42617         * tests/test-argp-version-etc-1.sh: Likewise.
42618         Reported by Mike Frysinger.
42619
42620         utimens: fix regression on Solaris
42621         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
42622         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
42623         can only change fd timestamps via futimesat.  Instead, use an
42624         additional witness macro to avoid BSD bug.
42625         Reported by Jim Meyering.
42626
42627 2009-11-17  Eric Blake  <ebb9@byu.net>
42628
42629         usleep: use it to simplify tests
42630         * modules/stat-time-tests (Depends-on): Add usleep.
42631         (configure.ac): Drop usleep check.
42632         * modules/chown-tests (Depends-on, configure.ac): Likewise.
42633         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
42634         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
42635         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
42636         * modules/openat-tests (Depends-on, configure.ac): Likewise.
42637         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
42638         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
42639         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
42640         Likewise.
42641         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
42642         * tests/test-lchown.h (nap): Likewise.
42643         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
42644         * tests/test-stat-time.c (nap): Likewise.
42645         * tests/test-utimens-common.h (nap): Update comments.
42646
42647         usleep: new module
42648         * modules/usleep: New file.
42649         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
42650         * lib/usleep.c (usleep): Likewise.
42651         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
42652         * modules/unistd (Makefile.am): Substitute witnesses.
42653         * lib/unistd.in.h (usleep): Add declaration.
42654         * doc/pastposix-functions/usleep.texi (usleep): Document this.
42655         * MODULES.html.sh (Date and time): Likewise.
42656         * modules/usleep-tests (Depends-on): New test.
42657         * tests/test-usleep.c: New file.
42658
42659         chown: work around OpenBSD bug
42660         * lib/chown.c (rpl_chown): Work around the bug.
42661         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
42662         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
42663         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
42664         * modules/chown (Depends-on): Add stdbool.
42665         * modules/lchown (Depends-on): Likewise.
42666         * doc/posix-functions/chown.texi (chown): Document the bug.
42667         * doc/posix-functions/lchown.texi (lchown): Likewise.
42668         * tests/test-lchown.h (test_chown): Relax test.
42669
42670         mkstemp: avoid conflict with C++ keyword template
42671         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
42672         * lib/mkostemp.c (mkostemp): Likewise.
42673         * lib/mkostemps.c (mkostemps): Likewise.
42674         * lib/mkstemp.c (mkstemp): Likewise.
42675         * lib/mkstemps.c (mkstemps): Likewise.
42676
42677         xalloc-die-tests: optimize
42678         * tests/test-xalloc-die.sh: Reduce number of processes.
42679
42680 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42681
42682         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
42683         patch from ludo@gnu.org (Ludovic Courtès).
42684
42685 2009-11-17  Jim Meyering  <meyering@redhat.com>
42686
42687         version-etc: use proper license string
42688         * modules/version-etc (License): Use LGPL, not LGPLv3+.
42689         * modules/version-etc-fsf: Likewise.
42690
42691 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42692
42693         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
42694         printed to stdout.  Deal with EOL differences.
42695
42696 2009-11-17  Eric Blake  <ebb9@byu.net>
42697
42698         unsetenv: work around Solaris bug
42699         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
42700         * lib/unsetenv.c (rpl_unsetenv): Work around it.
42701         Reported by Jim Meyering.
42702
42703         vasnprintf: avoid compiler warnings
42704         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
42705         variables.
42706         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
42707
42708 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42709
42710         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
42711         settings since xalloc-die is no longer the self test,
42712         xalloc-die.sh is.
42713
42714 2009-11-17  Jim Meyering  <meyering@redhat.com>
42715
42716         test-xalloc-die.sh: make the code agree with the commit log
42717         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
42718         at the end, just in case you happen to have a test-xalloc-die
42719         program in some other PATH directory.
42720
42721         test-xalloc-die.sh: fix a portability bug
42722         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
42723         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
42724         Otherwise, argv[0] (as often seen in diagnostics) would be too
42725         system-dependent, sometimes with, and sometimes without the leading "./".
42726
42727         version-etc-fsf: relax license to LGPLv3+
42728         * modules/version-etc-fsf (License): Relax license.
42729
42730 2009-11-16  Eric Blake  <ebb9@byu.net>
42731
42732         xalloc-die-tests: avoid printing null pointer
42733         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
42734         shell script.
42735         * tests/test-xalloc-die.c (program_name): Declare.
42736         * tests/test-xalloc-die.sh (tmpfiles): New file.
42737
42738         setenv, unsetenv: work around various bugs
42739         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
42740         (setenv) [HAVE_SETENV]: Work around bugs.
42741         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
42742         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
42743         for bugs.
42744         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
42745         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
42746         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
42747         * modules/stdlib (Makefile.am): Update substitutions.
42748         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
42749         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
42750         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42751         * modules/setenv-tests: New test.
42752         * modules/unsetenv-tests: Likewise.
42753         * tests/test-setenv.c: New file.
42754         * tests/test-unsetenv.c: Likewise.
42755
42756 2009-11-16  Jim Meyering  <meyering@redhat.com>
42757
42758         version-etc: relax license to LGPLv3+
42759         * modules/version-etc (License): Relax license.
42760
42761         better AC_REQUIRE expanded-before-required-warning avoidance
42762         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
42763         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
42764         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
42765         which is no longer needed.
42766
42767 2009-11-16  Eric Blake  <ebb9@byu.net>
42768
42769         test-freading: clean up temporary file
42770         * tests/test-freading.c (main): Remove file on success, and use
42771         ASSERT more liberally.
42772         Reported by Jim Meyering.
42773
42774 2009-11-16  Jim Meyering  <meyering@redhat.com>
42775
42776         avoid new AC_REQUIRE expanded-before-required warnings
42777         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
42778         merely using it.
42779         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
42780         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
42781
42782 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42783
42784         * tests/test-xalloc-die.c: New file.
42785         * modules/xalloc-die-tests: New file.
42786         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
42787         XFAIL_TESTS so it can be appended by modules.
42788
42789 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42790
42791         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
42792         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
42793
42794 2009-11-14  Eric Blake  <ebb9@byu.net>
42795
42796         fnmatch: avoid compiler warning
42797         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
42798         to silence compiler warning about mismatch signedness in ?:.
42799         Reported by Robert Millan.
42800
42801         intprops: add double-inclusion guard
42802         * lib/intprops.h: Allow idempotent includes.
42803         Suggested by Bruce Korb.
42804
42805         openat: detect Solaris fchownat bug
42806         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
42807         penalizing glibc chownat when only lchownat is broken.
42808         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
42809         trailing slash bugs.
42810         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
42811         * modules/openat-tests (Files): Include more files.
42812         (Depends-on): Add mgetgroups, sleep, stat-time.
42813         (configure.ac): Add additional checks.
42814         (Makefile.am): Build new test.
42815         * tests/test-fchownat.c: New file.
42816
42817         lchown: detect Solaris and FreeBSD bug
42818         * lib/lchown.c (rpl_lchown): Work around bug.
42819         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
42820         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42821         * modules/unistd (Makefile.am): Populate it.
42822         * lib/unistd.in.h (lchown): Update declaration.
42823         * doc/posix-functions/lchown.texi (lchown): Document the bug.
42824         * modules/lchown-tests: New file.
42825         * tests/test-lchown.h (test_lchown): Likewise.
42826         * tests/test-lchown.c (main): Likewise.
42827
42828         chown: detect Solaris and FreeBSD bug
42829         * lib/chown.c (rpl_chown): Work around bug.
42830         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
42831         (gl_PREREQ_CHOWN): Delete.
42832         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42833         * modules/unistd (Makefile.am): Populate it.
42834         * lib/unistd.in.h (chown): Update declaration.
42835         * lib/lchown.c (chown): Update client.
42836         * modules/lchown (Depends-on): Add lstat.
42837         * doc/posix-functions/chown.texi (chown): Document the bug.
42838         * doc/posix-functions/getgroups.texi (getgroups): Document
42839         getgroups pitfall.
42840         * modules/chown-tests: New file.
42841         * tests/test-chown.h (test_chown): Likewise.
42842         * tests/test-chown.c (main): Likewise.
42843
42844 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
42845
42846         gnulib-tool: correctly detect absence of m4 directories
42847         * gnulib-tool: Avoid extra newline on data passed to wc -l.
42848
42849 2009-11-14  Jim Meyering  <meyering@redhat.com>
42850
42851         maint.mk: Prohibit inclusion of "xalloc.h" without use.
42852         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
42853
42854 2009-11-14  John W. Eaton  <jwe@gnu.org>
42855
42856         strftime.h: wrap function declaration in extern "C" block
42857         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
42858
42859 2009-11-13  Eric Blake  <ebb9@byu.net>
42860
42861         getgroups: avoid compiler warning
42862         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
42863
42864         getgroups: work around FreeBSD bug
42865         * lib/getgroups.c (rpl_getgroups): Work around the bug.
42866         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
42867         * doc/posix-functions/getgroups.texi (getgroups): Document it.
42868         * tests/test-getgroups.c (main): Fix buffer overrun.
42869
42870         getgroups: avoid compilation failure
42871         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
42872         * modules/getgroups (Depends-on): Add stdint.
42873
42874 2009-11-13  Jim Meyering  <meyering@redhat.com>
42875
42876         test-getgroups: avoid compilation failure
42877         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
42878
42879 2009-11-13  Eric Blake  <ebb9@byu.net>
42880
42881         mgetgroups: new module, taken from coreutils
42882         * modules/mgetgroups: New file.
42883         * lib/mgetgroups.h: Likewise.
42884         * lib/mgetgroups.c (mgetgroups): Likewise.
42885         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
42886         * MODULES.html.sh (Users and groups): Mention it.
42887
42888         getgroups: don't expose GETGROUPS_T to user
42889         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
42890         an element at a time if GETGROUPS_T is wrong size.
42891         * lib/getugroups.h (getugroups): Change signature.
42892         * lib/unistd.in.h (getgroups): Likewise.
42893         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
42894         signature needs fixing.
42895         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
42896         AC_TYPE_GETGROUPS.
42897         * modules/group-member (Depends-on): Add getgroups.
42898         * lib/group-member.c (group_info, get_group_info): Use gid_t.
42899         (group_member): Rely on getgroups replacement.
42900         * lib/getugroups.c (getugroups): Use gid_t.
42901         * tests/test-getgroups.c (main): Likewise.
42902         * NEWS: Mention the signature change.
42903         * doc/posix-functions/getgroups.texi (getgroups): Mention the
42904         problem with signature.
42905         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
42906         GETGROUPS_T is still useful for setgroups.
42907
42908         getgroups, getugroups: provide stubs for mingw
42909         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
42910         * lib/getugroups.c (getugroups): Likewise.
42911         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
42912         function.  Modernize replacement scheme.
42913         (gl_PREREQ_GETGROUPS): Delete.
42914         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
42915         * modules/getgroups (configure.ac): Declare witness.
42916         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42917         * modules/unistd (Depends-on): Substitute witness.
42918         * lib/unistd.in.h (getgroups): Declare replacement.
42919
42920         getgroups: avoid calling exit
42921         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
42922         drop xalloc.
42923         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
42924         dependencies.
42925         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
42926         exiting, in the rare case of malloc failure.
42927
42928         getgroups: fix logic error
42929         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
42930         has more than 20 groups.
42931         * modules/getgroups-tests: New test.
42932         * tests/test-getgroups.c: New file.
42933
42934 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42935
42936         * tests/test-base64.c: Improve.
42937
42938 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42939
42940         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
42941         Blake <ebb9@byu.net>.
42942
42943 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42944
42945         * tests/test-xvasprintf.c: Add %s%s related checks.
42946
42947 2009-11-12  Eric Blake  <ebb9@byu.net>
42948
42949         version-etc: match standards.texi style
42950         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
42951         and use <> only for URLs.
42952
42953 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
42954
42955         fts: do not fail on a submount during traversal
42956         * lib/fts.c (fts_build): Read the stat info again after opening
42957         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
42958         Original report at http://bugzilla.redhat.com/501848.
42959
42960 2009-11-12  Jim Meyering  <meyering@redhat.com>
42961
42962         bootstrap: sync from coreutils
42963         * build-aux/bootstrap (bootstrap_epilogue): New function.
42964         Use git_modules_config in one more place.  This make bootstrap's
42965         --gnulib-srcdir option more useful for testing.
42966
42967         bootstrap: generalize autoheader check
42968         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
42969         AC_CONFIG_HEADERS.
42970
42971 2009-11-11  Eric Blake  <ebb9@byu.net>
42972
42973         mkfifoat: use new modules for Solaris and BSD bugs
42974         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
42975         * lib/mkfifoat.c (mknodat): Split...
42976         * lib/mknodat.c (mknodat): ...into new file.
42977         * modules/mkfifoat (Files): Ship new file.
42978         (Depends-on): Add mkfifo, mknod.
42979         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
42980         (Depends-on): Add symlink.
42981         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
42982         redundant with test_mkfifo.h.
42983         (do_mkfifoat, do_mknodat): New helpers.
42984
42985         mknod: new module
42986         * modules/mknod: New file.
42987         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
42988         * lib/mknod.c (mknod): Likewise.
42989         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
42990         defaults.
42991         * modules/sys_stat (Makefile.am): Substitute them.
42992         * lib/sys_stat.in.h (mknod): Declare replacement.
42993         * MODULES.html.sh (Support for systems lacking POSIX:2008):
42994         Document it.
42995         * doc/posix-functions/mknod.texi (mknod): Likewise.
42996         * modules/mknod-tests: New test.
42997         * tests/test-mknod.c: Likewise.
42998
42999         mkfifo: new module
43000         * modules/mkfifo: New file.
43001         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
43002         * lib/mkfifo.c (mkfifo): Likewise.
43003         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43004         defaults.
43005         * modules/sys_stat (Makefile.am): Substitute them.
43006         * lib/sys_stat.in.h (mkfifo): Declare replacement.
43007         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43008         Document it.
43009         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
43010         * modules/mkfifo-tests: New test.
43011         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
43012         from test-mkfifoat.c.
43013         * tests/test-mkfifo.c: New file.
43014
43015         readlink: detect FreeBSD bug
43016         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
43017         slash on symlink.
43018         * doc/posix-functions/readlink.texi (readlink): Document the bug.
43019         * tests/test-readlink.h (test_readlink): Enhance test.
43020
43021         symlink: detect FreeBSD bug
43022         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
43023         slash on symlink.
43024         * doc/posix-functions/symlink.texi (symlink): Document the bug.
43025         * tests/test-symlink.h (test_symlink): Enhance test.
43026
43027 2009-11-10  Eric Blake  <ebb9@byu.net>
43028
43029         link: detect FreeBSD bug
43030         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
43031         symlink.
43032         * doc/posix-functions/link.texi (link): Document the bug.
43033         * tests/test-link.h (test_link): Enhance test.
43034         * tests/test-linkat.c (main): Update caller.
43035
43036         unlink, remove: detect FreeBSD bug
43037         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
43038         slash on symlink.
43039         * doc/posix-functions/unlink.texi (unlink): Document the bug.
43040         * doc/posix-functions/remove.texi (remove): Likewise.
43041         * tests/test-unlink.h (test_unlink): Enhance test.
43042         * tests/test-remove.c (main): Likewise.
43043
43044 2009-11-09  Eric Blake  <ebb9@byu.net>
43045
43046         rename: detect FreeBSD bug
43047         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
43048         slash on symlink.
43049         * modules/renameat-tests (Depends-on): Add filenamecat.
43050         * tests/test-rename.h (test_rename): Allow one more errno.
43051         * tests/test-renameat.c (main): Likewise.
43052         * doc/posix-functions/rename.texi (rename): Document the bug.
43053
43054         open: detect FreeBSD bug
43055         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
43056         symlink.
43057         * doc/posix-functions/open.texi (open): Document the bug.
43058         * doc/posix-functions/utimes.texi (utimes): Likewise.
43059         * tests/test-open.h (test_open): Add parameters, and test symlink
43060         handling.
43061         * tests/test-open.c (main): Adjust caller.
43062         * tests/test-fcntl-safer.c (main): Likewise.
43063         * modules/open-tests (Depends-on): Add stdbool, symlink.
43064         * modules/fcntl-safer-tests (Depends-on): Likewise.
43065         * tests/test-openat.c (main): Add test-open tests.
43066
43067         stat: detect FreeBSD bug
43068         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
43069         symlink.
43070         * doc/posix-functions/stat.texi (stat): Document the bug.
43071         * tests/test-stat.h (test_stat_func): Add argument.
43072         * tests/test-stat.c (main): Adjust caller.
43073         * tests/test-fstatat.c (main): Likewise.
43074         * modules/stat-tests (Depends-on): Add stdbool, symlink.
43075         Reported by Jim Meyering.
43076
43077 2009-11-09  James Youngman  <jay@gnu.org>
43078
43079         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
43080         * lib/strftime.c: Correct placement of #include "ignore-value.h".
43081
43082 2009-11-08  Jim Meyering  <meyering@redhat.com>
43083
43084         utimens: remove invalid futimesat call
43085         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
43086         It used the file descriptor of the target file as the DIR_FD
43087         parameter and NULL as the file name.  That caused failure with
43088         errno == EFAULT on FreeBSD-8.0-rc2
43089
43090 2009-11-07  Eric Blake  <ebb9@byu.net>
43091
43092         fflush, freadseek: use fseeko, not fseek
43093         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
43094         (clear_ungetc_buffer): Avoid potential problems on large files.
43095         * lib/freadseek.c (freadseek): Likewise.
43096         * modules/freadseek (Depends-on): Add fseeko.
43097         * modules/fseek (configure.ac): Set a witness.
43098         * tests/test-fflush.c (main): Use fseeko.
43099         * tests/test-fpurge.c (fseek): Disable link warning.
43100         * tests/test-freadable.c (fseek): Likewise.
43101         * tests/test-freading.c (fseek): Likewise.
43102         * tests/test-fseeko.c (fseek): Likewise.
43103         * tests/test-ftell.c (fseek): Likewise.
43104         * tests/test-ftello.c (fseek): Likewise.
43105         * tests/test-fwritable.c (fseek): Likewise.
43106         * tests/test-fwriting.c (fseek): Likewise.
43107
43108 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43109
43110         * modules/memchr (Depends-on): Drop getpagesize dependency.
43111
43112 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43113
43114         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
43115         Reported by Ludovic Courtès.
43116         * build-aux/pmccabe2html: Improve example usage.
43117         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
43118
43119 2009-11-06  Jim Meyering  <meyering@redhat.com>
43120
43121         do-release-commit-and-tag: New module.
43122         Automate the release-commit and tag process.
43123         * build-aux/do-release-commit-and-tag: New script, from coreutils.
43124         * modules/do-release-commit-and-tag: New file.
43125         * MODULES.html.sh (Support for maintaining and releasing): Add it.
43126
43127 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43128
43129         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
43130         because test-select.c uses inet_pton.
43131
43132 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43133
43134         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
43135         GETADDRINFO_LIB.  Bump serial number.
43136         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
43137         Suggested by Eric Blake <ebb9@byu.net>.
43138
43139 2009-11-05  Eric Blake  <ebb9@byu.net>
43140
43141         strtod: detect darwin bug
43142         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
43143         Reported by Leo Davis.
43144
43145         freopen-safer: new module
43146         * modules/freopen-safer: New module.
43147         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
43148         * lib/freopen-safer.c (freopen_safer): New file.
43149         * lib/stdio-safer.h (freopen_safer): New declaration.
43150         * lib/stdio--.h (freopen): New override.
43151         * MODULES.html.sh (File stream based Input/Output): Mention it.
43152         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
43153         freopen-safer module.
43154         * doc/posix-functions/stderr.texi (stderr): Likewise.
43155         * doc/posix-functions/stdin.texi (stdin): Likewise.
43156         * doc/posix-functions/stdout.texi (stdout): Likewise.
43157         * modules/freopen-safer-tests: New test.
43158         * tests/test-reopen-safer.c: New file.
43159
43160 2009-11-05  Jim Meyering  <meyering@redhat.com>
43161
43162         maint.mk: Prohibit inclusion of "close-stream.h" without use.
43163         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43164
43165 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43166
43167         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
43168
43169 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43170
43171         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
43172
43173 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43174
43175         Fix link error.
43176         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43177         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43178
43179 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43180
43181         * tests/test-func.c: Also test value of __func__.
43182
43183 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43184
43185         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
43186         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
43187
43188 2009-11-05  Bruno Haible  <bruno@clisp.org>
43189
43190         Fix link error.
43191         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43192         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43193         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
43194
43195 2009-11-05  Bruno Haible  <bruno@clisp.org>
43196
43197         Tests for module 'inet_pton'.
43198         * modules/inet_pton-tests: New file.
43199         * tests/test-inet_pton.c: New file.
43200
43201 2009-11-05  Bruno Haible  <bruno@clisp.org>
43202
43203         Tests for module 'inet_ntop'.
43204         * modules/inet_ntop-tests: New file.
43205         * tests/test-inet_ntop.c: New file.
43206
43207 2009-11-04  Eric Blake  <ebb9@byu.net>
43208
43209         stdlib-safer: wrap all mkstemp variants
43210         * modules/mkostemp (configure.ac): Set witness.
43211         * modules/mkostemps (configure.ac): Likewise.
43212         * modules/mkstemps (configure.ac): Likewise.
43213         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
43214         (mkstemps_safer): Wrap more functions.
43215         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
43216         wrapping.
43217         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
43218         (mkstemps_safer): Implement the wrappers.
43219
43220         mkstemps, mkostemps: new modules
43221         * modules/mkostemps: New module.
43222         * modules/mkstemps: Likewise.
43223         * lib/mkostemps.c (mkostemps): New file.
43224         * lib/mkstemps.c (mkstemps): Likewise.
43225         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
43226         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
43227         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
43228         * modules/stdlib (Makefile.am): Substitute them.
43229         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
43230         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
43231         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
43232         * doc/gnulib.texi (Glibc stdlib.h): Include them.
43233         * MODULES.html.sh (File system functions): Mention them.
43234
43235         tempname: resync from glibc
43236         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
43237         same values for __GT_FILE as glibc.  Abort even when assertions
43238         are disabled.
43239         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
43240         match its value otherwise.  Allow idempotent inclusion.
43241         * lib/mkdtemp.c (mkdtemp): Adjust caller.
43242         * lib/mkostemp.c (mkostemp): Likewise.
43243         * lib/mkstemp.c (mkstemp): Likewise.
43244         * lib/tmpfile.c (tmpfile): Likewise.
43245         * NEWS: Document this.
43246
43247         utimens: fix use of futimens on older Linux
43248         * lib/utimens.c (fdutimens): Use updated, rather than original,
43249         timespec to avoid bug in older Linux kernel.
43250         Reported by Simon Josefsson.
43251
43252 2009-11-04  Bruno Haible  <bruno@clisp.org>
43253
43254         Make num_processors more flexible and consistent.
43255         * lib/nproc.h (enum nproc_query): New type.
43256         (num_processors): Add a 'query' argument.
43257         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
43258         (num_processors): Add a 'query' argument. Test the value of the
43259         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
43260         mingw, count the number of CPUs available for the current process.
43261         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
43262         Check for sched_getaffinity and sched_getaffinity_np.
43263         * modules/nproc (Depends-on): Add c-ctype, extensions.
43264         * NEWS: Mention the change.
43265
43266 2009-11-03  Bruno Haible  <bruno@clisp.org>
43267
43268         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
43269
43270 2009-11-03  Jim Meyering  <meyering@redhat.com>
43271
43272         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
43273         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
43274         if it is defined.
43275
43276 2009-11-02  Eric Blake  <ebb9@byu.net>
43277
43278         mktime, timegm: share common declaration
43279         * lib/mktime-internal.h: New file.
43280         * lib/mktime.c: Use it rather than open-coding a declaration.
43281         * lib/timegm.c: Likewise.
43282         * modules/mktime (Files): Ship it.
43283         * modules/timegm (Files): Likewise.
43284         Suggested by Bruno Haible.
43285
43286         test-update-copyright: update test to match script changes
43287         * tests/test-update-copyright.sh: Avoid hard-coding perl
43288         location.  Don't update *.bak created by earlier runs.
43289
43290 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
43291             Simon Josefsson  <simon@josefsson.org>
43292             Bruno Haible  <bruno@clisp.org>
43293
43294         Fix link error on Solaris 8.
43295         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
43296         also in libnsl. Define also INET_PTON_LIB.
43297         * modules/inet_pton (Link): New section.
43298
43299 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43300             Bruno Haible  <bruno@clisp.org>
43301
43302         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
43303         * modules/inet_ntop (Link): New section.
43304         Reported by Boyan Kasarov <bkasarov@gmail.com>.
43305
43306 2009-11-02  Eric Blake  <ebb9@byu.net>
43307
43308         maint: avoid compiler warnings in m4 macros
43309         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
43310         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
43311
43312 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43313
43314         * m4/pmccabe2html.m4: Remove file.
43315         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
43316         function.  Change maintainer.
43317         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
43318         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
43319         Courtès).
43320
43321 2009-10-31  Eric Blake  <ebb9@byu.net>
43322
43323         fseeko: fix m4 regression
43324         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
43325         regression from 2009-10-27.
43326         Reported by Ralf Wildenhues.
43327
43328 2009-10-31  Jim Meyering  <meyering@redhat.com>
43329
43330         inttostr: aesthetics and improved (compile-time) safety
43331         Define inttype_is_signed rather than inttype_is_unsigned,
43332         since the sole use is via "#if inttype_is_signed".
43333         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
43334         inttype_is_unsigned.
43335         * lib/offtostr.c (inttype_is_signed): Likewise.
43336         * lib/uinttostr.c (inttype_is_signed): Likewise.
43337         * lib/umaxtostr.c (inttype_is_signed): Likewise.
43338         * lib/inttostr.c (inttostr): Use verify to cross-check the
43339         inttype_is_signed value and the signedness of the actual type.
43340         * modules/inttostr (Depends-on): Add verify.
43341
43342 2009-10-30  Eric Blake  <ebb9@byu.net>
43343
43344         build: avoid compiler warnings
43345         * lib/fchmodat.c (lchmod): Mark unused variables.
43346         * lib/getopt.c (_getopt_initialize): Likewise.
43347         * lib/mktime.c (__mktime_internal): Provide prototype.
43348         * lib/inttostr.c (inttostr): Avoid compiler warning even with
43349         older gcc that do not understand #pragma GCC diagnostic.
43350         * lib/uinttostr.c (inttype_is_unsigned): Define.
43351         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
43352
43353 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
43354
43355         stat: fix compilation on AIX
43356         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
43357         only see struct stat64.
43358
43359 2009-10-30  Eric Blake  <ebb9@byu.net>
43360
43361         exclude: make more robust
43362         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
43363         rather than masking a coding bug.
43364         Suggested by Bruno Haible.
43365
43366 2009-10-30  Jim Meyering  <meyering@redhat.com>
43367
43368         perl scripts: remove #!/usr/bin/perl in favor of more portable...
43369         Rather than putting #!/usr/bin/perl on the first line,
43370         start with a variant of what's recommended by "man perlrun" that
43371         invokes the first "perl" program from your shell's search path.
43372         * build-aux/gitlog-to-changelog: Replace #!... as above.
43373         Add a "Local Variables" perl mode setting.
43374         Prompted by a patch from Ludovic Courtès.
43375         Improved by Eric Blake.
43376         * build-aux/useless-if-before-free: Likewise.
43377         * build-aux/announce-gen: Likewise.
43378         * build-aux/update-copyright: Likewise.
43379
43380 2009-10-29  Eric Blake  <ebb9@byu.net>
43381
43382         filenamecat-lgpl: adjust clients
43383         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
43384         filenamecat.
43385         * modules/renameat (Depends-on): Likewise.
43386
43387         filenamecat: split into filenamecat-lgpl
43388         * modules/filenamecat-lgpl: New module.
43389         * modules/filenamecat (Files): Move library-safe files into
43390         filenamecat-lgpl.
43391         (Depends-on): Add filenamecat-lgpl.
43392         (configure.ac): Declare witness.
43393         * lib/filenamecat.h (file_name_concat): Only declare when using
43394         GPL module.
43395         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
43396         Move...
43397         * lib/filenamecat-lgpl.c: ...into new file.
43398         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
43399         (gl_FILE_NAME_CONCAT): Use it.
43400         * MODULES.html.sh (File system functions): Mention new module.
43401
43402         argp: avoid memory leak
43403         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
43404         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
43405         base_name, since the latter malloc()s and can call exit().
43406         Leak introduced 2006-07-03.
43407
43408         dirname-lgpl: adjust clients that don't need full dirname
43409         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
43410         * modules/filenamecat (Depends-on): Likewise.
43411         * modules/linkat (Depends-on): Likewise.
43412         * modules/mkancesdirs (Depends-on): Likewise.
43413         * modules/mkdir (Depends-on): Likewise.
43414         * modules/openat (Depends-on): Likewise.
43415         * modules/savewd (Depends-on): Likewise.
43416         * modules/rename (Depends-on): Likewise.
43417         (License): Relax license.
43418         * modules/mkdir-tests (Depends-on): Drop progname.
43419         (Makefile.am): Delete unneeded LDADD.
43420         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
43421
43422         dirname: split into dirname-lgpl
43423         * modules/dirname-lgpl: New module.
43424         * modules/dirname (Files): Move library-safe files into
43425         dirname-lgpl.
43426         (Depends-on): Add dirname-lgpl.
43427         (configure.ac): Declare witness.
43428         * modules/double-slash-root (License): Relax license.
43429         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
43430         module.
43431         * lib/dirname.c (dir_len, mdir_name): Move...
43432         * lib/dirname-lgpl.c: ...into new file.
43433         * lib/basename.c (last_component, base_len): Move...
43434         * lib/basename-lgpl.c: ...into new file.
43435         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
43436         (gl_DIRNAME): Use it.
43437         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
43438         Mention new module.
43439         * modules/dirname-tests (Depends-on): Add progname.
43440         * tests/test-dirname.c (program_name): Delete.
43441
43442         mkdir: make safe for libraries
43443         * modules/mkdir (Depends-on): Drop xalloc.
43444         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
43445         exit.
43446
43447         tests: avoid some compiler warnings
43448         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
43449         literals.
43450         * tests/test-memchr.c (main): Avoid type mismatch.
43451         * tests/test-arpa_inet.c (main): Avoid unused parameters.
43452         * tests/test-base64.c (main): Likewise.
43453         * tests/test-getdelim.c (main): Likewise.
43454         * tests/test-gethostname.c (main): Likewise.
43455         * tests/test-getline.c (main): Likewise.
43456         * tests/test-netinet_in.c (main): Likewise.
43457         * tests/test-select.c (open_server_socket, main): Likewise.
43458         * tests/test-select-stdin.c (main): Likewise.
43459         * tests/test-sockets.c (main): Likewise.
43460         * tests/test-strsignal.c (main): Likewise.
43461         * tests/test-sys_select.c (main): Likewise.
43462         * tests/test-sys_socket.c (main): Likewise.
43463         * tests/test-u64.c (main): Likewise.
43464         * tests/test-xfprintf-posix.c (main): Likewise.
43465         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
43466
43467         sockets: avoid compiler warning
43468         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
43469
43470         maint: detect usage(1) and other suspicious exits
43471         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
43472
43473 2009-10-29  Jim Meyering  <meyering@redhat.com>
43474
43475         timespec: long-to-int truncation could make timespec_cmp malfunction
43476         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
43477         a multiple of 2^32 nanoseconds as no difference.
43478
43479 2009-10-28  Jim Meyering  <meyering@redhat.com>
43480
43481         fprintftime: wrap macro code argument in "do {...} while(0)"
43482         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
43483         cpy macro must be a statement that can be followed by a semicolon.
43484         Now that the else clause contains a comment and is hence longer
43485         than one line, I require curly braces.  That in turn requires
43486         that we wrap this code block in the standard do...while(0).
43487
43488         fprintftime: remove stray semicolon from previous change
43489         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
43490
43491         fprintftime: avoid a warning about ignored fwrite return value
43492         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
43493         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
43494         that is unsafe.
43495         * modules/fprintftime (Depends-on): Add ignore-value.
43496
43497         exclude: avoid an unwarranted warning
43498         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
43499
43500 2009-10-27  Eric Blake  <ebb9@byu.net>
43501
43502         fseek: avoid compilation failure when fflush is replaced
43503         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
43504         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
43505         module is in use.
43506         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
43507         module is not in use; since REPLACE_FSEEK worked otherwise.
43508         (GNULIB_FTELLO): Likewise for ftell.
43509         Reported by Ian Beckwith and others.
43510
43511 2009-10-27  Bruno Haible  <bruno@clisp.org>
43512
43513         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
43514         Reported by Jim Meyering.
43515
43516 2009-10-27  Jim Meyering  <jim@meyering.net>
43517             Bruno Haible  <bruno@clisp.org>
43518
43519         Avoid warning despite dropping the return value of fwrite.
43520         * lib/unicodeio.c: Include ignore-value.h.
43521         (fwrite_success_callback): Explicitly ignore fwrite's return value.
43522         * modules/unicodeio (Depends-on): Add ignore-value.
43523
43524 2009-10-26  Eric Blake  <ebb9@byu.net>
43525
43526         areadlinkat: fix fallback path
43527         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
43528         pointer and zero.
43529
43530 2009-10-22  Pádraig Brady  <P@draigBrady.com>
43531
43532         Use a better IO block size for modern systems
43533         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
43534         * lib/md2.c: Likewise.
43535         * lib/md4.c: Likewise.
43536         * lib/md5.c: Likewise.
43537         * lib/sha1.c: Likewise.
43538         * lib/sha256.c: Likewise.
43539         * lib/sha512.c: Likewise.
43540
43541 2009-10-22  Eric Blake  <ebb9@byu.net>
43542
43543         tests: avoid several compiler warnings
43544         * tests/test-getcwd.c (main): Avoid buffer underflow.
43545         * tests/test-getdate.c (main): String literals are not safe with
43546         putenv, so use setenv.  Declare unused argument.
43547         * modules/getdate-tests (Depends-on): Add setenv.
43548         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
43549         problems with string literals in char *.
43550         * tests/test-hash.c (main): Avoid shadowing declaration.
43551         (insert_new): Treat string literals as char const *.
43552         * tests/test-getopt.h (test_getopt): Likewise.
43553         (getopt_loop): Alter types to minimize casting elsewhere.
43554         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
43555         (test_getopt_long_posix): Likewise.
43556         (do_getopt_long): Add wrapper to minimize casting.
43557         * tests/test-atexit.c (clear_temp_file): Use void.
43558         * tests/test-areadlink-with-size.c (main): Declare unused
43559         arguments.
43560         * tests/test-areadlink.c (main): Likewise.
43561         * tests/test-areadlinkat-with-size.c (main): Likewise.
43562         * tests/test-areadlinkat.c (main): Likewise.
43563         * tests/test-canonicalize-lgpl.c (main): Likewise.
43564         * tests/test-canonicalize.c (main): Likewise.
43565         * tests/test-dirent-safer.c (main): Likewise.
43566         * tests/test-dirname.c (main): Likewise.
43567         * tests/test-dup2.c (main): Likewise.
43568         * tests/test-fchdir.c (main): Likewise.
43569         * tests/test-fcntl-h.c (main): Likewise.
43570         * tests/test-fcntl-safer.c (main): Likewise.
43571         * tests/test-fdopendir.c (main): Likewise.
43572         * tests/test-fdutimensat.c (main): Likewise.
43573         * tests/test-fflush.c (main): Likewise.
43574         * tests/test-filenamecat.c (main): Likewise.
43575         * tests/test-filevercmp.c (main): Likewise.
43576         * tests/test-fopen-safer.c (main): Likewise.
43577         * tests/test-fopen.c (main): Likewise.
43578         * tests/test-fpending.c (main): Likewise.
43579         * tests/test-fpurge.c (main): Likewise.
43580         * tests/test-freading.c (main): Likewise.
43581         * tests/test-fstatat.c (main): Likewise.
43582         * tests/test-fsync.c (main): Likewise.
43583         * tests/test-futimens.c (main): Likewise.
43584         * tests/test-getndelim2.c (main): Likewise.
43585         * tests/test-gettimeofday.c (main): Likewise.
43586         * tests/test-getopt.c (main): Likewise.
43587         * tests/test-i-ring.c (main): Likewise.
43588         * tests/test-inttypes.c (main): Likewise.
43589         * tests/test-link.c (main): Likewise.
43590         * tests/test-lstat.c (main): Likewise.
43591         * tests/test-math.c (main): Likewise.
43592         * tests/test-md5.c (main): Likewise.
43593         * tests/test-memchr2.c (main): Likewise.
43594         * tests/test-memrchr.c (main): Likewise.
43595         * tests/test-mkdir.c (main): Likewise.
43596         * tests/test-mkdirat.c (main): Likewise.
43597         * tests/test-mkfifoat.c (main): Likewise.
43598         * tests/test-open.c (main): Likewise.
43599         * tests/test-openat-safer.c (main): Likewise.
43600         * tests/test-openat.c (main): Likewise.
43601         * tests/test-quotearg.c (main): Likewise.
43602         * tests/test-rawmemchr.c (main): Likewise.
43603         * tests/test-readlink.c (main): Likewise.
43604         * tests/test-remove.c (main): Likewise.
43605         * tests/test-rename.c (main): Likewise.
43606         * tests/test-renameat.c (main): Likewise.
43607         * tests/test-rmdir.c (main): Likewise.
43608         * tests/test-sha1.c (main): Likewise.
43609         * tests/test-signal.c (main): Likewise.
43610         * tests/test-sigaction.c (main): Likewise.
43611         * tests/test-stat.c (main): Likewise.
43612         * tests/test-stat-time.c (main): Likewise.
43613         * tests/test-stddef.c (main): Likewise.
43614         * tests/test-stdint.c (main): Likewise.
43615         * tests/test-stdio.c (main): Likewise.
43616         * tests/test-stdlib.c (main): Likewise.
43617         * tests/test-strchrnul.c (main): Likewise.
43618         * tests/test-strerror.c (main): Likewise.
43619         * tests/test-string.c (main): Likewise.
43620         * tests/test-strtod.c (main): Likewise.
43621         * tests/test-strverscmp.c (main): Likewise.
43622         * tests/test-symlink.c (main): Likewise.
43623         * tests/test-symlinkat.c (main): Likewise.
43624         * tests/test-sys_stat.c (main): Likewise.
43625         * tests/test-sys_time.c (main): Likewise.
43626         * tests/test-time.c (main): Likewise.
43627         * tests/test-unistd.c (main): Likewise.
43628         * tests/test-unlink.c (main): Likewise.
43629         * tests/test-unlinkat.c (main): Likewise.
43630         * tests/test-utimens.c (main): Likewise.
43631         * tests/test-utimensat.c (main): Likewise.
43632         * tests/test-version-etc.c (main): Likewise.
43633         * tests/test-wchar.c (main): Likewise.
43634         * tests/test-wctype.c (main): Likewise.
43635         * tests/test-xprintf-posix.c (main): Likewise.
43636         * tests/test-posixtm.c (main): Likewise.
43637         (STREQ): Delete unused macro.
43638         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
43639         shadowed variables.
43640         * tests/test-memchr.c (main): Likewise.
43641
43642 2009-10-21  Eric Blake  <ebb9@byu.net>
43643
43644         areadlinkat: avoid failure on older glibc
43645         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
43646         rather than mis-comparing 0 against FUNC_RESULT of char*.
43647
43648 2009-10-21  Bruno Haible  <bruno@clisp.org>
43649
43650         * modules/stpncpy (License): Relicense under LGPLv2+.
43651         Reported by David Lutterkort <lutter@redhat.com>.
43652
43653 2009-10-20  Eric Blake  <ebb9@byu.net>
43654
43655         utimensat: work around Solaris 9 bug
43656         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
43657         has trailing slash bugs.
43658         * tests/test-lutimens.h (test_lutimens): Enhance test.
43659         * tests/test-utimens.h (test_utimens): Likewise.
43660         * doc/posix-functions/utime.texi (utime): Enhance documentation.
43661         * doc/posix-functions/utimes.texi (utimes): Likewise.
43662         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43663         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
43664         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
43665         * doc/posix-functions/futimens.texi (futimens): Likewise.
43666
43667         fdutimensat: new module
43668         * modules/fdutimensat: New file.
43669         * lib/fdutimensat.c (fdutimensat): Likewise.
43670         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
43671         * MODULES.html.sh (File system functions): Mention module.
43672         * modules/fdutimensat-tests: New test.
43673         * tests/test-fdutimensat.c: Likewise.
43674
43675         doc: regenerate INSTALL
43676         * doc/INSTALL: Reflect recent autoconf update.
43677         * doc/INSTALL.ISO: Likewise.
43678         * doc/INSTALL.UTF-8: Likewise.
43679
43680 2009-10-20  Pádraig Brady  <P@draigBrady.com>
43681
43682         acl: warn if ACL support is not detected
43683         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
43684
43685 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
43686
43687         * lib/nproc.h: Add extern "C" block for C++.
43688
43689 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
43690             Bruno Haible  <bruno@clisp.org>
43691
43692         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
43693         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
43694         * doc/posix-functions/isalpha.texi: Likewise.
43695         * doc/posix-functions/isblank.texi: Likewise.
43696         * doc/posix-functions/iscntrl.texi: Likewise.
43697         * doc/posix-functions/isdigit.texi: Likewise.
43698         * doc/posix-functions/isgraph.texi: Likewise.
43699         * doc/posix-functions/islower.texi: Likewise.
43700         * doc/posix-functions/isprint.texi: Likewise.
43701         * doc/posix-functions/ispunct.texi: Likewise.
43702         * doc/posix-functions/isspace.texi: Likewise.
43703         * doc/posix-functions/isupper.texi: Likewise.
43704         * doc/posix-functions/isxdigit.texi: Likewise.
43705
43706 2009-10-18  Bruno Haible  <bruno@clisp.org>
43707
43708         Tests for module 'isblank'.
43709         * modules/isblank-tests: New file.
43710         * tests/test-isblank.c: New file.
43711
43712         New module 'isblank'.
43713         * lib/isblank.c: New file.
43714         * m4/isblank.m4: New file.
43715         * modules/isblank: New file.
43716         * doc/posix-functions/isblank.texi: Mention the new module.
43717
43718 2009-10-18  Bruno Haible  <bruno@clisp.org>
43719
43720         New module 'ctype'.
43721         * lib/ctype.in.h: New file.
43722         * m4/ctype.m4: New file.
43723         * modules/ctype: New file.
43724         * doc/posix-headers/ctype.texi: Mention the new module.
43725
43726 2009-10-18  Jim Meyering  <meyering@redhat.com>
43727
43728         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
43729         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
43730         right after its initialization, rather than farther down.
43731         Keeping these in close proximity makes it easier to ensure
43732         that each such variable is initialized.  E.g.,
43733
43734             LIB_CLOCK_GETTIME=
43735             AC_SUBST([LIB_CLOCK_GETTIME])
43736
43737         This change also increments these serial numbers.
43738         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
43739         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43740         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43741
43742 2009-10-18  Bruno Haible  <bruno@clisp.org>
43743
43744         Don't let environment variables perturb build.
43745         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
43746         (gl_PREREQ_GETHRXTIME): ... not here.
43747
43748 2009-10-18  Bruno Haible  <bruno@clisp.org>
43749
43750         Avoid symlink attack in localcharset module.
43751         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
43752         (O_NOFOLLOW): Define fallback.
43753         (get_charset_aliases): Don't open the file if it is a symbolic link.
43754         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
43755         gl_FCNTL_H.
43756         (gl_FCNTL_H): Require it.
43757         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
43758         * modules/localcharset (Files): Add m4/fcntl_h.m4.
43759         Reported by Fergal Glynn <fglynn@veracode.com>.
43760
43761 2009-10-18  Bruno Haible  <bruno@clisp.org>
43762
43763         Implement nproc for mingw.
43764         * lib/nproc.c: Include <windows.h>
43765         (num_processors): On native Windows platforms, try GetSystemInfo.
43766
43767 2009-10-18  Bruno Haible  <bruno@clisp.org>
43768
43769         Implement nproc for IRIX.
43770         * lib/nproc.c: Include <sys/sysmp.h>.
43771         (num_processors): On IRIX systems, try sysmp.
43772         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
43773
43774 2009-10-18  Bruno Haible  <bruno@clisp.org>
43775
43776         Implement nproc for HP-UX.
43777         * lib/nproc.c: Include <sys/pstat.h>
43778         (num_processors): On HP-UX systems, try pstat_getdynamic.
43779         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
43780         pstat_getdynamic.
43781
43782 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
43783             Bruno Haible  <bruno@clisp.org>
43784
43785         Implement nproc for NetBSD, OpenBSD.
43786         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
43787         (ARRAY_SIZE): New macro.
43788         (num_processors): On BSD systems, try sysctl of HW_NCPU.
43789         * m4/nproc.m4: New file.
43790         * modules/nproc (Files): Add m4/nproc.m4.
43791         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
43792         (Makefile.am): Instead, augment lib_SOURCES.
43793
43794 2009-10-18  Bruno Haible  <bruno@clisp.org>
43795
43796         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
43797         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
43798         sys/param.h.
43799
43800 2009-10-16  Eric Blake  <ebb9@byu.net>
43801
43802         utimensat: new module
43803         * modules/utimensat: New file.
43804         * lib/utimensat.c (utimensat): Likewise.
43805         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
43806         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
43807         so we can work around Linux bugs.
43808         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43809         * modules/sys_stat (Makefile.am): Substitute them.
43810         * lib/sys_stat.in.h (utimensat): Declare it.
43811         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43812         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43813         * modules/utimensat-tests: New test.
43814         * tests/test-utimensat.c: Likewise.
43815
43816         utimens: let lutimens work on non-symlinks
43817         * lib/utimens.c (lutimens): Fall back to utimens rather than
43818         failing with ENOSYS, when file is not a symlink.
43819         (utimens): Reduce redirection.
43820         * tests/test-lutimens.h (test_lutimens): Update test to cover
43821         non-symlinks.
43822         * tests/test-utimens.h (test_utimens): Update test to cover
43823         symlinks.
43824         * tests/test-utimens.c (main): Update caller.
43825
43826         utimens: cache whether utimensat syscall works
43827         * lib/utimens.c (utimensat_works_really): New cache variable.
43828         (fdutimens, lutimens): Use it to avoid failing syscall.
43829
43830         test-stat-time, test-utimens: improve portability
43831         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
43832         ext4 on alpha, and for cygwin.
43833         * tests/test-utimens-common.h: New file.
43834         (nap): Factor delays into single function.
43835         * tests/test-lutimens.h (test_lutimens): Use new header.
43836         * tests/test-futimens.h (test_futimens): Likewise.
43837         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
43838         timestamps to occur from same machine, as was done previously for
43839         test_utimens.
43840         * modules/utimens-tests (Files): Ship new file.
43841         * modules/futimens-tests (Files): Likewise.
43842         Reported in part by Jim Meyering.
43843
43844         sys_stat: sort replacement declarations
43845         * lib/sys_stat.in.h: Sort declarations.
43846         * lib/futimens.c (futimens): Fix typo.
43847
43848 2009-10-15  Jim Meyering  <meyering@redhat.com>
43849
43850         don't let environment settings perturb build
43851         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
43852         could cause a configure-time and/or build-time malfunction.
43853         Typically, a configure-time function-in-library test is performed
43854         via code like this:
43855
43856           LIB_VAR=
43857           AC_SUBST([LIB_VAR])
43858           prefix_saved_LIBS=$LIBS
43859             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
43860                        [test "$ac_cv_search_FUNC" = "none required" ||
43861                         LIB_VAR=$ac_cv_search_FUNC])
43862           LIBS=$prefix_saved_LIBS
43863
43864         However, in each of the files affected by this change, the LIB_VAR=
43865         initialization was omitted.  Thus, when set in the environment, its
43866         value would propagate into generated Makefiles when FUNC is not found
43867         in LIB_NAME.
43868         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
43869         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43870         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43871
43872 2009-10-14  Eric Blake  <ebb9@byu.net>
43873
43874         fchdir: avoid infinite recursion in mingw
43875         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
43876         recursing.
43877
43878         test-stat-time: port to mingw
43879         * tests/test-stat-time.c (force_unlink): Return a value.
43880         (test_ctime) [W32]: Fix compilation error.
43881         (nap): Don't call usleep with too large an argument.  Use
43882         force_unlink.
43883         * doc/pastposix-functions/usleep.texi (usleep): Document the
43884         portability issue.
43885
43886 2009-10-13  Jim Meyering  <meyering@redhat.com>
43887
43888         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
43889         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
43890         * modules/pipe-filter-ii: Likewise.
43891         * modules/sys_socket-tests: Likewise.
43892         * modules/tsearch-tests: Likewise.
43893         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
43894         (check): Depend on it.
43895
43896 2009-10-12  Eric Blake  <ebb9@byu.net>
43897
43898         utimens-tests: port to NFS file systems
43899         * tests/test-utimens.h (test_utimens): Refactor utimecmp
43900         comparisons to avoid spurious failures from timestamp drift
43901         between NFS machines.
43902
43903 2009-10-12  Eric Blake  <ebb9@byu.net>
43904
43905         stat-time-tests: minor cleanups
43906         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
43907         * tests/test-stat-time.c (nap): Separate assignment from call.
43908         Suggested by Paolo Bonzini and Bruno Haible.
43909
43910         sys_stat: guarantee struct timespec
43911         * lib/sys_stat.in.h (includes): Always include <time.h>
43912         * modules/sys_stat (Depends-on): Add time.
43913         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
43914         mode_t permission values.
43915         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
43916         get at subsecond timestamps.
43917
43918 2009-10-10  Eric Blake  <ebb9@byu.net>
43919
43920         futimens: new module
43921         * modules/futimens: New file.
43922         * lib/futimens.c (futimens): Likewise.
43923         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
43924         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
43925         we can work around Linux bugs.
43926         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43927         * modules/sys_stat (Makefile.am): Substitute them.
43928         * lib/sys_stat.in.h (futimens): Declare it.
43929         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43930         * doc/posix-functions/futimens.texi (futimens): Likewise.
43931         * modules/futimens-tests: New test.
43932         * tests/test-futimens.c: Likewise.
43933
43934         utimens: introduce fdutimens
43935         * lib/utimens.h (fdutimens): New prototype.
43936         * lib/utimens.c (gl_futimens): Move guts...
43937         (fdutimens): ...to new interface.
43938         * tests/test-utimens.c (do_fdutimens): Use it.
43939
43940         utimens: add UTIME_NOW and UTIME_OMIT support
43941         * lib/utimens.c (validate_timespec, update_timespec): New helper
43942         functions.
43943         (gl_futimens, lutimens): Use them.
43944         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
43945         stdbool, sys_stat.
43946         (Link): Mention resulting library dependency.
43947         * modules/utimecmp (Link): Likewise.
43948         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
43949         (Makefile.am): Pick up library dependency.
43950         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
43951         definition.
43952         * tests/test-sys_stat.c: Test the definitions.
43953         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
43954         * NEWS: Document library dependency.
43955
43956         utimecmp: support symlink timestamps
43957         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
43958         hashing when possible.  Use pathconf when available.
43959         (SYSCALL_RESOLUTION): Recognize tighter resolution.
43960         * modules/utimecmp (Depends-on): Add lstat.
43961
43962         utimens: add lutimens interface
43963         * lib/utimens.c (lutimens): New function.
43964         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
43965         * lib/utimens.h (lutimens): Declare new interface.
43966         * tests/test-utimens.c (main): Enhance test.
43967         * tests/test-lutimens.h (test_lutimens): New file.
43968         * modules/utimens-tests (Files): Distribute it.
43969         (Depends-on): Add symlink.
43970         (configure.ac): Check for usleep.
43971
43972         utimens: validate futimens usage
43973         * lib/utimens.c (gl_futimens): Require valid fd up front, using
43974         fewer syscalls on failure later on.  Avoid compiler warning on
43975         mingw.
43976         * modules/utimens (Depends-on): Add dup2.
43977
43978         utimens: add test
43979         * modules/utimens-tests: New test.
43980         * tests/test-utimens.h: New file.
43981         * tests/test-futimens.h: Likewise.
43982         * tests/test-utimens.c: Likewise.
43983
43984         doc: mention timestamp portability issues
43985         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
43986         instead.
43987         * doc/posix-functions/utime.texi (utime): Likewise.
43988         * doc/posix-functions/utimes.texi (utimes): Likewise.
43989         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
43990         instead.
43991         * doc/posix-functions/futimens.texi (futimens): Mention utimens
43992         module.
43993         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43994         Mention weakness with symlink timestamps.
43995         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
43996         to utimensat/futimens instead.
43997         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
43998
43999         test-dup2: enhance test
44000         * tests/test-dup2.c (main): Also check AT_FDCWD.
44001
44002         test-stat-time: avoid more spurious failures
44003         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
44004         xfs; and avoid race if the two timestamps cross quantization edge.
44005
44006         relocatable: prefer 'file system' over 'filesystem'
44007         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
44008         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
44009         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
44010         * doc/relocatable.texi (Enabling Relocatability): Likewise.
44011         * lib/relocatable.c (compute_curr_prefix): Likewise.
44012
44013 2009-10-10  Jim Meyering  <meyering@redhat.com>
44014
44015         stat-time-tests: check for the usleep function
44016         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
44017
44018 2009-10-10  Bruno Haible  <bruno@clisp.org>
44019
44020         * modules/xnanosleep: Put the Link section after the Include section.
44021
44022 2009-10-09  Eric Blake  <ebb9@byu.net>
44023
44024         dup2: work around FreeBSD 6.1 bug
44025         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
44026         * doc/posix-functions/dup2.texi (dup2): Document it.
44027         Reported by Nelson H. F. Beebe and Jim Meyering.
44028
44029         test-stat-time: port to buggy NFS clients
44030         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
44031         (test_ctime): Also skip test if mtime and ctime are skewed.
44032
44033         maint: prefer 'file system' over 'filesystem'
44034         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44035         * doc/posix-functions/lstat.texi (lstat): Likewise.
44036         * lib/file-has-acl.c (file_has_acl): Likewise.
44037         * lib/fwriteerror.c [TEST]: Likewise.
44038         * tests/test-areadlink.h (test_areadlink): Likewise.
44039         * tests/test-areadlinkat-with-size.c (main): Likewise.
44040         * tests/test-areadlinkat.c (main): Likewise.
44041         * tests/test-canonicalize-lgpl.c (main): Likewise.
44042         * tests/test-canonicalize.c (main): Likewise.
44043         * tests/test-fstatat.c (main): Likewise.
44044         * tests/test-linkat.c (main): Likewise.
44045         * tests/test-lstat.h (test_lstat_func): Likewise.
44046         * tests/test-mkdir.h (test_mkdir): Likewise.
44047         * tests/test-readlink.h (test_readlink): Likewise.
44048         * tests/test-remove.c (main): Likewise.
44049         * tests/test-rename.h (test_rename): Likewise.
44050         * tests/test-renameat.c (main): Likewise.
44051         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44052         * tests/test-symlink.h (test_symlink): Likewise.
44053         * tests/test-symlinkat.c (main): Likewise.
44054         * tests/test-unlink.h (test_unlink_func): Likewise.
44055         * tests/test-unlinkat.c (main): Likewise.
44056
44057         maint: make realtime library usage explicit
44058         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
44059         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
44060         * modules/settime (Link): Likewise.
44061         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
44062
44063         test-stat-time: speed up execution
44064         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
44065         warning on mingw.
44066         (nap): New helper function.
44067         (prepare_test): Use it to reduce sleep time.
44068         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
44069         execution.
44070         * modules/stat-time-tests (configure.ac): Check for usleep.
44071
44072 2009-10-09  Jim Meyering  <meyering@redhat.com>
44073
44074         selinux-h: always use getfilecon wrappers
44075         * lib/getfilecon.c: New file.
44076         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
44077         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
44078         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
44079         (fgetfilecon): Provide a stub.
44080         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
44081         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
44082         file unconditionally.
44083         When <selinux/selinux.h> is found, arrange to use wrappers.
44084         * modules/selinux-h (Files): Add getfilecon.c.
44085         (Makefile.am): Substitute include-next-related bits
44086         into the now-always-generated selinux/selinux.h file.
44087         * doc/glibc-functions/lgetfilecon.texi: New file.
44088         * doc/glibc-functions/fgetfilecon.texi: New file.
44089         * doc/glibc-functions/getfilecon.texi: New file.
44090         * doc/glibc-functions/getfilecon-desc.texi: New file.
44091         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
44092         which to pull in the new files.
44093         * MODULES.html.sh (Misc): Add selinux-h.
44094
44095 2009-10-08  Jim Meyering  <meyering@redhat.com>
44096
44097         unistd: fix comment typo
44098         * lib/unistd.in.h (euidaccess): Fix a comment typo.
44099
44100 2009-10-08  Eric Blake  <ebb9@byu.net>
44101
44102         areadlink: use SIZE_MAX consistently
44103         * modules/areadlink (Depends-on): Add stdint.
44104         * modules/areadlink-with-size (Depends-on): Likewise.
44105         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
44106         gives NULL; drop sys/types, since unistd gives size_t; and add
44107         stdint for SIZE_MAX.
44108         (SIZE_MAX): Rely on headers.
44109         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
44110         and add stdint.
44111         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
44112         (SIZE_MAX): Likewise.
44113         (INITIAL_BUF_SIZE): Turn into enum.
44114         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
44115
44116 2009-10-08  Jim Meyering  <meyering@redhat.com>
44117
44118         areadlinkat: avoid compilation failure
44119         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
44120         Fix typo in comment.
44121
44122 2009-10-07  Eric Blake  <ebb9@byu.net>
44123
44124         areadlinkat-with-size: new module
44125         * modules/areadlinkat-with-size: New module.
44126         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
44127         * lib/areadlink.h (areadlinkat): Declare it.
44128         * MODULES.html.sh (File system functions): Mention it.
44129         * modules/areadlinkat-with-size-tests: New test.
44130         * tests/test-areadlinkat-with-size.c: New file.
44131
44132         xreadlinkat: new module
44133         * modules/xreadlinkat: New module.
44134         * lib/xreadlinkat.c (xreadlinkat): New file.
44135         * lib/xreadlink.h (xreadlinkat): Declare it.
44136         * MODULES.html.sh (File system functions): Mention it.
44137
44138         areadlinkat: new module
44139         * lib/at-func.c (FUNC_FAIL): New define.
44140         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
44141         * modules/areadlinkat: New module.
44142         * lib/linkat.c (areadlinkat): Move...
44143         * lib/areadlinkat.c (areadlinkat): ...to new file.
44144         * lib/areadlink.h (areadlinkat): Declare it.
44145         * modules/linkat (Depends-on): Add areadlinkat.
44146         * MODULES.html.sh (File system functions): Mention it.
44147         * modules/areadlinkat-tests: New test.
44148         * tests/test-areadlinkat.c: New file.
44149
44150         areadlink, areadlink-with-size: add tests
44151         * modules/areadlink-tests: New test.
44152         * modules/areadlink-with-size-tests: Likewise.
44153         * tests/test-areadlink.h: New file.
44154         * tests/test-areadlink.c: Likewise.
44155         * tests/test-areadlink-with-size.c: Likewise.
44156
44157         maint: minor cleanups
44158         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
44159         _UNUSED_PARAMETER_ instead.
44160         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
44161         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
44162         * modules/linkat-tests (Files): Distribute test-link.h.
44163
44164         openat, utimens: whitespace cleanup
44165         * lib/openat.c: Prefer space throughout, rather than mix of 8
44166         spaces vs. tabs.
44167         * lib/at-func.c: Likewise.
44168         * lib/utimens.c: Likewise.
44169
44170         openat: avoid using wrong fd
44171         * lib/openat.c (openat_permissive): Reject user's fd if saving the
44172         working directory chooses same fd.
44173         * lib/at-func.c (AT_FUNC_NAME): Likewise.
44174
44175         mkdir, mkdirat: fix cygwin 1.5.x bug
44176         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
44177         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
44178         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
44179         bug.
44180         (gl_PREREQ_MKDIR): Delete unused macro.
44181         * modules/mkdir (Files): Track file rename.
44182         (configure.ac): Update macro name.
44183         * modules/openat (Depends-on): Add mkdir.
44184         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
44185
44186         mkdir, mkdirat: add tests
44187         * modules/mkdir-tests: New test.
44188         * tests/test-mkdir.h: New file.
44189         * tests/test-mkdir.c: Likewise.
44190         * tests/test-mkdirat.c: Likewise.
44191         * modules/openat-tests (Files): Add new files.
44192         (Makefile.am): Run new test.
44193
44194 2009-10-06  Eric Blake  <ebb9@byu.net>
44195
44196         doc: tweak *at function documentation
44197         * doc/posix-functions/faccessat.texi (faccessat): Mention
44198         known issue with replacement.
44199         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
44200         * doc/posix-functions/linkat.texi (linkat): Likewise.
44201         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
44202         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
44203         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44204         * doc/posix-functions/renameat.texi (renameat): Likewise.
44205         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
44206
44207         openat: fix GNU/Hurd bug in unlinkat
44208         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
44209         broken.
44210         * doc/posix-functions/unlink.texi (unlink): Document this.
44211         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
44212
44213         fdopendir: fix GNU/Hurd bug
44214         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
44215         allowing non-directory fds.
44216         * lib/fdopendir.c (rpl_fdopendir): Work around it.
44217         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
44218         * modules/dirent (Makefile.am): Substitute it.
44219         * lib/dirent.in.h (fdopendir): Declare replacement.
44220         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
44221         * tests/test-fdopendir.c (main): Test something other than
44222         /dev/null, since on Hurd that behaves like a directory.
44223
44224         test-symlink: port to GNU/Hurd
44225         * tests/test-symlink.h (test_symlink): Relax expected errno.
44226
44227         doc: tweak more cygwin information
44228         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
44229         now compatible with glibc.
44230         * doc/posix-functions/getopt.texi (getopt): Likewise.
44231
44232         getopt-gnu: add another test
44233         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
44234         guarantee behavior relied on by m4.
44235         * tests/test-getopt.c (main): Use it.
44236         * modules/getopt-posix-tests (Depends-on): Add setenv.
44237         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
44238
44239         getopt: fix compilation on darwin
44240         * lib/getopt.in.h (includes): Leave breadcrumbs during system
44241         include.
44242         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
44243         Reported by Ludovic Courtès.
44244
44245 2009-10-06  Bruno Haible  <bruno@clisp.org>
44246
44247         * modules/size_max (Description): Discourage its use.
44248         Reported by Simon Josefsson.
44249
44250 2009-10-06  Jim Meyering  <meyering@redhat.com>
44251
44252         linkat: avoid compilation failure
44253         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
44254
44255 2009-10-05  Eric Blake  <ebb9@byu.net>
44256
44257         linkat: support Linux 2.6.17
44258         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
44259         linkat on Linux, but allow cache variable override.
44260         * lib/linkat.c (rpl_linkat): Define override.
44261         * modules/linkat (Depends-on): Add symlinkat.
44262         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
44263         * modules/unistd (Makefile.am): Substitute it.
44264         * lib/unistd.in.h (linkat): Declare replacement.
44265         Reported by Pádraig Brady.
44266
44267         quotearg: port test to systems with C.UTF-8 locale
44268         * tests/test-quotearg.c (struct result_strings): Add another
44269         member, differentiating between C.ASCII and C.UTF-8 handling.
44270         (compare_strings): Add parameter.
44271         (main): Adjust all callers.
44272
44273         getopt: avoid clash with FreeBSD _getopt_internal
44274         * lib/getopt.in.h (_getopt_internal): Override the name.
44275         * lib/getopt_int.h (includes): Pick up any overrides.
44276         Reported by Reuben Thomas.
44277
44278         hash: allow C89 compilation
44279         * lib/hash.c (check_tuning): Move declaration before statement.
44280         Reported by Reuben Thomas.
44281
44282 2009-10-05  Karl Berry  <karl@gnu.org>
44283
44284         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
44285
44286 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
44287             Bruno Haible  <bruno@clisp.org>
44288
44289         * lib/uname.c (uname): Use a table-driven algorithm to compute
44290         Windows NT versions.
44291
44292 2009-10-04  Bruno Haible  <bruno@clisp.org>
44293
44294         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
44295         program_invocation_short_name.
44296         * modules/progname (configure.ac): Test for presence of
44297         program_invocation_short_name.
44298         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44299
44300 2009-10-04  Bruno Haible  <bruno@clisp.org>
44301
44302         * lib/progname.c (set_program_name): Fix comment.
44303         Reported by Jim Meyering.
44304
44305 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44306             Bruno Haible  <bruno@clisp.org>
44307
44308         * lib/uname.c: Include <string.h>.
44309         (uname): Do only one call to GetVersionEx in the common case.
44310
44311 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44312             Bruno Haible  <bruno@clisp.org>
44313
44314         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
44315         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
44316         (uname): Add support for Windows CE and various non-x86 CPU types.
44317
44318 2009-10-03  Bruno Haible  <bruno@clisp.org>
44319
44320         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
44321         invocation to tests/configure.ac.
44322         Reported by Ian Beckwith <ianb@erislabs.net>.
44323
44324 2009-10-02  Eric Blake  <ebb9@byu.net>
44325
44326         fchdir: avoid compiler warning
44327         * lib/fchdir.c (canonicalize_file_name)
44328         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
44329
44330         test-open: support mingw errno values
44331         * tests/test-open.h (test_open): Relax test.
44332         * tests/test-fopen.h (test_fopen): Likewise.
44333         * tests/test-openat-safer.c (main): Likewise.
44334
44335         open: fix opening directory on mingw
44336         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
44337
44338         test-open: on GNU/Hurd, /dev/null is a directory
44339         * tests/test-fopen.h (main): Rename...
44340         (test_fopen): ...to this.  Use a guaranteed non-directory when
44341         confirming open behavior on trailing slash.
44342         * tests/test-openat-safer.c (main): Likewise.
44343         * tests/test-open.h (main): Likewise....
44344         (test_open): ...to this.
44345         * tests/test-fopen.c (main): Adjust caller.
44346         * tests/test-fopen-safer.c (main): Likewise.
44347         * tests/test-open.c (main): Likewise.
44348         * tests/test-fcntl-safer.c (main): Likewise.
44349         Reported by Samuel Thibault.
44350
44351         rename, fchdir: don't ignore chdir failure
44352         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
44353         * lib/rename.c (rpl_rename) [W32]: Likewise.
44354         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
44355         an empty destination directory if source cannot be renamed,
44356         although there is still possibility for failure.
44357         * doc/posix-functions/rename.texi (rename): Document the race.
44358         Reported by Jim Meyering.
44359
44360         maint: cleanup whitespace in recent commits
44361         * lib/rename.c (rpl_rename): Remove tabs.
44362         * tests/test-link.h (test_link): Likewise.
44363         * lib/fchdir.c (get_name): Likewise.
44364         Reported by Jim Meyering.
44365
44366 2009-10-02  Ben Pfaff  <blp@gnu.org>
44367
44368         relocatable-prog-wrapper: Add missing dependency on
44369         double-slash-root.
44370         * modules/relocatable-prog-wrapper: Add dependency.
44371         Reported by Ian Beckwith <ianb@erislabs.net>.
44372
44373 2009-10-02  Eric Blake  <ebb9@byu.net>
44374
44375         renameat: fix Solaris bugs
44376         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
44377         needed fixing.
44378         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
44379         * modules/stdio (Makefile.am): Substitute it.
44380         * lib/stdio.in.h (renameat): Declare replacement.
44381         * lib/renameat.c (rpl_renameat): Implement fix.
44382
44383         renameat: new module
44384         * modules/renameat: New file.
44385         * lib/renameat.c (renameat): Likewise.
44386         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
44387         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44388         * modules/stdio (Makefile.am): Substitute them.
44389         * lib/stdio.in.h (renameat): Declare it.
44390         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44391         * doc/posix-functions/renameat.texi (renameat): Likewise.
44392         * modules/renameat-tests: New test.
44393         * tests/test-renameat.c: Likewise.
44394
44395         rename: fix mingw bugs
44396         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
44397         directory overwrite bugs.
44398
44399         rename: fix another cygwin 1.5 bug
44400         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
44401         checks.
44402         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
44403         unnecessary cygwin workarounds.  Also work around bug with moving
44404         full directory onto an empty one.
44405         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
44406
44407         rename-dest-slash: merge into rename module
44408         * modules/rename-dest-slash (Status): Mark obsolete.
44409         (Depends-on): Add rename.
44410         (Files): Let rename do it all.
44411         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
44412         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
44413         * m4/rename-dest-slash.m4: ...so this file can be deleted.
44414         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
44415         * lib/rename.c (rpl_rename): Update comments.
44416
44417         rename: fix cygwin 1.5.x bugs
44418         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
44419         * lib/rename.c (rpl_rename): Work around them.
44420         * modules/rename (Depends-on): Add same-inode.
44421
44422         rename: fix Solaris 10 bug
44423         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44424         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
44425         was the only bug.
44426
44427         rename: fix Solaris 9 bug
44428         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
44429         on non-directory.  Avoid calling exit.
44430         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
44431         strdup.
44432         * modules/rename-tests (Depends-on): Drop lstat.
44433         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44434         (gl_PREREQ_RENAME): Delete unused macro.
44435
44436         rename-dest-slash: fix NetBSD bug
44437         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
44438         links.
44439         * modules/rename-dest-slash (Depends-on): Add same-inode.
44440
44441         rename-tests: new test, exposes several platform bugs
44442         * modules/rename-tests: New file.
44443         * tests/test-rename.h: Likewise.
44444         * tests/test-rename.c: Likewise.
44445         * doc/posix-functions/rename.texi (rename): Improve documentation,
44446         including bugs that will eventually be fixed in gnulib.
44447
44448 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
44449
44450         * lib/uname.c: Include <stdlib.h>
44451         (uname): Assume version info is available.
44452
44453 2009-10-02  Jim Meyering  <meyering@redhat.com>
44454
44455         gnu-web-doc-update: correct --help output
44456         * build-aux/gnu-web-doc-update: Make --help output relevant.
44457
44458         gnu-web-doc-update: add standard options
44459         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
44460
44461         gnu-web-doc-update: New module.
44462         Use this script to automatically update the on-line web documentation
44463         for your GNU project at http://www.gnu.org/software/$pkg/manual/
44464         * modules/gnu-web-doc-update: New file, from coreutils.
44465         * build-aux/gnu-web-doc-update: New script.
44466
44467 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
44468
44469         link: LoadLibrary is not needed.
44470         * lib/link.c: Use GetModuleHandle.
44471
44472 2009-10-01  Eric Blake  <ebb9@byu.net>
44473
44474         getopt: bump serial number
44475         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
44476         change.
44477
44478         tests: tighten link, rmdir, and remove tests
44479         * tests/test-link.h (includes): No need to use <config.h> here.
44480         Clean up if directory hard link was created, otherwise test for
44481         trailing '.'.
44482         * tests/test-linkat.c (main): Simplify.
44483         * tests/test-remove.c (main): Enhance test for trailing '.'.
44484         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44485
44486 2009-10-01  Jim Meyering  <meyering@redhat.com>
44487
44488         maint.mk: requiring "make major" was annoying, for a "minor" release.
44489         What is intended is "stable", to contrast with alpha and beta,
44490         so require "make stable", not "make major".
44491         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
44492         (get_tool_versions): Likewise.
44493         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
44494
44495 2009-09-30  Ben Pfaff  <blp@gnu.org>
44496
44497         Fix broken build of replacement for Windows tmpfile().
44498         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
44499         flags argument added along with the 'mkostemp' module.
44500
44501 2009-09-28  Bruno Haible  <bruno@clisp.org>
44502
44503         Avoid identifier clash with POSIX function 'remove' defined as a macro.
44504         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
44505         to 'remove_elt'.
44506         (gl_list_remove): Update.
44507         * lib/gl_list.c (gl_list_remove): Update.
44508         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
44509         to 'remove_elt'.
44510         (gl_oset_remove): Update.
44511         * lib/gl_list.c (gl_oset_remove): Update.
44512         Reported by Eric Blake.
44513
44514 2009-09-28  Eric Blake  <ebb9@byu.net>
44515
44516         doc: mention yet more cygwin 1.7 status
44517         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
44518         cygwin.
44519         * doc/glibc-functions/execvpe.texi (execvpe): New file.
44520         * doc/gnulib.texi (Glibc unistd.h): Mention it.
44521
44522         argp: fix test failure
44523         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
44524         that are not upper-case.  Pass correct range to tolower.
44525
44526 2009-09-27  Jim Meyering  <meyering@redhat.com>
44527
44528         test-yesno: work around sparc-dash here-document infelicity
44529         Without this change, the literal \177 byte in a here document
44530         would make dash 0.5.5.1-3 access uninitialized memory.
44531         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
44532         Instead, use a marker, "@", and filter through tr to create the desired
44533         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
44534
44535 2009-09-27  Bruno Haible  <bruno@clisp.org>
44536
44537         Disable untested support for new flavours of ACLs on AIX.
44538         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
44539         progress.
44540         * lib/set-mode-acl.c (qset_acl): Likewise.
44541
44542 2008-12-07  Bruno Haible  <bruno@clisp.org>
44543
44544         Add support for new flavours of ACLs on AIX. (Untested.)
44545         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
44546         (file_has_acl): Add support for newer AIX.
44547         * lib/set-mode-acl.c (qset_acl): Likewise.
44548         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
44549         Rainer Tammer <tammer@tammer.net>.
44550
44551 2009-09-26  Eric Blake  <ebb9@byu.net>
44552
44553         argp: fix compilation of getopt
44554         * lib/getopt.in.h (includes): Use different guard than glibc.
44555         Reported by Sergey Poznyakoff.
44556
44557         doc: mention more cygwin 1.7 status
44558         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
44559         bug.
44560         * doc/posix-functions/execl.texi (execl): Likewise.
44561         * doc/posix-functions/execle.texi (execle): Likewise.
44562         * doc/posix-functions/execlp.texi (execlp): Likewise.
44563         * doc/posix-functions/execv.texi (execv): Likewise.
44564         * doc/posix-functions/execve.texi (execve): Likewise.
44565         * doc/posix-functions/execvp.texi (execvp): Likewise.
44566         * doc/glibc-functions/canonicalize_file_name.texi
44567         (canonicalize_file_name): Cygwin 1.7 now provides this.
44568         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
44569         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
44570         on AT_SYMLINK_NOFOLLOW.
44571
44572 2009-09-24  Eric Blake  <ebb9@byu.net>
44573
44574         test-linkat: make test more robust
44575         * tests/test-linkat.c (main): Avoid collision with EEXIST.
44576
44577         getopt: fix inclusion guards for cygwin
44578         * modules/getopt-posix (Depends-on): Add include-next.
44579         (Makefile.am): Substitute more items in replacement header.
44580         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
44581         <getopt.h>.
44582         * lib/getopt.in.h (includes): Use split inclusion guard, and
44583         prefer <getopt.h> over include <unistd.h> when one is present.
44584         (option): Also override name of 'struct option'.
44585
44586         same-inode: revert prior change; it is not yet ready
44587         * NEWS: Undo mention of this change.
44588         * lib/same-inode.h (same-inode.h): Undo tri-state change.
44589         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44590         * lib/cycle-check.c (cycle_check): Likewise.
44591         * lib/same.c (same_name): Likewise.
44592         * lib/at-func2.c (at_func2): Likewise.
44593
44594 2009-09-23  Eric Blake  <ebb9@byu.net>
44595
44596         linkat: new module
44597         * modules/linkat: New file.
44598         * lib/at-func2.c (at_func2): Likewise.
44599         * lib/linkat.c (linkat): Likewise.
44600         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
44601         * lib/openat-priv.h (at_func2): Add declaration.
44602         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44603         * modules/unistd (Makefile.am): Substitute them.
44604         * lib/unistd.in.h (linkat): Declare it.
44605         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44606         * doc/posix-functions/linkat.texi (linkat): Likewise.
44607         * doc/posix-functions/link.texi (link): Tweak wording.
44608         * tests/test-link.c (main): Move guts...
44609         * tests/test-link.h (test_link): ...into new file.
44610         * modules/linkat-tests: New test.
44611         * tests/test-linkat.c: Likewise.
44612         * modules/link-tests (Files): Ship new file.
44613         (Depends-on): Add stdbool.
44614
44615         dirname: add library-safe mdir_name
44616         * lib/dirname.h (mdir_name): New prototype.
44617         * lib/dirname.c (dir_name): Move guts...
44618         (mdir_name): ...to new function that avoids xalloc_die.
44619
44620         fchdir: another mingw fix
44621         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
44622         * lib/fchdir.c (get_name): New helper method; skips canonicalize
44623         on mingw (where it has not yet been ported), and make it optional
44624         elsewhere.
44625         (_gl_register_fd): Use it.
44626
44627         same-inode: make SAME_INODE tri-state, to port to mingw
44628         * NEWS: Mention this change.
44629         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
44630         st_ino always being 0.
44631         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44632         * lib/cycle-check.c (cycle_check): Likewise.
44633         * lib/same.c (same_name): Likewise.
44634
44635         lstat: avoid mingw compilation error
44636         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
44637         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
44638         lstat ourselves.
44639         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
44640         was adequate.
44641         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
44642         the checks for lstat.
44643         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
44644
44645         link: fix test failure on Solaris 9
44646         * lib/link.c (rpl_link): Don't assume link will catch bogus
44647         trailing slash on source.
44648
44649         test-symlinkat: enhance test
44650         * tests/test-readlink.c (main): Move guts...
44651         * tests/test-readlink.h (test_readlink): ...into new file.
44652         * tests/test-symlink.c (main): Move guts...
44653         * tests/test-symlink.h (test_symlink): ...into new file.
44654         * tests/test-symlinkat.c (main): Use new files for further
44655         coverage.
44656         (do_symlink, do_readlink): New helper functions.
44657         * modules/symlink-tests (Files): Ship new file.
44658         (Depends-on): Add stdbool.
44659         * modules/readlink-tests (Files): Ship new file.
44660         (Depends-on): Add stdbool.
44661         * modules/symlinkat-tests (Files): Use new files.
44662
44663 2009-09-23  Eric Blake  <ebb9@byu.net>
44664
44665         readlink: document portability issue with symlink length
44666         * doc/posix-functions/lstat.texi (lstat): Mention that some file
44667         systems have bogus st_size on symlinks, and mention the
44668         areadlink-with-size module.
44669         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44670         * doc/posix-functions/readlink.texi (readlink): Mention the
44671         areadlink module, and ERANGE failure.
44672         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44673         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
44674
44675         readlink: fix Solaris 9 bug with trailing slash
44676         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
44677         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
44678         * doc/posix-functions/readlink.texi (readlink): Document this.
44679         * modules/readlink-tests: New test.
44680         * tests/test-readlink.c: Likewise.
44681
44682         readlink: fix cygwin 1.5.x bug with return type
44683         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
44684         * lib/unistd.in.h (readlink): Use ssize_t.
44685         * lib/readlink.c (readlink): Likewise.
44686         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44687         * modules/unistd (Makefile.am): Substitute it.
44688         * lib/unistd.in.h (readlink): Declare replacement.
44689         * doc/posix-functions/readlink.texi (readlink): Document this.
44690
44691         symlink: use throughout gnulib
44692         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
44693         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
44694         symlink is not used.
44695         * modules/symlinkat (Depends-on): Add symlink.
44696         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
44697         * modules/canonicalize-tests (Depends-on): Likewise.
44698         * modules/lstat-tests (Depends-on): Likewise.
44699         * modules/openat-tests (Depends-on): Likewise.
44700         * modules/remove-tests (Depends-on): Likewise.
44701         * modules/rmdir-tests (Depends-on): Likewise.
44702         * modules/unlink-tests (Depends-on): Likewise.
44703         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
44704         * tests/test-canonicalize.c (symlink): Likewise.
44705         * tests/test-fstatat.c (symlink): Likewise.
44706         * tests/test-lstat.c (symlink): Likewise.
44707         * tests/test-remove.c (symlink): Likewise.
44708         * tests/test-rmdir.c (symlink): Likewise.
44709         * tests/test-unlink.c (symlink): Likewise.
44710         * tests/test-unlinkat.c (symlink): Likewise.
44711
44712         symlink: new module, for Solaris 9 bug
44713         * modules/symlink: New file.
44714         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
44715         * lib/symlink.c: Likewise.
44716         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
44717         * modules/unistd (Makefile.am): Substitute them.
44718         * lib/unistd.in.h (symlink): Declare replacement.
44719         * MODULES.html.sh (File system functions): Mention it.
44720         * doc/posix-functions/symlink.texi (symlink): Likewise.
44721         * modules/symlink-tests: New test.
44722         * tests/test-symlink.c: Likewise.
44723
44724 2009-09-23  Bruno Haible  <bruno@clisp.org>
44725
44726         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
44727         when needed.
44728         Test case: gnulib-tool --import --with-tests atexit inttypes.
44729         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
44730
44731 2009-09-23  Bruno Haible  <bruno@clisp.org>
44732
44733         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
44734         subcommand, not in a subshell.
44735
44736 2009-09-22  Eric Blake  <ebb9@byu.net>
44737
44738         unistd: sort replacement declarations
44739         * lib/unistd.in.h: Sort declarations.
44740
44741         open, openat: minor optimization
44742         * lib/open.c (open): If open succeeded, len is non-zero.
44743         * lib/openat.c (rpl_openat): Likewise.
44744
44745         link-follow: ensure correct result
44746         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
44747         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
44748         distinguish between possible failures.
44749
44750 2009-09-21  Eric Blake  <ebb9@byu.net>
44751
44752         fts: avoid compiler warning
44753         * lib/fts.c (dirent_inode_sort_may_be_useful)
44754         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
44755
44756 2009-09-19  Bruno Haible  <bruno@clisp.org>
44757
44758         * lib/progreloc.c (canonicalize_file_name): New declaration.
44759
44760 2009-09-19  Eric Blake  <ebb9@byu.net>
44761
44762         link: fix quoting
44763         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
44764
44765         openat: fix openat bugs on Solaris 9
44766         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
44767         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
44768         * modules/openat (Depends-on): Add open.
44769         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
44770         * modules/fcntl-h (Makefile.am): Substitute it.
44771         * lib/fcntl.in.h (openat): Declare replacement.
44772         * doc/posix-functions/openat.texi (openat): Document this.
44773
44774         openat: move fstatat and unlinkat into correct files
44775         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
44776         compiled.
44777         * lib/openat.c (fstatat, unlinkat): Move...
44778         * lib/fstatat.c (fstatat): ...into correct files.
44779         * lib/unlinkat.c (unlinkat): Likewise.
44780
44781         openat: fix unlinkat bugs on Solaris 9
44782         * lib/unlinkat.c (unlinkat): New file.
44783         * modules/openat (Depends-on): Add unlink.
44784         (Files): Distribute it.
44785         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
44786         trailing slash behavior is broken.
44787         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44788         * modules/unistd (Makefile.am): Substitute it.
44789         * lib/unistd.in.h (unlinkat): Declare replacement.
44790         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
44791
44792         openat: fix fstatat bugs on Solaris 9
44793         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
44794         stat.
44795         * doc/posix-functions/fstatat.texi (fstatat): Document this.
44796
44797         test-unlinkat: enhance test, to expose Solaris 9 bug
44798         * tests/test-unlink.c (main): Factor guts...
44799         * tests/test-unlink.h (test_rmdir_func): ...into new file.
44800         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
44801         * tests/test-rmdir.c (main): Adjust caller.
44802         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
44803         (unlinker): New helper function.
44804         (rmdirat): Enhance check.
44805         * modules/rmdir-tests (Depends-on): Add stdbool.
44806         * modules/unlink-tests (Depends-on): Likewise.
44807         (Files): Add test-unlink.h.
44808         * modules/openat-tests (Files): Likewise.
44809         (Depends-on): Add unlinkdir.
44810
44811         test-fstatat: new test, to expose Solaris 9 bugs
44812         * tests/test-stat.c (main): Factor guts...
44813         * tests/test-stat.h (test_stat_func): ...into new file.
44814         * tests/test-lstat.c (main): Factor guts...
44815         * tests/test-lstat.h (test_lstat_func): ...into new file.
44816         * tests/test-fstatat.c: New file.
44817         * modules/stat-tests (Files): Add test-stat.h.
44818         * modules/lstat-tests (Files): Add test-lstat.h.
44819         (Depends-on): Add stdbool.
44820         * modules/openat-tests (Depends-on): Add pathmax.
44821         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
44822         (Makefile.am): Run new test.
44823
44824         remove: new module, for mingw and Solaris 9 bugs
44825         * modules/remove: New file.
44826         * lib/remove.c: Likewise.
44827         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
44828         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44829         * modules/stdio (Makefile.am): Use them.
44830         * lib/stdio.in.h (remove): Declare replacement.
44831         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44832         * doc/posix-functions/remove.texi (remove): Likewise.
44833         * modules/remove-tests: New test.
44834         * tests/test-remove.c: Likewise.
44835
44836         unlink: new module, for Solaris 9 bug
44837         * modules/unlink: New file.
44838         * lib/unlink.c: Likewise.
44839         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
44840         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44841         * modules/unistd (Makefile.am): Use them.
44842         * lib/unistd.in.h (stat): Declare replacement.
44843         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44844         * doc/posix-functions/unlink.texi (unlink): Likewise.
44845         * modules/unlink-tests: New test.
44846         * tests/test-unlink.c: Likewise.
44847
44848         lstat: fix Solaris 9 bug
44849         * lib/lstat.c (lstat): Also check for trailing slash on
44850         non-symlink, non-directories.  Use stat module to simplify logic.
44851         * doc/posix-functions/lstat.texi (lstat): Document it.
44852         * modules/lstat-tests (Depends-on): Add errno, same-inode.
44853         (configure.ac): Check for symlink.
44854         * tests/test-lstat.c (main): Add more tests.
44855
44856         stat: add as dependency to other modules
44857         * modules/chown (Depends-on): Add stat.
44858         * modules/euidaccess (Depends-on): Likewise.
44859         * modules/fchdir (Depends-on): Likewise.
44860         * modules/isdir (Depends-on): Likewise.
44861         * modules/link (Depends-on): Likewise.
44862         * modules/lstat (Depends-on): Likewise.
44863         * modules/mkdir-p (Depends-on): Likewise.
44864         * modules/modechange (Depends-on): Likewise.
44865         * modules/open (Depends-on): Likewise.
44866         * modules/readlink (Depends-on): Likewise.
44867         * modules/same (Depends-on): Likewise.
44868
44869         stat: fix Solaris 9 bug
44870         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
44871         slash.
44872         * lib/stat.c (rpl_stat): Work around it.
44873         * doc/posix-functions/stat.texi (stat): Update documentation.
44874
44875         stat: new module, for mingw bug
44876         * modules/stat: New file.
44877         * lib/stat.c: Likewise.
44878         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
44879         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44880         * modules/sys_stat (Makefile.am): Use them.
44881         * lib/sys_stat.in.h (stat): Declare replacement.
44882         * lib/openat.c (fstatat): Deal with lstat and stat being function
44883         macros.
44884         * modules/openat (Depends-on): Add inline.
44885         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44886         * doc/posix-functions/stat.texi (stat): Likewise.
44887         * modules/stat-tests: New test.
44888         * tests/test-stat.c: Likewise.
44889
44890 2009-09-19  Jim Meyering  <meyering@redhat.com>
44891
44892         syntax-check: detect unnecessary inclusion of canonicalize.h
44893         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
44894
44895 2009-09-19  Eric Blake  <ebb9@byu.net>
44896
44897         canonicalize-lgpl: adjust clients to use correct header
44898         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
44899         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
44900         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
44901         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
44902         * lib/progreloc.c (includes): Likewise.
44903
44904 2009-09-19  Jim Meyering  <meyering@redhat.com>
44905
44906         test-posixtm.c: correct a comment
44907         * tests/test-posixtm.c: Correct first-line comment.
44908         Spotted by Eric Blake.
44909
44910 2009-09-16  Jim Meyering  <meyering@redhat.com>
44911
44912         posixtm-tests: make T const-correct; add a test case
44913         * tests/test-posixtm.c (T): Declare const.
44914         Add a test for -(2^31+1).
44915         Remove useless can-succeed-only-in-2002 test.
44916
44917         posixtm-tests: adjust the sole failing test
44918         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
44919         expected output matches what mktime now produces.  Cross-checked via
44920         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
44921
44922         posixtm: move #ifdef'd tests into a new module
44923         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
44924         * tests/test-posixtm.c: ... this new file.
44925         * modules/posixtm-tests: New module.
44926
44927 2009-09-19  Eric Blake  <ebb9@byu.net>
44928
44929         openat: simplify use of at-func.c
44930         * lib/at-func.c (includes): Include prerequisites here, to
44931         simplify requirements on client files.
44932         * lib/openat-priv.h: Add double-inclusion guard.
44933         * lib/faccessat.c (includes): Simplify.
44934         * lib/fchmodat.c (includes): Likewise.
44935         * lib/fchownat.c (includes): Likewise.
44936         * lib/mkdirat.c (includes): Likewise.
44937         * lib/mkfifoat.c (includes): Likewise.
44938         * lib/symlinkat.c (includes): Likewise.
44939
44940         openat: allow return of fd 0
44941         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
44942         * modules/save-cwd (Depends-on): Replace fcntl-safer with
44943         unistd-safer.
44944         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
44945         <fcntl.h>; this module does not leak fds.
44946         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
44947         must be allowed to return 0, leaving openat_safer to add the
44948         safety.
44949         (openat_permissive): Avoid writing to just-opened fd 2 if
44950         restoring the current directory fails.
44951         * lib/openat-die.c (openat_restore_fail): Add comment.
44952         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
44953         (save_cwd): Guarantee safe fd, but without use of open_safer.
44954         * tests/test-openat.c: New test.
44955         * modules/openat-tests (Files, Makefile.am): Distribute and build
44956         new file.
44957
44958         relocatable-prog-wrapper: fix build
44959         * modules/relocatable-prog-wrapper (Files): Update name of
44960         canonicalize m4 file, broken on 2009-09-17.
44961         Reported by emad hajjar <aleppos@hotmail.com>.
44962
44963 2009-09-19  Bruno Haible  <bruno@clisp.org>
44964
44965         * lib/safe-alloc.h: Use the standard header with GPL copyright.
44966         * lib/safe-alloc.c: Likewise.
44967         Reported by Ian Beckwith <ianb@erislabs.net>.
44968
44969 2009-09-18  Bruno Haible  <bruno@clisp.org>
44970
44971         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
44972         Reported by <erobles@sensacd.com.mx>.
44973
44974 2009-09-17  Eric Blake  <ebb9@byu.net>
44975
44976         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
44977         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
44978         slashes when checking if last component is missing.
44979         * tests/test-canonicalize.c (main): Test this.
44980
44981         canonicalize, canonicalize-lgpl: honor // if distinct from /
44982         * modules/canonicalize (Files): Add double-slash-root.m4.
44983         * modules/canonicalize-lgpl (Files): Likewise.
44984         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
44985         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
44986         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
44987         fallback definition.
44988         (canonicalize_filename_mode): Use it to protect //.
44989         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
44990         (__realpath): Likewise.
44991         * tests/test-canonicalize.c (main): Test this.
44992         * tests/test-canonicalize-lgpl.c (main): Likewise.
44993         * modules/canonicalize-tests (Depends-on): Add same-inode.
44994         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
44995
44996         canonicalize-lgpl: fix glibc bug with trailing slash
44997         * m4/canonicalize-lgpl.m4: Move contents...
44998         * m4/canonicalize.m4: ...here.
44999         (gl_CANONICALIZE_LGPL): Factor realpath check...
45000         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
45001         glibc 2.3.5 bug, fixed 2005-04-27.
45002         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
45003         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
45004         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
45005         * modules/canonicalize-lgpl (Files): Manage file rename.
45006         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45007         * modules/stdlib (Makefile.am): Substitute witness.
45008         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
45009         is needed.
45010         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
45011         replacement is required.
45012         * lib/canonicalize.c (canonicalize_file_name): Likewise.
45013         * doc/glibc-functions/canonicalize_file_name.texi
45014         (canonicalize_file_name): Document this.
45015         * doc/posix-functions/realpath.texi (realpath): Likewise.
45016
45017         canonicalize-lgpl: reject non-directory with trailing slash
45018         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
45019         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
45020         catches failures in glibc 2.3.5.
45021         * tests/test-canonicalize.c (main): Likewise.
45022
45023         canonicalize-lgpl: use native realpath if it works
45024         * lib/canonicalize-lgpl.c (realpath): Guard with
45025         FUNC_REALPATH_WORKS.
45026         * lib/stdlib.in.h (realpath): Make declaration optional based on
45027         HAVE_REALPATH.
45028         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
45029         native realpath works.
45030         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45031         * modules/stdlib (Makefile.am): Substitute witness.
45032
45033         canonicalize, canonicalize-lgpl: use <stdlib.h>
45034         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
45035         (Include): Mention <stdlib.h>.
45036         (configure.ac): Mention functions we provide.
45037         * modules/canonicalize (configure.ac): Likewise.
45038         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
45039         realpath if canonicalize_file_name is missing.
45040         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
45041         * modules/stdlib (Makefile.am): Substitute witnesses.
45042         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
45043         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
45044         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
45045         * NEWS: Document this.
45046         * doc/glibc-functions/canonicalize_file_name.texi
45047         (canonicalize_file_name): Likewise.
45048         * doc/posix-functions/realpath.texi (realpath): Likewise.
45049         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
45050
45051         test-canonicalize: consolidate into single C program
45052         * tests/test-canonicalize.sh: Delete; move setup into...
45053         * tests/test-canonicalize.c (main): ...the program, making it
45054         easier to run in debugger.  Add some tests.
45055         * modules/canonicalize-tests (Files): Remove unused file.
45056         (Depends-on): Add progname.
45057         (configure.ac, Makefile.am): Simplify.
45058
45059         test-canonicalize-lgpl: consolidate into single C program
45060         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
45061         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
45062         easier to run in debugger.  Add some tests.
45063         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
45064         (configure.ac, Makefile.am): Simplify.
45065
45066         canonicalize: avoid resolvepath
45067         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
45068         unnecessary checks.
45069         * lib/canonicalize.c (includes): Simplify.
45070         (canonicalize_file_name): Drop resolvepath implementation.
45071         * modules/canonicalize (Depends-on): Drop filenamecat.
45072
45073         canonicalize: don't lose errno
45074         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
45075         over calls to free.
45076
45077         canonicalize: simplify errno handling
45078         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
45079         assignment.
45080
45081         canonicalize, canonicalize-lgpl: update module dependencies
45082         * modules/canonicalize (Depends-on): Add extensions, lstat,
45083         pathmax, stdlib.
45084         (Files): Drop pathmax.h.
45085         (configure.ac): Adjust macro name.
45086         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
45087         lstat, stdlib, sys_stat.
45088         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
45089         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
45090         extensions.
45091         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
45092         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
45093         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
45094         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
45095         declaration, if available.
45096         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
45097         we can rely on the readlink module.
45098         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
45099         (includes): Use <unistd.h> unconditionally.
45100
45101 2009-09-17  Eric Blake  <ebb9@byu.net>
45102
45103         maint: make Include sections of modules consistent
45104         * modules/alloca: Use only header name; no need to list #include.
45105         * modules/alloca-opt: Likewise.
45106         * modules/arpa_inet: Likewise.
45107         * modules/canon-host: Likewise.
45108         * modules/configmake: Likewise.
45109         * modules/dirent: Likewise.
45110         * modules/eealloc: Likewise.
45111         * modules/environ: Likewise.
45112         * modules/fchdir: Likewise.
45113         * modules/fcntl: Likewise.
45114         * modules/fcntl-h: Likewise.
45115         * modules/gethrxtime: Likewise.
45116         * modules/gettime: Likewise.
45117         * modules/ignore-value: Likewise.
45118         * modules/inet_ntop: Likewise.
45119         * modules/inet_pton: Likewise.
45120         * modules/inttypes: Likewise.
45121         * modules/isnand-nolibm: Likewise.
45122         * modules/isnanf-nolibm: Likewise.
45123         * modules/mbchar: Likewise.
45124         * modules/mbfile: Likewise.
45125         * modules/mbiter: Likewise.
45126         * modules/mbuiter: Likewise.
45127         * modules/netdb: Likewise.
45128         * modules/netinet_in: Likewise.
45129         * modules/nproc: Likewise.
45130         * modules/pagealign_alloc: Likewise.
45131         * modules/poll: Likewise.
45132         * modules/printf-frexp: Likewise.
45133         * modules/pthread: Likewise.
45134         * modules/putenv: Likewise.
45135         * modules/random_r: Likewise.
45136         * modules/relocatable-prog: Likewise.
45137         * modules/search: Likewise.
45138         * modules/select: Likewise.
45139         * modules/selinux-h: Likewise.
45140         * modules/settime: Likewise.
45141         * modules/signal: Likewise.
45142         * modules/size_max: Likewise.
45143         * modules/socklen: Likewise.
45144         * modules/ssize_t: Likewise.
45145         * modules/stdarg: Likewise.
45146         * modules/stdbool: Likewise.
45147         * modules/stddef: Likewise.
45148         * modules/stdint: Likewise.
45149         * modules/stdio: Likewise.
45150         * modules/stdlib: Likewise.
45151         * modules/string: Likewise.
45152         * modules/strings: Likewise.
45153         * modules/sys_file: Likewise.
45154         * modules/sys_ioctl: Likewise.
45155         * modules/sys_select: Likewise.
45156         * modules/sys_socket: Likewise.
45157         * modules/sys_stat: Likewise.
45158         * modules/sys_time: Likewise.
45159         * modules/sys_times: Likewise.
45160         * modules/sys_utsname: Likewise.
45161         * modules/sys_wait: Likewise.
45162         * modules/sysexits: Likewise.
45163         * modules/time: Likewise.
45164         * modules/times: Likewise.
45165         * modules/tmpfile: Likewise.
45166         * modules/trim: Likewise.
45167         * modules/unistd: Likewise.
45168         * modules/wchar: Likewise.
45169         * modules/wctype: Likewise.
45170
45171 2009-09-17  Bruno Haible  <bruno@clisp.org>
45172
45173         Make getdate.y compile on QNX and NetBSD 5 / i386.
45174         * m4/getdate.m4 (gl_GETDATE): Conditionally define
45175         TIME_T_FITS_IN_LONG_INT.
45176         * lib/getdate.y (long_time_t): New type.
45177         (relative_time): Change type of 'seconds' field to long_time_t.
45178         (get_date): Update types of local variables. Check against overflow
45179         during conversion from long_time_t to time_t.
45180         Reported by Matt Kraai <kraai@ftbfs.org>
45181         and Hasso Tepper <hasso@netbsd.org>.
45182
45183 2009-09-17  Bruno Haible  <bruno@clisp.org>
45184
45185         * modules/COPYING: Update copyright years.
45186         * modules/README: Likeiwse.
45187         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
45188         Reported by Ian Beckwith <ianb@erislabs.net>.
45189
45190 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45191
45192         * users.txt: Update references for gnuit package.
45193
45194 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45195
45196         * m4/getdelim.m4: Fix typo in copyright line.
45197
45198 2009-09-17  Bruno Haible  <bruno@clisp.org>
45199
45200         * lib/atoll.c: Use the standard header with GPL copyright.
45201         * lib/argz.in.h: Likewise.
45202         * lib/glob.c: Likewise.
45203         * lib/glob-libc.h: Likewise.
45204         * lib/random_r.c: Likewise.
45205         * lib/siglist.h: Likewise.
45206         * lib/strsignal.c: Likewise.
45207         Reported by Ian Beckwith <ianb@erislabs.net>.
45208
45209 2009-09-17  Eric Blake  <ebb9@byu.net>
45210
45211         rmdir: ensure correct dependency order
45212         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
45213
45214 2009-09-17  Bruno Haible  <bruno@clisp.org>
45215
45216         Disable assertion that fails on NetBSD 5 / i386.
45217         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
45218         Reported by Sam Steingold <sds@gnu.org>
45219         and Hasso Tepper <hasso@netbsd.org>.
45220
45221 2009-09-16  Eric Blake  <ebb9@byu.net>
45222
45223         unlinkdir: port to mingw
45224         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
45225         on which no one can unlink a directory.
45226
45227         stdlib: sort witness names
45228         * modules/stdlib (Makefile.am): Sort replacements.
45229         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
45230         * lib/stdlib.in.h: Likewise.
45231
45232         parse-duration-tests: avoid link failure
45233         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
45234         LIBINTL.
45235         Reported by Tom G. Christensen.
45236
45237         openat-tests: ensure unlinkat behaves like rmdir
45238         * tests/test-rmdir.c (main): Factor guts...
45239         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
45240         * modules/rmdir-tests (Files): Ship new file.
45241         * modules/openat-tests: New test.
45242         * tests/test-unlinkat.c: Likewise.
45243
45244         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
45245         * modules/rmdir-errno (Status, Notice): Now obsolete.
45246
45247         rmdir: work around cygwin 1.5.x and mingw bugs
45248         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
45249         * lib/rmdir.c (rmdir): Work around it.
45250         * modules/rmdir (Status, Notice): No longer obsolete.
45251         (Files): Add dos.m4.
45252         (Depends-on): Add unistd.
45253         (configure.ac): Set witnesses.
45254         (License): Relax to LGPLv2+.
45255         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
45256         * modules/unistd (Makefile.am): Substitute witnesses.
45257         * lib/unistd.in.h (rmdir): Declare replacement.
45258         * doc/posix-functions/rmdir.texi (rmdir): Document this.
45259         * modules/rmdir-tests: New tests.
45260         * tests/test-rmdir.c: Likewise.
45261
45262 2009-09-15  Eric Blake  <ebb9@byu.net>
45263
45264         fchdir: improve use of replacement functions
45265         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
45266         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
45267         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
45268         REPLACE_CLOSEDIR.
45269         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
45270         * modules/sys_stat (Makefile.am): Substitute correct witness.
45271         * modules/dirent (Makefile.am): Likewise.
45272         * modules/unistd (Makefile.am): Likewise.
45273         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
45274         * lib/unistd.in.h (dup): Likewise.
45275         * lib/sys_stat.in.h (fstat): Likewise.
45276
45277         maint: ignore gnulib-tool temp files
45278         * .gitignore: Ignore files created during gnulib-tool --test.
45279
45280 2009-09-13  Jim Meyering  <meyering@redhat.com>
45281
45282         posixtm: don't reject a time that specify "60" as the number of seconds
45283         * lib/posixtm.c (posixtime): The code to reject invalid dates
45284         would also reject a time specified with the .60 suffix.
45285         But POSIX allows that, in order to accommodate leap seconds.
45286         So don't reject it.
45287         (main): Adjust tests accordingly.
45288         * modules/posixtm (Depends-on): Add stpcpy.
45289
45290 2009-09-11  Jim Meyering  <meyering@redhat.com>
45291
45292         announce-gen: include [$release_type] in emitted Subject:
45293         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
45294         e.g., [stable] in the emitted Subject: line.
45295
45296 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45297
45298         Remove obsolete macros from several modules.
45299         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
45300         obsolete Autoconf macros with their modern counterparts.
45301         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
45302         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
45303         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
45304         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
45305         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
45306         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45307         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45308         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45309         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
45310         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
45311         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
45312         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
45313         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
45314         * m4/sockets.m4 (gl_SOCKETS): Likewise.
45315         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
45316         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
45317         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
45318         * m4/time_r.m4 (gl_TIME_R): Likewise.
45319         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
45320         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
45321         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
45322
45323         Fix copyright header in build-aux scripts.
45324         * build-aux/git-version-gen: Fix copyright header to match GPLv3
45325         recommendation.
45326         * build-aux/ncftpput-ftp: Likewise.
45327         * build-aux/update-copyright: Likewise.
45328
45329 2009-09-09  Eric Blake  <ebb9@byu.net>
45330
45331         test-link: allow Linux choice of errno
45332         * tests/test-link.c (main): Relax test for alternate error.
45333
45334         strndup: fix improper m4 caching
45335         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
45336         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
45337         (gl_PREREQ_STRNDUP): Delete.
45338         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
45339         * modules/string (Makefile.am): Substitute it.
45340         * lib/string.in.h (strndup): Modernize prototype.
45341
45342         getcwd: port to mingw
45343         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
45344         different from the POSIX assumptions made throughout the getcwd
45345         module; fortunately, the mingw getcwd does not need replacement.
45346         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
45347         * modules/getcwd-tests: New test.
45348         * tests/test-getcwd.c: Likewise.
45349
45350         link: fix platform bugs
45351         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
45352         * lib/link.c (link): Work around them.  Fix related mingw bug.
45353         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
45354         * modules/unistd (Makefile.am): Substitute it.
45355         * lib/unistd.in.h (link): Declare replacement.
45356         * doc/posix-functions/link.texi (link): Document this.
45357         * modules/link (Depends-on): Add strdup-posix, sys_stat.
45358
45359         test-link: consolidate into single C program, test more cases
45360         * tests/test-link.sh: Delete.
45361         * tests/test-link.c: Test more error conditions.  Exposes bugs on
45362         at least Cygwin and Solaris.
45363         * modules/link-tests (Files): Remove unused file.
45364         (Depends-on): Add errno, sys_stat.
45365         (Makefile.am): Simplify.
45366
45367 2009-09-08  Bruno Haible  <bruno@clisp.org>
45368
45369         Work around towlower, towupper bug on mingw.
45370         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
45371         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
45372         * doc/posix-functions/towlower.texi: Mention the mingw bug.
45373         * doc/posix-functions/towupper.texi: Likewise.
45374         Reported by Eric Blake.
45375
45376 2009-09-08  Jim Meyering  <meyering@redhat.com>
45377
45378         build: don't try to run autoheader if we don't use it
45379         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
45380         is not used in configure.ac.
45381
45382 2009-09-08  Eric Blake  <ebb9@byu.net>
45383
45384         euidaccess: fix compilation error
45385         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
45386
45387         rawmemchr: relax license
45388         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
45389         okay.
45390         Reported by Jim Meyering.
45391
45392         mkfifoat: new module
45393         * modules/mkfifoat: New file.
45394         * lib/mkfifoat.c: Likewise.
45395         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
45396         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45397         * modules/sys_stat (Makefile.am): Use them.
45398         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
45399         * MODULES.html.sh (File system functions): Mention module.
45400         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
45401         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
45402         * modules/mkfifoat-tests: New test.
45403         * tests/test-mkfifoat.c: Likewise.
45404
45405         strchrnul: relax license
45406         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
45407         okay.
45408         Reported by Jim Meyering.
45409
45410 2009-09-08  Eric Blake  <ebb9@byu.net>
45411
45412         fstatat: fix compilation on Solaris
45413         * lib/fstatat.c (includes): Add fcntl.h.
45414         Reported by Pádraig Brady.
45415
45416 2009-09-07  Eric Blake  <ebb9@byu.net>
45417
45418         rename: modernize replacement
45419         * modules/rename (Depends-on): Add stdio.
45420         (configure.ac): Declare witness.
45421         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
45422         stdio take care of replacement.
45423         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45424         * modules/stdio (Makefile.am): Substitute them.
45425         * lib/stdio.in.h (rename): Declare replacement.
45426         * lib/rename.c (includes): Allow cross-compilation to non-windows
45427         machines.
45428         * doc/posix-functions/rename.texi (rename): Improve
45429         documentation.
45430
45431         stdio: sort witness names
45432         * modules/stdio (Makefile.am): Sort replacements.
45433         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45434         * lib/stdio.in.h: Likewise.
45435
45436         getcwd: minor cleanups
45437         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
45438         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
45439
45440         openat: provide more convenience names
45441         * modules/faccessat (configure.ac): Add C witness.
45442         * lib/unistd.in.h (readlinkat): Fix typo.
45443         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
45444         convenience wrappers.
45445         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
45446         wrappers in syntax checks.
45447
45448 2009-09-06  Eric Blake  <ebb9@byu.net>
45449
45450         doc: fix comments in recent patches
45451         * lib/faccessat.c: Mention correct function.
45452         * lib/fchmodat.c: Likewise.
45453         * lib/fchownat.c: Likewise.
45454         * lib/symlinkat.c: Likewise.
45455         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
45456         constants.
45457
45458         faccessat, symlinkat: continue cleanup of previous patch
45459         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
45460         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45461         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
45462         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
45463         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
45464         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
45465         set.
45466
45467 2009-09-06  Bruno Haible  <bruno@clisp.org>
45468
45469         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
45470         (fstatat): Declare if GNULIB_FSTATAT is set.
45471         (mkdirat): Declare if GNULIB_MKDIRAT is set.
45472         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
45473         (unlinkat): Declare if GNULIB_UNLINKAT is set.
45474         * modules/fcntl-h (Files): Remove m4/openat.m4.
45475         * modules/sys_stat (Files): Remove m4/openat.m4.
45476         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
45477         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
45478         * modules/unistd (Files): Remove m4/openat.m4.
45479         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
45480         GNULIB_OPENAT.
45481         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
45482         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
45483         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
45484         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
45485         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
45486         gl_OPENAT_DEFAULTS.
45487         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
45488         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
45489         Don't require gl_OPENAT_DEFAULTS.
45490         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
45491         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
45492         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
45493         (gl_OPENAT_DEFAULTS): Remove macro.
45494
45495 2009-09-06  Bruno Haible  <bruno@clisp.org>
45496
45497         * modules/openat (configure.ac): Remove unneeded witness.
45498
45499 2009-09-06  Bruno Haible  <bruno@clisp.org>
45500
45501         Set errno to ENOSYS when a function is entirely unsupported.
45502         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
45503         EOPNOTSUPP.
45504         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45505         * modules/chown (Depends-on): Remove errno.
45506
45507 2009-09-06  Bruno Haible  <bruno@clisp.org>
45508
45509         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
45510
45511 2009-09-06  Bruno Haible  <bruno@clisp.org>
45512
45513         * lib/sys_stat.in.h: Fix preprocessor command indentation.
45514
45515 2009-09-06  Ben Pfaff  <blp@gnu.org>
45516             Bruno Haible  <bruno@clisp.org>
45517
45518         Work around a glibc bug in strtok_r.
45519         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
45520         Undefine if UNDEFINE_STRTOK_R is set.
45521         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
45522         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45523         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
45524         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
45525         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
45526         UNDEFINE_STRTOK_R.
45527         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
45528
45529 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
45530
45531         exclude: minor fix
45532         * lib/exclude.c: Include wctype.h
45533
45534 2009-09-06  Akim Demaille  <demaille@gostai.com>
45535
45536         bootstrap: improve error message
45537         * build-aux/bootstrap (find_tool): Upon failure, report the list
45538         of candidates.
45539         Honor the initial value of the envvar.
45540
45541 2009-09-05  Eric Blake  <ebb9@byu.net>
45542
45543         symlinkat: new module
45544         * modules/symlinkat: New file.
45545         * lib/symlinkat.c: Likewise.
45546         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
45547         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45548         * modules/unistd (Makefile.am): Use them.
45549         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
45550         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
45551         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
45552         * MODULES.html.sh (File system functions): Mention module.
45553         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
45554         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45555         * modules/symlinkat-tests: New test.
45556         * tests/test-symlinkat.c: Likewise.
45557
45558         test-openat-safer: add more checks
45559         * tests/test-openat-safer.c (main): Check more code paths.
45560
45561 2009-09-05  Jim Meyering  <meyering@redhat.com>
45562
45563         syntax-check: detect unnecessary inclusion of openat.h
45564         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
45565
45566 2009-09-05  Bruno Haible  <bruno@clisp.org>
45567
45568         Support towlower, towupper.
45569         * doc/posix-functions/towlower.texi: Mention module wctype.
45570         * doc/posix-functions/towupper.texi: Likewise.
45571         * lib/wctype.in.h (towlower, towupper): New functions.
45572         * tests/test-wctype.c: Include stdio.h, stdlib.h.
45573         (ASSERT): New macro.
45574         (e): New variable.
45575         (main): Test also towlower, towupper. Test WEOF argument.
45576         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45577
45578 2009-09-05  Bruno Haible  <bruno@clisp.org>
45579
45580         Fix conversion behaviour when the input is invalid.
45581         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
45582         mark occurring in first pass of indirect conversion.
45583         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
45584         input.
45585         Found by clang's static analyzer.
45586
45587 2009-09-05  Bruno Haible  <bruno@clisp.org>
45588
45589         * tests/test-striconveh.c (main): Test indirect conversion on platforms
45590         where direct conversion is possible.
45591
45592 2009-09-04  Eric Blake  <ebb9@byu.net>
45593
45594         openat: fail with ENOENT on empty name
45595         * lib/openat-proc.c (openat_proc_name): Special-case the empty
45596         buffer.
45597
45598         link-follow: fix logic bug in prior patch
45599         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
45600         reversed sense of yes and no in prior patch.  Avoid confusing
45601         compilation failure with desired semantics.
45602
45603         link-follow: accommodate mingw and cross-compilation
45604         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
45605         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
45606         cross-compilation results to -1, to make linkat easier to
45607         implement when cross-compiling.  Trivially support mingw.
45608         * modules/link-follow (configure.ac): Call new name.
45609         * NEWS: Mention this.
45610
45611 2009-09-03  Eric Blake  <ebb9@byu.net>
45612
45613         faccessat: compile replacement
45614         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
45615         needed.
45616
45617         fts: fix compilation error
45618         * lib/fts.c (includes): Re-add "openat.h", for
45619         openat_needs_fchdir.
45620
45621         faccessat: new module
45622         * modules/faccessat: New file.
45623         * lib/faccessat.c: Likewise.
45624         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45625         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45626         * modules/unistd (Makefile.am): Use it.
45627         * lib/unistd.in.h (faccessat): Declare it.
45628         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
45629         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
45630         * MODULES.html.sh (File system functions): Mention it.
45631         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
45632         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
45633
45634         euidaccess: prefer POSIX over non-standard implementation
45635         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
45636         * lib/euidaccess.c (euidaccess): Use it if available.
45637
45638         openat: make template easier to use
45639         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
45640         AT_FUNC_F2 to be undefined.
45641         (VALIDATE_FLAG): New macro; use it to reject bad flags.
45642         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
45643         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
45644         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
45645         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
45646         Likewise.
45647         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
45648         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
45649         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
45650         Likewise.
45651
45652         openat: declare in POSIX headers
45653         * NEWS: Mention this.
45654         * modules/openat (configure.ac): Declare witnesses.
45655         (Depends-on): Add fcntl-h, sys_stat, unistd.
45656         (Include): Mention correct headers.
45657         * modules/fcntl-h (Depends-on): Add link-warning.
45658         (Files): Add openat.m4.
45659         (Makefile.am): Substitute witnesses.
45660         * modules/sys_stat (Files, Makefile.am): Likewise.
45661         * modules/unistd (Files, Makefile.am): Likewise.
45662         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
45663         (gl_OPENAT_DEFAULTS): New macro.
45664         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
45665         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
45666         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
45667         (SYS_STAT_H): Remove unused variable.
45668         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
45669         * lib/fcntl--.h (includes): Remove unneeded header.
45670         * lib/openat-safer.c (includes): Likewise.
45671         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
45672         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
45673         appropriate headers.
45674         (__OPENAT_PREFIX): Delete.
45675         * lib/fcntl.in.h (openat): Provide declaration.
45676         (AT_FDCWD): Fix Solaris bug.
45677         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
45678         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
45679         * lib/fchmodat.c (includes):  Adjust to find declaration.
45680         * lib/fchownat.c (includes): Likewise.
45681         * lib/mkdirat.c (includes): Likewise.
45682         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
45683         still visible.
45684
45685 2009-09-02  Eric Blake  <ebb9@byu.net>
45686
45687         errno: use consistently
45688         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
45689         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
45690         * lib/canonicalize.c (ELOOP): Likewise.
45691         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
45692         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
45693         * lib/lchown.c (EOPNOTSUPP): Likewise.
45694         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
45695         * lib/savewd.c (ESTALE): Likewise.
45696         * lib/settime.c (ENOSYS): Likewise.
45697         * lib/utimens.c (ENOSYS): Likewise.
45698         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
45699         * lib/chdir-safer.c (ELOOP): Likewise.
45700         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
45701         * modules/c-stack (Depends-on): Add errno.
45702         * modules/canonicalize (Depends-on): Likewise.
45703         * modules/chdir-safer (Depends-on): Likewise.
45704         * modules/fdopendir (Depends-on): Likewise.
45705         * modules/inet_ntop (Depends-on): Likewise.
45706         * modules/inet_pton (Depends-on): Likewise.
45707         * modules/lchown (Depends-on): Likewise.
45708         * modules/openat (Depends-on): Likewise.
45709         * modules/savewd (Depends-on): Likewise.
45710         * modules/settime (Depends-on): Likewise.
45711         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
45712
45713         fts: avoid leaking fds
45714         * modules/fts (Depends-on): Add cloexec.
45715         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
45716         flag.
45717
45718         fts: make directory fds more robust
45719         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
45720         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
45721
45722         backupfile, chdir-long, fts, savedir: make safer
45723         * lib/backupfile.c (includes): Use "dirent--.h", since
45724         numbered_backup can write to stderr during readdir.
45725         * lib/savedir.c (includes): Likewise.
45726         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
45727         emulation can write to stderr on failure.
45728         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
45729         * lib/getcwd.c: Document why opendir_safer is unused.
45730         * lib/glob.c: Likewise.
45731         * lib/scandir.c: Likewise.
45732         * lib/openat-proc.c: Likewise, for open_safer.
45733         * modules/backupfile (Depends-on): Add dirent-safer.
45734         * modules/savedir (Depends-on): Likewise.
45735         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
45736         * modules/chdir-long (Depends-on): Add openat-safer.
45737
45738         openat-safer: new module
45739         * modules/openat-safer: New file.
45740         * lib/openat-safer.c: Likewise.
45741         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
45742         * lib/fcntl-safer.h (openat_safer): Declare.
45743         * lib/fcntl--.h (openat): Override.
45744         * MODULES.html.sh (File descriptor based I/O): Mention it.
45745         * lib/openat.h: Add double-inclusion guards.
45746         * lib/openat.c (includes): Only include "fcntl-safer.h", not
45747         "fcntl--.h", so we can implement openat.
45748         * modules/openat-safer-tests: New test.
45749         * tests/test-openat-safer.c: New file.
45750
45751         dirent-safer: new module
45752         * modules/dirent-safer: New file.
45753         * lib/dirent--.h: Likewise.
45754         * lib/dirent-safer.h: Likewise.
45755         * lib/opendir-safer.c: Likewise.
45756         * m4/dirent-safer.m4: Likewise.
45757         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
45758         * modules/dirent-safer-tests: New test.
45759         * tests/test-dirent-safer.c: New file.
45760         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
45761
45762         fdopendir: optimize on mingw
45763         * lib/unistd.in.h (_gl_directory_name): New prototype.
45764         * lib/fchdir.c (_gl_directory_name): Implement it.
45765         (fchdir): Use it to simplify implementation.
45766         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
45767         fchdir, when available, to avoid calling [f]chdir().
45768
45769         fdopendir: split into its own module
45770         * lib/openat.c (fdopendir): Move...
45771         * lib/fdopendir.c: ...into new file.
45772         * modules/fdopendir: New module.
45773         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
45774         * modules/openat (Depends-on): Add fdopendir.
45775         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
45776         fdopendir here.
45777         * modules/savedir (Depends-on): Only need fdopendir, not full
45778         openat.
45779         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
45780         * lib/openat.h (fdopendir): Drop prototype.
45781         * lib/dirent.in.h (fdopendir): Provide prototype.
45782         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
45783         * modules/dirent (Makefile.am): Substitute them.
45784         * MODULES.html.sh (File system functions): Mention it.
45785         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
45786         * modules/fdopendir-tests: New file.
45787         * tests/test-fdopendir.c: Likewise.
45788
45789         fchdir: use more consistent macro convention
45790         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
45791         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
45792         REPLACE_FCHDIR, rather than relying on config.h macros.
45793         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
45794         inside a single make-time REPLACE_FCHDIR block, rather than using
45795         the config.h FCHDIR_REPLACEMENT.
45796         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
45797         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
45798         Manage fstat replacement.
45799         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
45800         REPLACE_FCHDIR.
45801         * modules/sys_stat (Files): Add m4/unistd_h.m4.
45802         (Makefile.am): Substitute REPLACE_FCHDIR.
45803         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
45804         FCHDIR_REPLACEMENT.
45805         * lib/dup-safer.c (dup_safer): Likewise.
45806         * lib/dup2.c (rpl_dup2): Likewise.
45807         * lib/dup3.c (rpl_dup3): Likewise.
45808         * lib/open.c (rpl_open): Likewise.
45809
45810         fchdir: simplify error handling, and support dup3
45811         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
45812         stdbool, malloc-posix, realloc-posix.
45813         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
45814         (ensure_dirs_slot): Return false on allocation failure.
45815         (rpl_dup2): Delete.
45816         (_gl_register_dup): New function.
45817         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
45818         (_gl_register_fd): Close fd on allocation failure.
45819         * lib/fcntl.in.h (_gl_register_fd): Update signature.
45820         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
45821         prototype.
45822         (rpl_dup2_fchdir): Delete prototype.
45823         * lib/open.c (open): Update caller.
45824         * lib/dup2.c (dup2): Track fchdir metadata.
45825         * lib/dup3.c (dup3): Likewise.
45826         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
45827         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
45828
45829 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45830
45831         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
45832         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
45833         don't pass arguments to AC_OUTPUT.
45834
45835 2009-09-02  Bruno Haible  <bruno@clisp.org>
45836
45837         * modules/mkdtemp (License): Relicense under LGPLv2+.
45838         Reported by Paolo Bonzini.
45839
45840 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45841
45842         Replace uses of obsolete autoconf macros in Jim's modules.
45843         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
45844         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
45845         can evoke a warning from autoconf when run with -Wobsolete
45846         enabled.  They were declared obsolete for good reasons (see
45847         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
45848         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
45849         should not continue using the deprecated macros.
45850         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
45851         obsolete Autoconf macros with modern counterparts.
45852         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
45853         * m4/dos.m4 (gl_AC_DOS): Likewise.
45854         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
45855         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
45856         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
45857         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
45858         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
45859         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
45860         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
45861         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
45862         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
45863         Likewise.
45864         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
45865         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
45866         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
45867         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
45868         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
45869         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
45870
45871 2009-09-01  Eric Blake  <ebb9@byu.net>
45872
45873         fchdir: fix off-by-one bug in previous patch
45874         * lib/fchdir.c (rpl_fstat): Use correct bounds.
45875         (_gl_unregister_fd): Delete useless if.
45876
45877 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
45878
45879         maint.mk: sort the list of syntax-check rules
45880         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
45881         easier to get a sense of progress when the rules are run sequentially
45882         and take a long time.
45883
45884 2009-09-01  Simon Josefsson  <simon@josefsson.org>
45885
45886         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
45887         * modules/netinet_in: Likewise.
45888         * modules/sys_file: Likewise.
45889         * modules/sys_ioctl: Likewise.
45890         * modules/sys_select: Likewise.
45891         * modules/sys_socket: Likewise.
45892         * modules/sys_stat: Likewise.
45893         * modules/sys_time: Likewise.
45894         * modules/sys_times: Likewise.
45895         * modules/sys_utsname: Likewise.
45896         * modules/sys_wait: Likewise.
45897
45898 2009-09-01  Jim Meyering  <meyering@redhat.com>
45899
45900         fts: help ensure that return values are not ignored
45901         * lib/fts_.h (__GNUC_PREREQ): Define.
45902         (__attribute_warn_unused_result__): Define.
45903         (fts_children, fts_close, fts_open, fts_read): Declare with
45904         __attribute_warn_unused_result__.
45905
45906         fts: fts_close now fails also when closing a dir file descriptor fails
45907         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
45908         and propagate to caller, along with errno.
45909
45910         announce-gen: correct formatting in --help output
45911         * build-aux/announce-gen (usage): Move the one-line description in
45912         --help output "up", to where it belongs, just after Usage:.
45913
45914 2009-08-31  Eric Blake  <ebb9@byu.net>
45915
45916         fchdir: port to mingw
45917         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
45918         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
45919         opened, then use a substitute.
45920         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
45921         replacement.
45922         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
45923         (_gl_register_fd): No need to check stat if open already filters
45924         all directories.
45925         (fchdir): Fix error condition to match POSIX.
45926         * modules/fchdir (Depends-on): Add sys_stat.
45927         * doc/posix-functions/open.texi (open): Document the limitation.
45928         * modules/fchdir-tests: New file.
45929         * tests/test-fchdir.c: Likewise.
45930
45931         canonicalize: allow cross-testing from cygwin to mingw
45932         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
45933         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
45934         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
45935         Likewise.
45936         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
45937         target does not support symlinks.
45938         * tests/test-canonicalize-lgpl.sh: Likewise.
45939
45940         chown: avoid compilation warning on mingw
45941         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
45942         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
45943         mingw.
45944         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45945         * modules/chown (Depends-on): Add errno.
45946
45947 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
45948
45949         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
45950         command.
45951
45952 2009-08-31  Jim Meyering  <meyering@redhat.com>
45953
45954         canonicalize: remove useless initialization
45955         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
45956         initialization of local, "end".
45957
45958 2009-08-30  Bruno Haible  <bruno@clisp.org>
45959
45960         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
45961         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
45962         ENOSYS.
45963
45964 2009-08-30  Bruno Haible  <bruno@clisp.org>
45965
45966         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
45967         /usr/xpg4/bin/tr when it exists.
45968         * tests/test-pipe-filter-gi1.sh: Likewise.
45969
45970 2009-08-30  Bruno Haible  <bruno@clisp.org>
45971
45972         Work around deficient /usr/bin/id program on Solaris.
45973         * tests/test-file-has-acl.sh (ID): New variable.
45974         * tests/test-set-mode-acl.sh (ID): Likewise.
45975         * tests/test-copy-acl.sh (ID): Likewise.
45976         * tests/test-copy-file.sh (ID): Likewise.
45977
45978 2009-08-30  Bruno Haible  <bruno@clisp.org>
45979
45980         New module 'xstriconveh'.
45981         * lib/xstriconveh.h: New file.
45982         * lib/xstriconveh.c: New file.
45983         * modules/xstriconveh: New file.
45984
45985 2009-08-30  Bruno Haible  <bruno@clisp.org>
45986
45987         Make it easier to use mem_cd_iconveh.
45988         * lib/striconveh.h (iconveh_t): New type.
45989         (iconveh_open, iconveh_close): New declarations.
45990         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
45991         with a single 'const iconveh_t *' argument.
45992         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
45993         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
45994         with a single 'const iconveh_t *' argument.
45995         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
45996         * tests/test-striconveh.c (main): Update.
45997         * NEWS: Mention the change.
45998
45999 2009-08-30  Bruno Haible  <bruno@clisp.org>
46000
46001         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
46002         problem.
46003
46004 2009-08-30  Bruno Haible  <bruno@clisp.org>
46005
46006         Work around iconv_open problem on Solaris.
46007         * lib/iconv_open-solaris.gperf: New file.
46008         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
46009         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
46010         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
46011         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
46012         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
46013         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
46014
46015 2009-08-29  Jim Meyering  <meyering@redhat.com>
46016
46017         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
46018         * top/maint.mk (cvs-check): Remove target; it was just an alias
46019         to the better-named vc-diff-check.
46020         (maintainer-distcheck): Remove rule.  It was used only from
46021         the (alpha/beta/major) target, and all of its commands but one
46022         were coreutils-specific.
46023         (vc-dist): Remove rule.
46024         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
46025         Run vc-diff-check, not vc-dist.
46026         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
46027
46028 2009-08-27  Bruno Haible  <bruno@clisp.org>
46029
46030         * tests/test-bitrotate.c (main): Remove test that uses a shift count
46031         of 0.
46032
46033 2009-08-27  Bruno Haible  <bruno@clisp.org>
46034
46035         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
46036         compilers.
46037         * doc/func.texi: Document the SunPRO C bug.
46038
46039 2009-08-27  Bruno Haible  <bruno@clisp.org>
46040
46041         Fix link error on Solaris.
46042         * tests/test-parse-duration.c (xstrdup): Remove function.
46043
46044 2009-08-26  Pádraig Brady  <P@draigbrady.com>
46045
46046         ignore-value: handle pointer types, too
46047         * lib/ignore-value.h (__attribute__): Remove definition.
46048         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
46049         of a more concise and more-often effective "(void) i" statement.
46050         (ignore_ptr): New function to suppress warnings from functions that
46051         return pointers, and to make it explicit that one function doesn't
46052         handle all cases.
46053
46054 2009-08-25  Bruno Haible  <bruno@clisp.org>
46055
46056         dup2: work around a Linux bug.
46057         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
46058         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
46059         * doc/posix-functions/dup2.texi: Mention the Linux bug.
46060         Reported by Simon Josefsson.
46061
46062 2009-08-25  Jim Meyering  <meyering@redhat.com>
46063
46064         libguestfs uses gnulib
46065         * users.txt: Add libguestfs.
46066
46067 2009-08-24  Eric Blake  <ebb9@byu.net>
46068
46069         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
46070         * lib/pipe2.c (includes): Add binary-io.h.
46071         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
46072
46073 2009-08-24  Bruno Haible  <bruno@clisp.org>
46074
46075         Tolerate declared but missing accept4 syscall.
46076         * lib/accept4.c (accept4): Invoke original accept4 function first, if
46077         available.
46078         * lib/sys_socket.in.h (accept4): If the function is already present,
46079         override it.
46080         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
46081         * modules/accept4 (Makefile.am): Compile accept4.c always.
46082         Reported by Paolo Bonzini and Eric Blake.
46083
46084 2009-08-23  Bruno Haible  <bruno@clisp.org>
46085
46086         New module 'accept4'.
46087         * lib/sys_socket.in.h (accept4): New declaration.
46088         * lib/accept4.c: New file.
46089         * m4/accept4.m4: New file.
46090         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46091         GNULIB_ACCEPT4, HAVE_ACCEPT4.
46092         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
46093         HAVE_ACCEPT4.
46094         * modules/accept4: New file.
46095         * doc/glibc-functions/accept4.texi: Mention the new module.
46096
46097 2009-08-24  Jim Meyering  <meyering@redhat.com>
46098
46099         progname: also set global program_invocation_name, when possible
46100         Before this change, a libtool-enabled program that calls glibc's
46101         error function would report the program name as
46102         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
46103         * modules/progname (configure.ac): Check for a declaration of
46104         program_invocation_name.
46105         * lib/progname.c:  Include <errno.h>.
46106         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
46107         Set program_invocation_name.
46108
46109 2009-08-23  Bruno Haible  <bruno@clisp.org>
46110
46111         * lib/dup3.c: Include <string.h>.
46112
46113 2009-08-23  Bruno Haible  <bruno@clisp.org>
46114
46115         * lib/dup3.c (dup3): Test only once whether the system actually exists.
46116         * lib/pipe2.c (pipe2): Likewise.
46117         Suggested by Eric Blake.
46118
46119 2009-08-23  Bruno Haible  <bruno@clisp.org>
46120
46121         Tolerate declared but missing dup3 syscall.
46122         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
46123         * lib/unistd.in.h (dup3): If the function is already present,
46124         override it.
46125         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
46126         * modules/dup3 (Makefile.am): Compile dup3.c always.
46127         Reported by Paolo Bonzini.
46128
46129 2009-08-23  Bruno Haible  <bruno@clisp.org>
46130
46131         Tolerate declared but missing pipe2 syscall.
46132         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
46133         available.
46134         * lib/unistd.in.h (pipe2): If the function is already present,
46135         override it.
46136         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
46137         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
46138         Reported by Paolo Bonzini.
46139
46140 2009-08-23  Bruno Haible  <bruno@clisp.org>
46141
46142         * lib/pipe2.c (pipe2): Move #ifs inside function.
46143
46144 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46145
46146         quotearg: document limitations of quote_these_too
46147         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
46148         those limitations are created.
46149         * lib/quotearg.h (set_char_quoting): Document that digits and
46150         letters that are special after backslash are not permitted.
46151         (quotearg_char): Cross-reference set_char_quoting documentation.
46152
46153 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
46154
46155         quotearg: implement custom_quoting_style
46156         * lib/quotearg.c: (struct quoting_options): Add left_quote and
46157         right_quote fields.
46158         (set_custom_quoting): New public function.
46159         (quotearg_buffer_restyled): Add left_quote and right_quote
46160         arguments, handle them very much like locale quoting, and update
46161         all uses.
46162         (quotearg_n_custom): New public function.
46163         (quotearg_n_custom_mem): New public function.
46164         (quotearg_custom): New public function.
46165         (quotearg_custom_mem): New public function.
46166         * lib/quotearg.h: Prototype and document new public functions.
46167         (enum quoting_style): For escape_quoting_style and
46168         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
46169         ignored even though they're otherwise like c_quoting_style.
46170         Add custom_quoting_style member and document with comparison to
46171         clocale_quoting_style.
46172         * tests/test-quotearg.c (custom_quotes): New array.
46173         (custom_results): New array.
46174         (main): Extend to test custom quoting.
46175
46176 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46177
46178         quotearg: fix right quote escaping when it's in quote_these_too
46179         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
46180         quote, be sure to prepend only one backslash.
46181         * tests/test-quotearg.c (use_quote_double_quotes): New function.
46182         (main): Test it.
46183
46184 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46185
46186         quotearg-tests: test escaping of embedded locale quotes
46187         * tests/test-quotearg.c (struct result_strings): Add member for
46188         new input.
46189         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
46190         (inputs): Add new input.
46191         (results_g): Add expected results.
46192         (flag_results): Likewise.
46193         (locale_results): Likewise.
46194         (compare_strings): Check those.
46195
46196 2009-08-23  Bruno Haible  <bruno@clisp.org>
46197
46198         Tests for module 'dup3'.
46199         * modules/dup3-tests: New file.
46200         * tests/test-dup3.c: New file.
46201
46202         New module 'dup3'.
46203         * lib/unistd.in.h (dup3): New declaration.
46204         * lib/dup3.c: New file.
46205         * m4/dup3.m4: New file.
46206         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
46207         HAVE_DUP3.
46208         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
46209         * modules/dup3: New file.
46210         * doc/glibc-functions/dup3.texi: Mention the new module.
46211
46212 2009-08-23  Bruno Haible  <bruno@clisp.org>
46213
46214         Tweak the dup2 test.
46215         * tests/test-dup2.c (main): Create the test file empty. Verify that an
46216         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
46217         the test file is still empty. Fix argument order of lseek.
46218
46219 2009-08-23  Bruno Haible  <bruno@clisp.org>
46220
46221         Avoid test link errors when the modules getopt-gnu, gettext are used.
46222         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
46223         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46224
46225 2009-08-23  Bruno Haible  <bruno@clisp.org>
46226
46227         Fix getdtablesize() on mingw.
46228         * lib/getdtablesize.c (getdtablesize): Implement differently.
46229         * lib/unistd.in.h (getdtablesize): Improve comment.
46230
46231 2009-08-23  Bruno Haible  <bruno@clisp.org>
46232
46233         New module 'mkostemp'.
46234         Based on Ulrich Drepper's 2007-08-10 change in glibc.
46235         * lib/stdlib.in.h (mksotemp): New declaration.
46236         * lib/mkostemp.c: New file, from glibc with modifications.
46237         * lib/tempname.h (GT_FILE): Remove outdated comment.
46238         (gen_tempname): Add flags argument.
46239         * lib/tempname.c (__GT_BIGFILE): Remove macro.
46240         (__GT_FILE): Map to 1.
46241         (small_open, large_open): Remove macros.
46242         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
46243         * lib/mkstemp.c (mkstemp): Update.
46244         * lib/mkdtemp.c (mkdtemp): Likewise.
46245         * m4/mkostemp.m4: New file.
46246         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
46247         HAVE_MKOSTEMP.
46248         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
46249         HAVE_MKOSTEMP.
46250         * modules/mkostemp: New file, based on modules/mkstemp.
46251         * doc/glibc-functions/mkostemp.texi: Mention the new module.
46252         * NEWS: Mention the change.
46253
46254 2009-08-23  Bruno Haible  <bruno@clisp.org>
46255
46256         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
46257         Reported by Eric Blake.
46258
46259 2009-08-23  Bruno Haible  <bruno@clisp.org>
46260
46261         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
46262         Reported by Eric Blake.
46263
46264 2009-08-23  Bruno Haible  <bruno@clisp.org>
46265
46266         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
46267         * modules/pipe2 (Depends-on): Likewise.
46268
46269 2009-08-23  Eric Blake  <ebb9@byu.net>
46270
46271         fcntl-h: add O_TTY_INIT support
46272         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
46273         * tests/test-fcntl-h.c (o): Test it.
46274         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46275
46276         fcntl-h: rename from fcntl, in preparation for fcntl(2)
46277         * modules/fcntl: Move <fcntl.h> header replacement...
46278         * modules/fcntl-h: ...to new name, so as not to collide with
46279         like-named function.
46280         * tests/test-fcntl.c: Rename...
46281         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
46282         * modules/fcntl-tests: Rename...
46283         * modules/fcntl-h-tests: ...to this.  Update test file name.
46284         * modules/chdir-long (Depends-on): Update clients.
46285         * modules/chdir-safer (Depends-on): Likewise.
46286         * modules/fcntl-safer (Depends-on): Likewise.
46287         * modules/fts (Depends-on): Likewise.
46288         * modules/mkancesdirs (Depends-on): Likewise.
46289         * modules/mkdir-p (Depends-on): Likewise.
46290         * modules/open (Depends-on): Likewise.
46291         * modules/savewd (Depends-on): Likewise.
46292         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
46293         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46294
46295 2009-08-22  Bruno Haible  <bruno@clisp.org>
46296
46297         * modules/binary-io (License): Relicense under LGPL.
46298         * modules/pipe2 (License): Likewise.
46299
46300 2009-08-22  Bruno Haible  <bruno@clisp.org>
46301
46302         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
46303         return value.
46304         * lib/pipe-filter-gi.c (filter_init): Likewise.
46305         Reported by Eric Blake.
46306
46307 2009-08-22  Bruno Haible  <bruno@clisp.org>
46308
46309         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
46310         * modules/pipe (Depends-on): Add pipe2.
46311
46312 2009-08-22  Bruno Haible  <bruno@clisp.org>
46313
46314         Tests for module 'pipe2'.
46315         * modules/pipe2-tests: New file.
46316         * tests/test-pipe2.c: New file.
46317
46318         New module 'pipe2'.
46319         * lib/unistd.in.h (pipe2): New declaration.
46320         * lib/pipe2.c: New file.
46321         * m4/pipe2.m4: New file.
46322         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
46323         HAVE_PIPE2.
46324         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
46325         * modules/pipe2: New file.
46326         * doc/glibc-functions/pipe2.texi: Mention the new module.
46327
46328 2009-08-22  Bruno Haible  <bruno@clisp.org>
46329
46330         Reference some new glibc functions.
46331         * doc/glibc-functions/accept4.texi: New file.
46332         * doc/glibc-functions/dup3.texi: New file.
46333         * doc/glibc-functions/mkostemp.texi: New file.
46334         * doc/glibc-functions/pipe2.texi: New file.
46335         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
46336         (Glibc sys/socket.h): Refer to accept4.
46337         (Glibc unistd.h): Refer to dup3, pipe2.
46338         Reported by Eric Blake.
46339
46340 2009-08-22  Jim Meyering  <meyering@redhat.com>
46341             Bruno Haible  <bruno@clisp.org>
46342
46343         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
46344         This makes it so packages using automake-1.11's silent-rules option
46345         can print e.g., a single "GEN    configmake.h" line, rather than
46346         the 30+ statements that perform the job.  If you want to see the
46347         actual commands, you can still run "make V=1".
46348         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
46349         so that make output is abbreviated when those variables are defined
46350         appropriately.
46351         * modules/argz: Likewise.
46352         * modules/arpa_inet: Likewise.
46353         * modules/byteswap: Likewise.
46354         * modules/configmake: Likewise.
46355         * modules/dirent: Likewise.
46356         * modules/errno: Likewise.
46357         * modules/fcntl: Likewise.
46358         * modules/float: Likewise.
46359         * modules/fnmatch: Likewise.
46360         * modules/getopt-posix: Likewise.
46361         * modules/glob: Likewise.
46362         * modules/iconv_open: Likewise.
46363         * modules/inttypes: Likewise.
46364         * modules/localcharset: Likewise.
46365         * modules/locale: Likewise.
46366         * modules/math: Likewise.
46367         * modules/netdb: Likewise.
46368         * modules/netinet_in: Likewise.
46369         * modules/poll: Likewise.
46370         * modules/posix_spawnp-tests: Likewise.
46371         * modules/sched: Likewise.
46372         * modules/search: Likewise.
46373         * modules/selinux-h: Likewise.
46374         * modules/signal: Likewise.
46375         * modules/spawn: Likewise.
46376         * modules/stdarg: Likewise.
46377         * modules/stdbool: Likewise.
46378         * modules/stddef: Likewise.
46379         * modules/stdint: Likewise.
46380         * modules/stdio: Likewise.
46381         * modules/stdlib: Likewise.
46382         * modules/string: Likewise.
46383         * modules/strings: Likewise.
46384         * modules/sys_file: Likewise.
46385         * modules/sys_ioctl: Likewise.
46386         * modules/sys_select: Likewise.
46387         * modules/sys_socket: Likewise.
46388         * modules/sys_stat: Likewise.
46389         * modules/sys_time: Likewise.
46390         * modules/sys_times: Likewise.
46391         * modules/sys_utsname: Likewise.
46392         * modules/sys_wait: Likewise.
46393         * modules/sysexits: Likewise.
46394         * modules/time: Likewise.
46395         * modules/unistd: Likewise.
46396         * modules/wchar: Likewise.
46397         * modules/wctype: Likewise.
46398
46399 2009-08-22  Jim Meyering  <meyering@redhat.com>
46400
46401         announce-gen: detect write failure
46402         * build-aux/announce-gen: Add Coda at end.
46403         Remove equivalent-but-more-verbose block at top.
46404
46405 2009-08-19  Akim Demaille  <demaille@gostai.com>
46406
46407         bootstrap: --help to stdout.
46408         * bootstrap (usage): Don't send --help to stderr.
46409         Use a here doc instead of a long string.
46410
46411 2009-08-21  Eric Blake  <ebb9@byu.net>
46412
46413         test-popen-safer: split from test-popen
46414         * tests/test-popen.c (main): Move...
46415         * tests/test-popen.h: ...into new file.
46416         * tests/test-popen-safer2.c: New file.
46417         * modules/popen-tests (Files): Add test-popen.h.
46418         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
46419         Suggested by Bruno Haible.
46420
46421         test-fcntl-safer: split from test-open
46422         * tests/test-open.c (main): Move...
46423         * tests/test-open.h: ...into new file.
46424         * tests/test-fcntl-safer.c: New file.
46425         * modules/open-tests (Files): Add test-open.h.
46426         * modules/fcntl-safer-tests: New file.
46427         Suggested by Bruno Haible.
46428
46429         test-fopen-safer: split from test-fopen
46430         * tests/test-fopen.c (main): Move...
46431         * tests/test-fopen.h: ...into new file.
46432         * tests/test-fopen-safer.c: New file.
46433         * modules/fopen-tests (Files): Add test-fopen.h.
46434         * modules/fopen-safer-tests: New file.
46435         Suggested by Bruno Haible.
46436
46437 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46438
46439         popen-safer: test O_CLOEXEC at run-time.
46440         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
46441
46442 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46443
46444         fcntl: move more flags to the header
46445         * lib/cloexec.c: Do not define FD_CLOEXEC here.
46446         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
46447         * lib/fcntl.in.h: Do both things here.
46448
46449 2009-08-21  Jim Meyering  <meyering@redhat.com>
46450
46451         consistently remove $@-t before redirecting to it
46452         * modules/argz: Remove $@-t and $@ before redirecting to the former.
46453         * modules/alloca-opt: Likewise.
46454         * modules/byteswap: Likewise.
46455         * modules/fnmatch: Likewise.
46456         * modules/getopt-posix: Likewise.
46457         * modules/glob: Likewise.
46458         * modules/poll: Likewise.
46459         * modules/posix_spawnp-tests: Likewise.
46460         * modules/sys_socket: Likewise.
46461         * modules/sysexits: Likewise.
46462
46463 2009-08-21  Eric Blake  <ebb9@byu.net>
46464
46465         popen: simplify access to original popen
46466         * lib/popen.c (rpl_popen): No need to worry about popen being a
46467         macro.
46468         Reported by Bruno Haible.
46469
46470 2009-08-20  Eric Blake  <ebb9@byu.net>
46471
46472         build: avoid some compiler warnings
46473         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
46474         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
46475         type.
46476         (new_exclude_segment, excluded_file_pattern_p)
46477         (excluded_file_name_p): Reduce scope.
46478         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
46479         old-style declaration.
46480
46481 2009-08-20  Simon Josefsson  <simon@josefsson.org>
46482
46483         * tests/test-exclude1.sh: Handle Windows EOL.
46484         * tests/test-exclude2.sh: Likewise.
46485         * tests/test-exclude3.sh: Likewise.
46486         * tests/test-exclude4.sh: Likewise.
46487         * tests/test-exclude5.sh: Likewise.
46488         * tests/test-exclude6.sh: Likewise.
46489         * tests/test-exclude7.sh: Likewise.
46490
46491 2009-08-19  Akim Demaille  <demaille@gostai.com>
46492
46493         bootstrap: find sha1sum when named gsha1sum.
46494         * bootstrap (find_tool): New.
46495         ($SHA1SUM): New.
46496         Use it.
46497
46498 2009-08-20  Jim Meyering  <meyering@redhat.com>
46499
46500         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
46501         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
46502         expression that converts "." in a file name to "\." in the resulting
46503         regexp.  Start with a dummy statement, so that prior shell variable
46504         definitions are expanded portably.  Reported by Simon Josefsson.
46505
46506 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
46507
46508         Fix polling for writeability of a screen buffer.
46509         * lib/poll.c: Distinguish input and screen buffers for the
46510         Win32 implementation.
46511         * lib/select.c: Likewise.
46512
46513 2009-08-19  Eric Blake  <ebb9@byu.net>
46514
46515         popen-safer: prevent popen from clobbering std descriptors
46516         * modules/popen-safer: New file.
46517         * lib/popen-safer.c: Likewise.
46518         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
46519         * lib/stdio--.h (popen): Provide override.
46520         * lib/stdio-safer.h (popen_safer): Provide declaration.
46521         * tests/test-popen.c (includes): Partially test this.
46522         * modules/popen-safer-tests: New file, for more tests.
46523         * tests/test-popen-safer.c: Likewise.
46524         * MODULES.html.sh (file stream based Input/Output): Mention it.
46525
46526         tests: test some of the *-safer modules
46527         * modules/fopen-safer (Depends-on): Add fopen.
46528         * modules/fcntl-safer (Depends-on): Add fcntl.
46529         * modules/stdlib-safer (Depends-on): Add stdlib.
46530         (configure.ac): Set indicator.
46531         * modules/unistd-safer (configure.ac): Likewise.
46532         * modules/tmpfile-safer (configure.ac): Likewise.
46533         (Depends-on): Add tmpfile.
46534         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
46535         active.
46536         * tests/test-fopen.c (includes): Test safer versions when they are
46537         in use.
46538         * tests/test-open.c (includes): Likewise.
46539
46540         popen: fix cygwin 1.5 bug when stdin closed
46541         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
46542         * modules/popen: New file.
46543         * modules/popen-tests: Likewise.
46544         * tests/test-popen.c: Likewise.
46545         * m4/popen.m4: Likewise.
46546         * lib/popen.c: Likewise.
46547         * lib/stdio.in.h (popen): New declaration.
46548         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
46549         * modules/stdio (Makefile.am): Likewise.
46550         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
46551
46552 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
46553
46554         maint.mk: give full control over update-copyright exclusions
46555         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
46556         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
46557         (update-copyright): Don't force inclusion of top-level
46558         ChangeLog.  Don't force exclusion of all COPYING files, but make
46559         them the default exclusion instead.
46560
46561 2009-08-16  Bruno Haible  <bruno@clisp.org>
46562
46563         Fix test failures on Solaris 10.
46564         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
46565         tests when Solaris iconv() is used.
46566         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
46567         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
46568         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
46569         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
46570         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
46571
46572 2009-08-16  Bruno Haible  <bruno@clisp.org>
46573
46574         Fix test failures on Solaris 10.
46575         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
46576         'tr' program and pass it as first argument.
46577         * tests/test-pipe-filter-gi1.sh: Likewise.
46578         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
46579         program as first argument.
46580         * tests/test-pipe-filter-gi1.c (main): Likewise.
46581
46582 2009-08-16  Eric Blake  <ebb9@byu.net>
46583
46584         fpurge: fix previous commits
46585         * modules/fpurge (Makefile.am): Make replacement conditional,
46586         partially reverting 2007-04-29 change; missed in previous
46587         attempt.
46588         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
46589         is missing.
46590
46591 2009-08-16  Bruno Haible  <bruno@clisp.org>
46592
46593         Clarify fpurge's effect on the file position.
46594         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
46595         * tests/test-fpurge.c (main): Make a second pass for checking the file
46596         position.
46597
46598 2009-08-16  Bruno Haible  <bruno@clisp.org>
46599
46600         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
46601         declaration of fpurge is missing.
46602         * tests/test-fpurge.c (main): Check that the file has not more contents
46603         than expected. Close the file before removing it.
46604
46605 2009-08-15  Eric Blake  <ebb9@byu.net>
46606
46607         fpurge: don't wrap working cygwin implementation
46608         * lib/fpurge.c (fpurge): Fix comment typo.
46609         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
46610         1.7 to avoid replacement.
46611         * tests/test-fpurge.c (main): Enhance test.
46612
46613 2009-08-15  Eric Blake  <ebb9@byu.net>
46614         and Jim Meyering  <meyering@redhat.com>
46615
46616         test-update-copyright: skip if perl is insufficient
46617         * tests/test-update-copyright.sh: Failure to run maintainer tool
46618         should not cause testsuite failure on cygwin 1.5.
46619
46620 2009-08-14  Eric Blake  <ebb9@byu.net>
46621
46622         doc: mention more functions added in cygwin 1.7.0
46623         * doc/posix-headers/limits.texi (limits.h): Update for recent
46624         cygwin additions.
46625         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
46626         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
46627         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
46628         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
46629         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
46630
46631 2009-08-14  Eric Blake  <ebb9@byu.net>
46632
46633         maint.mk: simplify update-copyright rule
46634         * top/maint.mk (update-copyright-local): Delete, and document how
46635         to do it in cfg.mk instead.
46636         (update-copyright-exclude-regexp): Delete, and document how to do
46637         it in .x-update-copyright instead.
46638         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
46639         exclude ChangeLog.
46640
46641 2009-08-14  Bruno Haible  <bruno@clisp.org>
46642
46643         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
46644
46645 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46646
46647         maint.mk: support update-copyright-env
46648         * top/maint.mk (update-copyright-env): Define place-holder.
46649         (update-copyright): Expand $(update-copyright-env) before
46650         invoking update-copyright.
46651
46652 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46653
46654         update-copyright: implement forced reformatting
46655         * build-aux/update-copyright: Implement and document
46656         UPDATE_COPYRIGHT_FORCE.
46657         * tests/test-update-copyright.sh: Test it.
46658
46659 2009-08-14  Eric Blake  <ebb9@byu.net>
46660         and Bruno Haible  <bruno@clisp.org>
46661
46662         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
46663         * tests/test-locale.c: Revert previous patch related to NULL.
46664         * tests/test-stdio.c: Likewise.
46665         * tests/test-stdlib.c: Likewise.
46666         * tests/test-string.c: Likewise.
46667         * tests/test-unistd.c: Likewise.
46668         * modules/time-tests (Depends-on): Add verify.
46669         * modules/wchar-tests (Depends-on): Likewise.
46670         * tests/test-time.c: Test for NULL compliance.
46671         * tests/test-wchar.c: Likewise.
46672         * modules/locale (Depends-on): Add stddef.
46673         * modules/stdio (Depends-on): Likewise.
46674         * modules/stdlib (Depends-on): Likewise.
46675         * modules/string (Depends-on): Likewise.
46676         * modules/time (Depends-on): Likewise.
46677         * modules/unistd (Depends-on): Likewise.
46678         * modules/wchar (Depends-on): Likewise.
46679         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
46680         * lib/stdlib.in.h (includes): Likewise.
46681         * lib/string.in.h (includes): Likewise.
46682         * lib/time.in.h (includes): Likewise.
46683         * lib/unistd.in.h (includes): Likewise.
46684         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
46685         replaced.
46686         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
46687         * m4/stddef_h.m4: New file.
46688         * modules/stddef: Likewise.
46689         * lib/stddef.in.h: Likewise.
46690         * modules/stddef-tests: Likewise.
46691         * tests/test-stddef.c: Likewise.
46692         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
46693         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
46694         * doc/posix-headers/locale.texi (locale.h): Likewise.
46695         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
46696         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
46697         * doc/posix-headers/string.texi (string.h): Likewise.
46698         * doc/posix-headers/time.texi (time.h): Likewise.
46699         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
46700         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
46701
46702 2009-08-14  Eric Blake  <ebb9@byu.net>
46703
46704         doc: improve git diff of texinfo files
46705         * .gitattributes: Add rule for *.texi files, with hint on how to
46706         use it.
46707         Copied from m4, and based on a report by Bruno Haible.
46708
46709 2009-08-14  Bruno Haible  <bruno@clisp.org>
46710
46711         Disable multithread support by default on Cygwin 1.5.x for real.
46712         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
46713
46714 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46715
46716         update-copyright: much ado about intervals
46717         * build-aux/update-copyright: Implement and document
46718         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
46719         of copyright year intervals.
46720         Also, document UPDATE_COPYRIGHT_YEAR.
46721         * tests/test-update-copyright.sh: Test it.
46722
46723         update-copyright: convert 2-digit to 4-digit years
46724         * build-aux/update-copyright: Implement and document.
46725         * tests/test-update-copyright.sh: Update.
46726
46727 2009-08-14  Jim Meyering  <meyering@redhat.com>
46728
46729         test-exclude: avoid coreutils "make check" failure
46730         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
46731         just as in test-argmatch.c.
46732
46733 2009-08-13  Eric Blake  <ebb9@byu.net>
46734
46735         test-dup2: fix bad assumption
46736         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
46737         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
46738
46739         test-version-etc: fix CRLF portability issue
46740         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
46741         recognize \r.
46742         * tests/test-argp-version-etc-1.sh: Likewise.
46743
46744         getopt: update client modules
46745         * modules/argp (Depends-on): Use getopt-gnu.
46746         * modules/git-merge-changelog (Depends-on): Likewise.
46747         * modules/long-options (Depends-on): Likewise.
46748         * modules/xstrtol (Depends-on): Likewise.
46749
46750 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46751
46752         * tests/test-version-etc.sh: Don't fail on different
46753         project/version.  Don't fail on CRLF differences.  Rewrite to use
46754         multiple -e instead of multiple sed forks, suggested by Eric Blake
46755         <ebb9@byu.net>.
46756         * tests/test-argp-version-etc-1.sh: Likewise.
46757
46758 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46759
46760         * tests/test-version-etc.sh: Don't fail on different
46761         project/version.
46762
46763 2009-08-12  Bruno Haible  <bruno@clisp.org>
46764
46765         Tests for modules 'getopt-posix', 'getopt-gnu'.
46766         * modules/getopt-posix-tests: New file.
46767         * tests/test-getopt.c: New file.
46768         * tests/test-getopt.h: New file.
46769         * tests/test-getopt_long.h: New file.
46770
46771         New modules 'getopt-posix', 'getopt-gnu'.
46772         * modules/getopt-gnu: New file, renamed from modules/getopt.
46773         * modules/getopt-posix: New file.
46774         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
46775         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
46776         (gl_GETOPT): Remove macro.
46777         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
46778         Disable the test against BSD systems that declare optreset. Test
46779         against mingw bug. Test against lack of support of optional arguments
46780         on many platforms.
46781         * doc/glibc-headers/getopt.texi: Update module name and list of
46782         relevant platforms.
46783         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
46784         'getopt-gnu' and more portability problems.
46785         * NEWS: Mention the changes.
46786
46787 2009-08-12  Bruno Haible  <bruno@clisp.org>
46788
46789         Ensure that optarg etc. get declared by <unistd.h>.
46790         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
46791         AC_USE_SYSTEM_EXTENSIONS.
46792         * modules/getopt (Depends-on): Add 'extensions'.
46793
46794 2009-08-12  Bruno Haible  <bruno@clisp.org>
46795
46796         Avoid test link errors.
46797         * modules/pipe-filter-ii-tests (Makefile.am): Define
46798         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
46799         * modules/pipe-filter-gi-tests (Makefile.am): Define
46800         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
46801         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46802
46803 2009-08-12  Bruno Haible  <bruno@clisp.org>
46804
46805         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
46806         gl_GETOPT_SUBSTITUTE before.
46807         (gl_GETOPT): Use it.
46808         * m4/argp.m4 (gl_ARGP): Update.
46809         Reported by Sergey Poznyakoff.
46810
46811         * m4/getopt.m4: Reorder macros.
46812         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
46813         (gl_GETOPT_SUBSTITUTE): Remove macro.
46814
46815 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46816
46817         Minor improvement in gitlog-to-changelog
46818
46819         * build-aux/gitlog-to-changelog: New option `--format' makes
46820         output format string configurable.
46821
46822 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46823
46824         Optimize exclude: use hash tables for non-wildcard patterns.
46825
46826         * lib/exclude.c: Include hash.h and mbuiter.h
46827         (struct exclude_pattern, exclude_segment): New data types.
46828         (struct exclude): Rewrite.
46829         (fnmatch_pattern_has_wildcards): New function.
46830         (new_exclude_segment, free_exclude_segment): New functions.
46831         (excluded_file_pattern_p, excluded_file_name_p): New functions.
46832         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
46833         * lib/exclude.h (is_fnmatch_pattern): New prototype.
46834         * modules/exclude: Depend on hash and mbuiter.
46835
46836         * modules/exclude-tests: New file.
46837         * tests/test-exclude.c: New file.
46838         * tests/test-exclude1.sh: New file.
46839         * tests/test-exclude2.sh: New file.
46840         * tests/test-exclude3.sh: New file.
46841         * tests/test-exclude4.sh: New file.
46842         * tests/test-exclude5.sh: New file.
46843         * tests/test-exclude6.sh: New file.
46844         * tests/test-exclude7.sh: New file.
46845
46846 2009-08-12  Bruno Haible  <bruno@clisp.org>
46847
46848         Ensure that getopt() gets declared by <unistd.h>.
46849         * lib/unistd.in.h: Conditionally include getopt.h.
46850         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
46851         Set GNULIB_UNISTD_H_GETOPT.
46852         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46853         GNULIB_UNISTD_H_GETOPT.
46854         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
46855
46856 2009-08-12  Bruno Haible  <bruno@clisp.org>
46857
46858         Clarify logic.
46859         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
46860         gl_replace_getopt instead of GETOPT_H.
46861
46862 2009-08-12  Bruno Haible  <bruno@clisp.org>
46863
46864         * m4/getopt.m4: Add comments.
46865
46866 2009-08-12  Bruno Haible  <bruno@clisp.org>
46867
46868         Disable multithread support by default on Cygwin 1.5.x.
46869         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
46870         set gl_use_threads=no if not specified otherwise.
46871
46872 2009-08-11  Bruno Haible  <bruno@clisp.org>
46873
46874         Avoid compilation error on NetBSD 5.0.
46875         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
46876         * tests/test-stdio.c: Likewise.
46877         * tests/test-stdlib.c: Likewise.
46878         * tests/test-string.c: Likewise.
46879         * tests/test-unistd.c: Likewise.
46880         Reported by Greg Troxel <gdt@ir.bbn.com>
46881         at <https://savannah.gnu.org/support/?106973>.
46882
46883 2009-08-11  Bruno Haible  <bruno@clisp.org>
46884
46885         * modules/dup2-tests (Depends-on): Remove close.
46886
46887         Undo 2009-07-19 commit.
46888         * modules/acl-tests (Depends-on): Remove close.
46889         * modules/binary-io-tests (Depends-on): Likewise.
46890         * modules/closein-tests (Depends-on): Likewise.
46891         * modules/flock-tests (Depends-on): Likewise.
46892         * modules/fsync-tests (Depends-on): Likewise.
46893         * modules/lseek-tests (Depends-on): Likewise.
46894         * modules/pipe-tests (Depends-on): Likewise.
46895         * modules/posix_spawn-tests (Depends-on): Likewise.
46896         * modules/posix_spawnp-tests (Depends-on): Likewise.
46897         * modules/stat-time-tests (Depends-on): Likewise.
46898         * modules/yesno-tests (Depends-on): Likewise.
46899
46900 2009-08-10  Bruno Haible  <bruno@clisp.org>
46901
46902         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
46903
46904 2009-08-10  Bruno Haible  <bruno@clisp.org>
46905
46906         Fix a gcc warning.
46907         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
46908
46909 2009-08-10  Bruno Haible  <bruno@clisp.org>
46910
46911         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
46912         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
46913         not only the first time.
46914         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
46915         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
46916         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
46917         is 1, not only the the first time.
46918
46919 2009-08-10  Bruno Haible  <bruno@clisp.org>
46920
46921         Make it possible to use module 'gethostname' without module 'close'.
46922         * lib/unistd.in.h (close): Evoke a link error only if
46923         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46924         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46925         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46926         * modules/unistd (Makefile.am): Substitute
46927         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46928         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
46929         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46930         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
46931         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46932         * modules/sys_ioctl (Makefile.am): Substitute
46933         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46934         * modules/socket (configure.ac): On native Windows, set
46935         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
46936         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46937         Reported by Sam Steingold <sds@gnu.org>.
46938
46939 2009-08-10  Bruno Haible  <bruno@clisp.org>
46940
46941         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
46942         * modules/ioctl (configure.ac): Likewise.
46943
46944 2009-08-10  Bruno Haible  <bruno@clisp.org>
46945
46946         Avoid collision between gnulib wrapper and libintl wrapper.
46947         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
46948         already defined in intl/printf.c.
46949         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
46950         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
46951
46952 2009-08-09  Bruno Haible  <bruno@clisp.org>
46953
46954         Make <sys/select.h> really self-contained, also on Solaris 10.
46955         * lib/sys_select.in.h: Include <string.h>.
46956         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
46957         Solaris 10 problem.
46958         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
46959         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
46960         Reported by Jim Meyering.
46961
46962 2009-08-09  Bruno Haible  <bruno@clisp.org>
46963
46964         Avoid warnings from 'aclocal' that are due to a use of macro name
46965         AM_XGETTEXT_OPTION that is not defined in automake.
46966         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
46967         automake.
46968         * modules/error (configure.ac): Likewise.
46969         * modules/propername (configure.ac): Likewise.
46970         * modules/vasprintf (configure.ac): Likewise.
46971         * modules/verror (configure.ac): Likewise.
46972         * modules/xprintf (configure.ac): Likewise.
46973         * modules/xvasprintf (configure.ac): Likewise.
46974
46975 2009-08-08  Bruno Haible  <bruno@clisp.org>
46976
46977         Avoid compilation error in C++ mode.
46978         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
46979         Reported by Sam Steingold <sds@gnu.org>.
46980
46981 2009-08-08  Bruno Haible  <bruno@clisp.org>
46982
46983         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
46984         for the various Unix platforms.
46985         * doc/posix-headers/limits.texi: Update platforms list regarding
46986         HOST_NAME_MAX.
46987         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46988
46989 2009-08-07  Jim Meyering  <meyering@redhat.com>
46990
46991         selinux-at: fix typo in a comment
46992         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
46993         Spotted by Paolo Bonzini.
46994
46995         selinux-at: remove redundant m4 code, add documentation
46996         * modules/selinux-at (configure.ac): Remove redundant code.
46997         LIB_SELINUX is already set via the dependent module, selinux-h.
46998         (Include): Add quotes around selinux-at.h.
46999         * lib/selinux-at.h: Add documentation.
47000         Reported by Bruno Haible in
47001         http://marc.info/?l=gnulib-bug&m=124958988300749
47002
47003 2009-08-07  Bruno Haible  <bruno@clisp.org>
47004
47005         Avoid link error on MacOS X 10.3 and 10.4.
47006         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
47007         on non-ELF systems.
47008         * lib/argp-pv.c (argp_program_version): Likewise.
47009         Reported by Simon Josefsson.
47010
47011 2009-08-07  Simon Josefsson  <simon@josefsson.org>
47012
47013         * tests/test-version-etc.sh: Use $EXEEXT.
47014
47015 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
47016
47017         update-copyright: update documentation to point to maint.mk
47018         * build-aux/update-copyright: Here.
47019
47020 2009-08-06  Jim Meyering  <meyering@redhat.com>
47021
47022         maint.mk: support update-copyright-local
47023         * top/maint.mk (update-copyright-local): Define place-holder.
47024         (update-copyright): Depend on $(update-copyright-local).
47025
47026 2009-08-06  Jim Meyering  <meyering@redhat.com>
47027
47028         selinux-at: new module
47029         Initially written for coreutils, this module will soon be
47030         used by findutils, too.
47031         * MODULES.html.sh [Misc]: Add selinux-at.
47032         * lib/selinux-at.h: New file, from coreutils.
47033         * lib/selinux-at.c: Likewise.
47034         * modules/selinux-at: Likewise.
47035         (License): Change from LGPL to GPL, since it depends
47036         on the GPL'd openat module.
47037
47038         doc: update README
47039         * README: Remove references to cogito.
47040         Remove cvs-repo-updating instructions from 2007.
47041         Don't imply that CVS is better if you have limited disk space.
47042
47043 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47044
47045         update-copyright: support C-style comments
47046         * build-aux/update-copyright: Implement and document.
47047         * tests/test-update-copyright.sh: Test.
47048
47049 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47050
47051         update-copyright: support omitted "(C)"
47052         * build-aux/update-copyright: Implement and document.  Also,
47053         allow variable whitespace before "(C)".
47054         * tests/test-update-copyright.sh: Test.
47055
47056 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47057
47058         update-copyright: don't trip on non-FSF copyright statements
47059         * build-aux/update-copyright: Fix so that the first correctly
47060         formatted FSF copyright statement is recognized no matter what
47061         appears before it.  Update documentation.
47062         * tests/test-update-copyright.sh: Test that.
47063
47064 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47065
47066         update-copyright: clean up code a little
47067         * build-aux/update-copyright: Append "_re" to the name of any
47068         variable holding a regular expression.
47069         Replace "old" and "new" with "stmt" in variable names.
47070         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
47071         handled correctly.
47072         Format code more consistently.
47073
47074 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47075
47076         update-copyright-tests: improve portability
47077         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
47078         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
47079
47080 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47081
47082         update-copyright: support @copyright{} and &copy;
47083         * build-aux/update-copyright: Implement and document.
47084         * tests/test-update-copyright.sh: Test.
47085
47086 2009-08-04  Jim Meyering  <meyering@redhat.com>
47087
47088         update-copyright-tests: correctly test EOL=\r\n handling
47089         * tests/test-update-copyright.sh: Put \r at the end of some lines
47090         for the dos-eol tests.  Based on a patch by Joel E. Denny.
47091
47092         maint.mk: make update-copyright exclusion list more configurable
47093         * top/maint.mk (update-copyright): Default to excluding COPYING,
47094         but allow an override, in case someone does want to update that file.
47095
47096         maint.mk: don't update copyright date in COPYING
47097         * top/maint.mk (update-copyright): Exclude COPYING.
47098
47099         maint.mk: add a copyright-updating rule
47100         * top/maint.mk (update-copyright): New rule.
47101         Derived from coreutils/Makefile.am.
47102
47103         update-copyright: rename some variables
47104         * build-aux/update-copyright: Rename a few variables for clarity.
47105         Tweak syntax.  List Joel E. Denny as coauthor.
47106
47107 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47108
47109         update-copyright: fix bug for 2-digit last year and add tests
47110         * build-aux/update-copyright: Fix bug.
47111         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
47112         specified.
47113         * modules/update-copyright-tests: New
47114         * tests/test-update-copyright.sh: New.
47115
47116 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47117
47118         update-copyright: handle leading tabs in line prefix
47119         * build-aux/update-copyright: Count leading tabs as 8 spaces
47120         when computing margin.  This helps with the formatting of
47121         ChangeLogs, for example.
47122         Fix documentation a little.
47123
47124 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47125
47126         update-copyright: support EOL=\r\n
47127         * build-aux/update-copyright: Implement that.
47128
47129 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47130
47131         update-copyright: automatically format copyright statements
47132         * build-aux/update-copyright: Implement that.
47133         Also, be a little more predictable and safer by always failing
47134         when the full copyright format is not perfectly recognized as an
47135         unbroken whole.  Discussed at
47136         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
47137         Rewrite documentation.
47138
47139 2009-08-03  Bruno Haible  <bruno@clisp.org>
47140
47141         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
47142
47143 2009-08-02  Bruno Haible  <bruno@clisp.org>
47144
47145         Tests for module 'uname'.
47146         * modules/uname-tests: New file.
47147         * tests/test-uname.c: New file.
47148
47149         New module 'uname'.
47150         * lib/uname.c: New file.
47151         * m4/uname.m4: New file.
47152         * modules/uname: New file.
47153         * doc/posix-functions/uname.texi: Mention the new module.
47154
47155 2009-08-02  Bruno Haible  <bruno@clisp.org>
47156
47157         Tests for module 'sys_utsname'.
47158         * modules/sys_utsname-tests: New file.
47159         * tests/test-sys_utsname.c: New file.
47160
47161         New module 'sys_utsname'.
47162         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
47163         * m4/sys_utsname_h.m4: New file.
47164         * modules/sys_utsname: New file.
47165         * doc/posix-headers/sys_utsname.texi: Mention the new module.
47166
47167 2009-08-02  Bruno Haible  <bruno@clisp.org>
47168
47169         Implicitly initialize the sockets library.
47170         * lib/gethostname.c: Include sockets.h.
47171         (rpl_gethostname): Invoke gl_sockets_startup.
47172         * lib/socket.c: Include sockets.h.
47173         (rpl_socket): Invoke gl_sockets_startup.
47174         * modules/gethostname (Depends-on): Add sockets.
47175         * modules/socket (Depends-on): Likewise.
47176         * tests/test-poll.c: Don't include sockets.h.
47177         (main): Don't invoke gl_sockets_startup.
47178         * tests/test-select.c: Don't include sockets.h.
47179         (main): Don't invoke gl_sockets_startup.
47180
47181 2009-08-02  Bruno Haible  <bruno@clisp.org>
47182
47183         Allow multiple calls to gl_sockets_startup.
47184         * lib/sockets.c (initialized_sockets_version): New variable.
47185         (gl_sockets_startup): Do nothing if already called for this or a higher
47186         version.
47187         (gl_sockets_cleanup): Reset initialized_sockets_version.
47188
47189 2009-08-03  Simon Josefsson  <simon@josefsson.org>
47190
47191         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
47192         different project/version.
47193
47194 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
47195             Bruno Haible  <bruno@clisp.org>
47196
47197         Tests for module 'pipe-filter-gi'.
47198         * modules/pipe-filter-gi-tests: New file.
47199         * tests/test-pipe-filter-gi1.sh: New file.
47200         * tests/test-pipe-filter-gi1.c: New file.
47201         * tests/test-pipe-filter-gi2.sh: New file.
47202         * tests/test-pipe-filter-gi2-main.c: New file.
47203         * tests/test-pipe-filter-gi2-child.c: New file.
47204
47205         New module 'pipe-filter-gi'.
47206         * lib/pipe-filter-gi.c: New file.
47207         * modules/pipe-filter-gi: New file.
47208
47209 2009-08-02  Bruno Haible  <bruno@clisp.org>
47210             Paolo Bonzini  <bonzini@gnu.org>
47211
47212         Tests for module 'pipe-filter-ii'.
47213         * modules/pipe-filter-ii-tests: New file.
47214         * tests/test-pipe-filter-ii1.sh: New file.
47215         * tests/test-pipe-filter-ii1.c: New file.
47216         * tests/test-pipe-filter-ii2.sh: New file.
47217         * tests/test-pipe-filter-ii2-main.c: New file.
47218         * tests/test-pipe-filter-ii2-child.c: New file.
47219
47220         New module 'pipe-filter-ii'.
47221         * lib/pipe-filter.h: New file.
47222         * lib/pipe-filter-ii.c: New file.
47223         * lib/pipe-filter-aux.h: New file.
47224         * modules/pipe-filter-ii: New file.
47225
47226 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47227
47228         * lib/gc-libgcrypt.c: Change copyright to FSF.
47229         * lib/gc-gnulib.c: Likewise.
47230
47231 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
47232
47233         * lib/gethostname.c: Include limits.h.
47234
47235 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47236             Bruno Haible  <bruno@clisp.org>
47237
47238         Ensure HOST_NAME_MAX as part of the gethostname module.
47239         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
47240         define also HOST_NAME_MAX.
47241         * tests/test-gethostname.c: Include <limits.h>.
47242         (main): Check also HOST_NAME_MAX.
47243         * doc/posix-headers/limits.texi: Document the mingw problem.
47244
47245 2009-08-02  Bruno Haible  <bruno@clisp.org>
47246
47247         * lib/gethostname.c (gethostname): Fix handling of large len argument.
47248         Add comments.
47249
47250 2009-03-31  Simon Josefsson  <simon@josefsson.org>
47251
47252         * lib/gethostname.c: Add Windows wrapper.
47253         * m4/gethostname.m4: Look for gethostname in -lws2_32.
47254         * modules/gethostname: Depend on sys_socket & errno, for also
47255         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
47256         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
47257
47258 2009-07-31  Jim Meyering  <meyering@redhat.com>
47259
47260         getloadavg: fix symbol name in comment
47261         * lib/getloadavg.c: Correct a typo I introduced when adding
47262         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
47263         Matt Kraai spotted the problem.
47264
47265 2009-07-29  Matt Kraai  <mkraai@beckman.com>
47266
47267         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
47268         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
47269         code also if ! defined N_NAME_POINTER.
47270         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
47271         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
47272         but the n_name member is a 12-byte array.
47273
47274 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
47275
47276         update-copyright: generalize comment handling
47277         * build-aux/update-copyright: Handle copyright statements
47278         within more comment styles.
47279         Document usage.
47280         Report any file with an external copyright holder or parse failure.
47281
47282 2009-07-29  Jim Meyering  <meyering@redhat.com>
47283
47284         mktime: correct setting of REPLACE_MKTIME
47285         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
47286
47287         update-copyright: new module
47288         * modules/update-copyright: New file.
47289         * build-aux/update-copyright: New file.
47290         * MODULES.html.sh (maint+release support): Add update-copyright.
47291
47292 2009-07-27  Bruno Haible  <bruno@clisp.org>
47293
47294         Fix compilation error when <ctime> is used and mktime is replaced.
47295         * lib/time.in.h (mktime): New declaration.
47296         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
47297         REPLACE_MKTIME instead of defining mktime in config.h.
47298         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
47299         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
47300         Reported by Ross McFarland <rwmcfa1@neces.com>.
47301
47302 2009-07-27  Bruno Haible  <bruno@clisp.org>
47303
47304         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
47305         Reported by Matt Kraai <mkraai@beckman.com>.
47306
47307 2009-07-25  Jim Meyering  <meyering@redhat.com>
47308
47309         maint.mk: avoid warnings about missing files
47310         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
47311         diagnostic when .prev-version does not exist.
47312         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
47313         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
47314         nonexistent cfg.mk.
47315         Suggestions from Simon Josefsson.
47316
47317 2009-07-25  Bruno Haible  <bruno@clisp.org>
47318
47319         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
47320         defined as macros. Needed on QNX 6.4.1.
47321         Reported by Matt Kraai <mkraai@beckman.com>.
47322
47323 2009-07-23  Jim Meyering  <meyering@redhat.com>
47324
47325         maint.mk: invoke "make dist" with a working value of XZ_OPT
47326         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
47327
47328 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
47329
47330         Make fseeko.c compile on QNX.
47331         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
47332
47333 2009-07-22  Peter Simons  <simons@cryp.to>
47334
47335         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
47336         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
47337         * lib/md4.h: Likewise.
47338         * lib/md5.h: Likewise.
47339         * lib/sha1.h: Likewise.
47340         * lib/sha256.h: Likewise.
47341         * lib/sha512.h: Likewise.
47342
47343         tests-sha1: don't assign literal string to 'char *' variable
47344         * tests/test-sha1.c (main): Declare locals with "const" to match
47345         attributes of the right hand side.
47346
47347 2009-07-21  Eric Blake  <ebb9@byu.net>
47348
47349         dup2: fix more mingw problems
47350         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
47351         fd to itself.
47352         * doc/posix-functions/dup2.texi (dup2): Document the bug.
47353         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
47354         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
47355         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
47356         care of mingw bugs.
47357
47358 2009-07-21  Jim Meyering  <meyering@redhat.com>
47359
47360         vc-list-files: avoid failure when /bin/sh is dash
47361         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
47362         On some Debian based systems, /bin/sh is a symlink to dash, and running
47363         this command would omit the "/" following each 'tests' prefix:
47364           dash -x build-aux/vc-list-files -C . tests
47365         That is because bash and dash work differently:
47366           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
47367           bash ok
47368           dash odd
47369
47370 2009-07-21  Eric Blake  <ebb9@byu.net>
47371
47372         dup2-tests: test previous patch
47373         * modules/dup2-tests: New file.
47374         * tests/test-dup2.c: Likewise.
47375         * tests/test-open.c (main): Avoid unspecified behavior.
47376         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
47377         test.
47378
47379         dup2: work around mingw and cygwin 1.5 bug
47380         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
47381         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
47382         * modules/unistd (Makefile.am): Substitute it.
47383         * lib/unistd.in.h (dup2): Declare the replacement.
47384         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
47385         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
47386         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
47387         * modules/execute (Depends-on): Add dup2.
47388         * modules/fseterr (Depends-on): Likewise.
47389         * modules/pipe (Depends-on): Likewise.
47390         * modules/posix_spawn-internal (Depends-on): Likewise.
47391
47392 2009-07-21  Bruno Haible  <bruno@clisp.org>
47393
47394         * modules/.gitattributes: New file.
47395
47396 2009-07-20  Bruno Haible  <bruno@clisp.org>
47397
47398         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
47399         (main): Use it.
47400
47401 2009-07-20  Eric Blake  <ebb9@byu.net>
47402
47403         test-pipe: make a bit more robust.
47404         * tests/test-pipe.c (myerr): Allow error messages regardless of
47405         what we do to stderr.
47406         (test_pipe): Rearrange to avoid deadlock.
47407         (child_main): Try a larger read, to ensure we avoided deadlock.
47408         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
47409         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
47410         if misused.
47411
47412 2009-07-19  Jim Meyering  <meyering@redhat.com>
47413
47414         fts: avoid false-positive cycle-detection
47415         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
47416         for each new command line argument.
47417
47418 2009-07-19  Bruno Haible  <bruno@clisp.org>
47419
47420         Fix build error on mingw with the modules sys_select and unistd.
47421         * modules/acl-tests (Depends-on): Add close.
47422         * modules/binary-io-tests (Depends-on): Likewise.
47423         * modules/closein-tests (Depends-on): Likewise.
47424         * modules/flock-tests (Depends-on): Likewise.
47425         * modules/fsync-tests (Depends-on): Likewise.
47426         * modules/lseek-tests (Depends-on): Likewise.
47427         * modules/pipe-tests (Depends-on): Likewise.
47428         * modules/posix_spawn-tests (Depends-on): Likewise.
47429         * modules/posix_spawnp-tests (Depends-on): Likewise.
47430         * modules/stat-time-tests (Depends-on): Likewise.
47431         * modules/yesno-tests (Depends-on): Likewise.
47432
47433 2009-07-19  Bruno Haible  <bruno@clisp.org>
47434
47435         Unify conditionals.
47436         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
47437         macros, not at the compiler macros.
47438         * lib/pipe.c: Likewise.
47439         * lib/execute.c: Likewise.
47440         * lib/spawni.c: Likewise.
47441
47442 2009-07-19  Bruno Haible  <bruno@clisp.org>
47443
47444         Fix handling of closed stdin/stdout/stderr on mingw.
47445         * lib/w32spawn.h: Include unistd.h.
47446         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
47447         file descriptor with O_NOINHERIT flag.
47448         (fd_safer_noinherit): New function, based on fd-safer.c.
47449         (dup_safer_noinherit): New function, based on dup-safer.c.
47450         (undup_safer_noinherit): New function.
47451         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
47452         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
47453         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
47454         instead of fd_safer.
47455         * tests/test-pipe.c: Include <windows.h>.
47456         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
47457         result.
47458
47459         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
47460         from main.
47461         (test_pipe): Pass an extra argument for disambiguation.
47462         (main): Invoke parent_main or child_main.
47463
47464         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
47465         consistently.
47466
47467 2009-07-18  Eric Blake  <ebb9@byu.net>
47468
47469         test-pipe: fix mingw build
47470         * tests/test-pipe.c (main): Avoid fcntl on mingw.
47471
47472 2009-07-18  Bruno Haible  <bruno@clisp.org>
47473
47474         * modules/pipe-tests (Makefile.am): Fix typo.
47475
47476 2009-07-18  Eric Blake  <ebb9@byu.net>
47477
47478         error: fix mingw build
47479         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
47480         Reported by Bruno Haible.
47481
47482         error: avoid undefined use of stdout
47483         * lib/error.c (error, error_at_line): Check that fd 1 is open
47484         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
47485         is handling faults and the close_stdout module wants to report the
47486         detection of closed stdout as an error.
47487
47488 2009-07-17  Eric Blake  <ebb9@byu.net>
47489
47490         pipe: be robust in face of closed fds
47491         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
47492         should cause child to misbehave.
47493         * modules/pipe-tests: New module.
47494         * tests/test-pipe.c: New file.
47495         * tests/test-pipe.sh: New file.
47496         Reported by Akim Demaille.
47497
47498 2009-07-14  Bruno Haible  <bruno@clisp.org>
47499
47500         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
47501         Reported by anonymous kc.
47502
47503 2009-07-07  Jim Meyering  <meyering@redhat.com>
47504
47505         maint.mk: don't look for translatable strings in *.m4 or *.mk
47506         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
47507         when searching for translatable strings.
47508
47509 2009-07-05  Jim Meyering  <meyering@redhat.com>
47510
47511         remove superfluous parentheses in STREQ definition
47512         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
47513         * lib/getugroups.c (STREQ): Likewise.
47514         * lib/fnmatch.c (STREQ): Likewise.
47515         Spotted by Bruno Haible.
47516
47517 2009-07-04  Jim Meyering  <meyering@redhat.com>
47518
47519         argv-iter: new module
47520         * MODULES.html.sh: Add argv-iter.
47521         * lib/argv-iter.c, lib/argv-iter.h: New files.
47522         * modules/argv-iter: New file.
47523         * modules/argv-iter-tests: New file.
47524         * tests/test-argv-iter.c: Test it.
47525
47526 2009-07-04  Bruno Haible  <bruno@clisp.org>
47527
47528         Fix assertion.
47529         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
47530         contains more exact copies of a given entry than file2, leave the extra
47531         copies unpaired rather than aborting.
47532         Reported by Eric Blake.
47533
47534 2009-07-02  Bruno Haible  <bruno@clisp.org>
47535
47536         Speedup git-merge-changelog for git cherry-pick.
47537         * lib/git-merge-changelog.c (struct entries_mapping): New type.
47538         (entries_mapping_get): New function, extracted from compute_mapping.
47539         (entries_mapping_reverse_get): New function.
47540         (compute_mapping): Add a 'full' argument. Return the result in a
47541         'struct entries_mapping'.
47542         (main): Update. Access the mappings through entries_mapping_get.
47543         Reported by Eric Blake.
47544
47545 2009-07-02  Bruno Haible  <bruno@clisp.org>
47546
47547         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
47548         best_i.
47549
47550 2009-07-02  Bruno Haible  <bruno@clisp.org>
47551
47552         Speed up approximate search for matching ChangeLog entries.
47553         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
47554         argument. Call fstrcmp_bounded instead of fstrcmp.
47555         (compute_mapping, try_split_merged_entry, main): Update callers.
47556
47557 2009-07-02  Bruno Haible  <bruno@clisp.org>
47558
47559         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
47560
47561 2009-06-30  Bruno Haible  <bruno@clisp.org>
47562
47563         Reduce the number of uc_is_cased calls.
47564         * lib/unicase.h (casing_suffix_context_t): Add
47565         'first_char_except_ignorable' field.
47566         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
47567         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
47568         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
47569         Update initializer.
47570         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
47571         case-ignorable characters.
47572         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
47573         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
47574         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
47575         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
47576         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
47577
47578 2009-06-30  Bruno Haible  <bruno@clisp.org>
47579
47580         Tests for module 'unicase/ignorable'.
47581         * modules/unicase/ignorable-tests: New file.
47582         * tests/unicase/test-ignorable.c: New file, generated by
47583         gen-uni-tables.
47584
47585         Tests for module 'unicase/cased'.
47586         * modules/unicase/cased-tests: New file.
47587         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
47588         * tests/unicase/test-predicate-part1.h: New file, derived from
47589         tests/unictype/test-predicate-part1.h.
47590         * tests/unicase/test-predicate-part2.h: New file, same as
47591         tests/unictype/test-predicate-part2.h.
47592
47593         Fix evaluation of "Before C" condition of FINAL_SIGMA.
47594         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
47595         (output_casing_properties): New function.
47596         (main): Call it.
47597         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
47598         * lib/unicase/cased.c: Include unictype/bitmap.h.
47599         (uc_is_cased): Define through a bitmap lookup.
47600         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
47601         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
47602         (uc_is_case_ignorable): Define through a bitmap lookup.
47603         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
47604         lib/unictype/bitmap.h.
47605         (Depends-on): Add inline. Clean up.
47606         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
47607         lib/unictype/bitmap.h.
47608         (Depends-on): Add inline. Clean up.
47609         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
47610         recognition.
47611         * tests/unicase/test-u16-tolower.c (main): Likewise.
47612         * tests/unicase/test-u32-tolower.c (main): Likewise.
47613
47614 2009-06-30  Bruno Haible  <bruno@clisp.org>
47615
47616         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
47617         * lib/unicase/u16-casemap.c: Likewise.
47618         * lib/unicase/u32-casemap.c: Likewise.
47619
47620 2009-06-29  Bruno Haible  <bruno@clisp.org>
47621
47622         Define u32_casefold as a wrapper around u32_ct_casefold.
47623         * lib/unicase/u32-casefold.c: Update.
47624         * modules/unicase/u32-casefold (Depends-on): Add
47625         unicase/u32-ct-casefold, unicase/empty-prefix-context,
47626         unicase/empty-suffix-context. Clean up.
47627
47628         Define u16_casefold as a wrapper around u16_ct_casefold.
47629         * lib/unicase/u16-casefold.c: Update.
47630         * modules/unicase/u16-casefold (Depends-on): Add
47631         unicase/u16-ct-casefold, unicase/empty-prefix-context,
47632         unicase/empty-suffix-context. Clean up.
47633
47634         Define u8_casefold as a wrapper around u8_ct_casefold.
47635         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
47636         * lib/unicase/u8-casefold.c: Update.
47637         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
47638         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47639
47640         Define u32_totitle as a wrapper around u32_ct_totitle.
47641         * lib/unicase/u32-totitle.c: Update.
47642         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
47643         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47644
47645         Define u16_totitle as a wrapper around u16_ct_totitle.
47646         * lib/unicase/u16-totitle.c: Update.
47647         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
47648         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47649
47650         Define u8_totitle as a wrapper around u8_ct_totitle.
47651         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
47652         functions.
47653         (FUNC): Delegate to U_CT_TOTITLE.
47654         * lib/unicase/u8-totitle.c: Update.
47655         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
47656         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47657
47658         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
47659         invocation.
47660         * modules/unicase/u32-tolower (Depends-on): Add
47661         unicase/empty-prefix-context, unicase/empty-suffix-context.
47662
47663         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
47664         invocation.
47665         * modules/unicase/u16-tolower (Depends-on): Add
47666         unicase/empty-prefix-context, unicase/empty-suffix-context.
47667
47668         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
47669         * modules/unicase/u8-tolower (Depends-on): Add
47670         unicase/empty-prefix-context, unicase/empty-suffix-context.
47671
47672         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
47673         invocation.
47674         * modules/unicase/u32-toupper (Depends-on): Add
47675         unicase/empty-prefix-context, unicase/empty-suffix-context.
47676
47677         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
47678         invocation.
47679         * modules/unicase/u16-toupper (Depends-on): Add
47680         unicase/empty-prefix-context, unicase/empty-suffix-context.
47681
47682         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
47683         * modules/unicase/u8-toupper (Depends-on): Add
47684         unicase/empty-prefix-context, unicase/empty-suffix-context.
47685
47686         New module 'unicase/u32-ct-casefold'.
47687         * lib/unicase/u32-ct-casefold.c: New file.
47688         * modules/unicase/u32-ct-casefold: New file.
47689
47690         New module 'unicase/u16-ct-casefold'.
47691         * lib/unicase/u16-ct-casefold.c: New file.
47692         * modules/unicase/u16-ct-casefold: New file.
47693
47694         New module 'unicase/u8-ct-casefold'.
47695         * lib/unicase/u8-ct-casefold.c: New file.
47696         * lib/unicase/u-ct-casefold.h: New file, derived from
47697         lib/unicase/u-casefold.h.
47698         * modules/unicase/u8-ct-casefold: New file.
47699
47700         New module 'unicase/u32-ct-totitle'.
47701         * lib/unicase/u32-ct-totitle.c: New file.
47702         * modules/unicase/u32-ct-totitle: New file.
47703
47704         New module 'unicase/u16-ct-totitle'.
47705         * lib/unicase/u16-ct-totitle.c: New file.
47706         * modules/unicase/u16-ct-totitle: New file.
47707
47708         New module 'unicase/u8-ct-totitle'.
47709         * lib/unicase/u8-ct-totitle.c: New file.
47710         * lib/unicase/u-ct-totitle.h: New file, derived from
47711         lib/unicase/u-totitle.h.
47712         * modules/unicase/u8-ct-totitle: New file.
47713
47714         New module 'unicase/u32-ct-tolower'.
47715         * lib/unicase/u32-ct-tolower.c: New file.
47716         * modules/unicase/u32-ct-tolower: New file.
47717
47718         New module 'unicase/u16-ct-tolower'.
47719         * lib/unicase/u16-ct-tolower.c: New file.
47720         * modules/unicase/u16-ct-tolower: New file.
47721
47722         New module 'unicase/u8-ct-tolower'.
47723         * lib/unicase/u8-ct-tolower.c: New file.
47724         * modules/unicase/u8-ct-tolower: New file.
47725
47726         New module 'unicase/u32-ct-toupper'.
47727         * lib/unicase/u32-ct-toupper.c: New file.
47728         * modules/unicase/u32-ct-toupper: New file.
47729
47730         New module 'unicase/u16-ct-toupper'.
47731         * lib/unicase/u16-ct-toupper.c: New file.
47732         * modules/unicase/u16-ct-toupper: New file.
47733
47734         New module 'unicase/u8-ct-toupper'.
47735         * lib/unicase/u8-ct-toupper.c: New file.
47736         * modules/unicase/u8-ct-toupper: New file.
47737
47738         Add context arguments to u*_casemap functions.
47739         * lib/unicase/unicasemap.h: Include unicase.h.
47740         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
47741         suffix_context arguments.
47742         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
47743         functions.
47744         (FUNC): Add prefix_context and suffix_context arguments. Use
47745         uc_is_cased and uc_is_case_ignorable.
47746         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
47747         * lib/unicase/u16-casemap.c: Likewise.
47748         * lib/unicase/u32-casemap.c: Likewise.
47749         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
47750         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47751         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
47752         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47753         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
47754         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47755
47756         New module 'unicase/u32-suffix-context'.
47757         * lib/unicase/u32-suffix-context.c: New file.
47758         * modules/unicase/u32-suffix-context: New file.
47759
47760         New module 'unicase/u16-suffix-context'.
47761         * lib/unicase/u16-suffix-context.c: New file.
47762         * modules/unicase/u16-suffix-context: New file.
47763
47764         New module 'unicase/u8-suffix-context'.
47765         * lib/unicase/u8-suffix-context.c: New file.
47766         * lib/unicase/u-suffix-context.h: New file.
47767         * modules/unicase/u8-suffix-context: New file.
47768
47769         New module 'unicase/empty-suffix-context'.
47770         * lib/unicase/empty-suffix-context.c: New file.
47771         * modules/unicase/empty-suffix-context: New file.
47772
47773         New module 'unicase/u32-prefix-context'.
47774         * lib/unicase/u32-prefix-context.c: New file.
47775         * modules/unicase/u32-prefix-context: New file.
47776
47777         New module 'unicase/u16-prefix-context'.
47778         * lib/unicase/u16-prefix-context.c: New file.
47779         * modules/unicase/u16-prefix-context: New file.
47780
47781         New module 'unicase/u8-prefix-context'.
47782         * lib/unicase/u8-prefix-context.c: New file.
47783         * lib/unicase/u-prefix-context.h: New file.
47784         * lib/unicase/context.h: New file.
47785         * modules/unicase/u8-prefix-context: New file.
47786
47787         New module 'unicase/empty-prefix-context'.
47788         * lib/unicase/empty-prefix-context.c: New file.
47789         * modules/unicase/empty-prefix-context: New file.
47790
47791         New module 'unicase/ignorable'.
47792         * lib/unicase/ignorable.c: New file.
47793         * modules/unicase/ignorable: New file.
47794
47795         New module 'unicase/cased'.
47796         * lib/unicase/caseprop.h: New file.
47797         * lib/unicase/cased.c: New file.
47798         * modules/unicase/cased: New file.
47799
47800         New functions for case mapping of substrings.
47801         * lib/unicase.h (casing_prefix_context_t): New type.
47802         (unicase_empty_prefix_context): New variable.
47803         (u8_casing_prefix_context, u16_casing_prefix_context,
47804         u32_casing_prefix_context, u8_casing_prefixes_context,
47805         u16_casing_prefixes_context, u32_casing_prefixes_context): New
47806         declarations.
47807         (casing_suffix_context_t): New type.
47808         (unicase_empty_suffix_context): New variable.
47809         (u8_casing_suffix_context, u16_casing_suffix_context,
47810         u32_casing_suffix_context, u8_casing_suffixes_context,
47811         u16_casing_suffixes_context, u32_casing_suffixes_context,
47812         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
47813         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
47814         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
47815         declarations.
47816
47817 2009-06-28  Jim Meyering  <meyering@redhat.com>
47818
47819         boostrap: indent only with spaces
47820         * build-aux/bootstrap: Indent only with spaces, never TABs.
47821
47822         bootstrap: split long lines
47823         * build-aux/bootstrap: Keep line length < 80.
47824
47825         bootstrap: sync from coreutils
47826         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
47827         just as autoreconf does.  Verify a list of prerequisite
47828         package-name,version-number pairs if defined in bootstrap.conf.
47829         Refer to README-prereq, if prerequisites are not satisfied.
47830
47831 2009-06-27  Eric Blake  <ebb9@byu.net>
47832
47833         tests: add test for bogus NULL definition
47834         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
47835         * tests/test-stdlib.c: Likewise.
47836         * tests/test-string.c: Likewise.
47837         * tests/test-locale.c: Likewise.
47838         * tests/test-unistd.c: Likewise.
47839         * modules/stdio-tests (Depends-on): Add verify.
47840         * modules/stdlib-tests (Depends-on): Likewise.
47841         * modules/string-tests (Depends-on): Likewise.
47842         * modules/locale-tests (Depends-on): Likewise.
47843         * modules/unistd-tests (Depends-on): Likewise.
47844
47845 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
47846
47847         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
47848         self-explaining comment.
47849         * m4/selinux-selinux-h: Update serial.
47850         (gl_LIBSELINUX): New macro, adding a warning for missing development
47851         packages to code extracted from...
47852         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
47853         Add warning for missing development packages here, too.
47854
47855 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
47856
47857         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
47858
47859 2009-06-25  Eric Blake  <ebb9@byu.net>
47860
47861         version-etc: fix regression
47862         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
47863         gcc.
47864         (version_etc): Use it, to catch bugs with trailing NULL.
47865         * lib/version-etc.c (version_etc_arn): Delete unused argument.
47866         (version_etc_va): Fix logic bug.
47867         * modules/version-etc-tests: Add test.
47868         * tests/test-version-etc.c: New file.
47869         * tests/test-version-etc.sh: Likewise.
47870
47871 2009-06-25  Sam Steingold  <sds@gnu.org>
47872
47873         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
47874         mbtowc declaration.
47875
47876 2009-06-25  Eric Blake  <ebb9@byu.net>
47877
47878         fpurge: migrate into <stdio.h>
47879         * lib/fpurge.h: Delete...
47880         * lib/stdio.in.h (fpurge): ...and declare here, instead.
47881         * lib/fpurge.c (fpurge): Change declaring header.
47882         * modules/fpurge (Files): Drop deleted file.
47883         (Depends-on): Add stdio.
47884         (configure.ac): Set witness.
47885         * modules/stdio (Makefile.am): Support fpurge macros.
47886         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
47887         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
47888         * lib/fflush.c: Update client.
47889         * tests/test-fpurge.c: Likewise.
47890         * NEWS: Mention the change.
47891
47892 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47893
47894         * lib/argp-version-etc.c (program_authors): Add const
47895         qualifier.
47896         * lib/version-etc.c: Fix typos in the comments.
47897         * modules/argp-version-etc: Depends on version-etc.
47898
47899 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47900
47901         argp-version-etc: new module.
47902
47903         * lib/argp-version-etc.c: New file.
47904         * lib/argp-version-etc.h: New file.
47905         * modules/argp-version-etc: New file.
47906         * modules/argp-version-etc-tests: New file.
47907         * tests/test-argp-version-etc.c: New test.
47908         * tests/test-argp-version-etc-1.sh: New test.
47909
47910 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47911
47912         Provide additional interfaces and documentation for version-etc
47913         module.
47914
47915         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
47916         interfaces.
47917         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
47918         prototypes.
47919
47920 2009-06-24  Bruno Haible  <bruno@clisp.org>
47921
47922         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
47923         HAVE_LIB${NAME} macro.
47924         Reported by Sam Steingold <sds@gnu.org>.
47925
47926 2009-06-23  Simon Josefsson  <simon@josefsson.org>
47927
47928         * modules/hash-tests (test_hash_LDADD): Link to libintl when
47929         needed.
47930
47931 2009-06-21  Bruno Haible  <bruno@clisp.org>
47932
47933         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
47934         work.
47935         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
47936         together with LIB${NAME}, LTLIB${NAME}.
47937         Reported by Sam Steingold <sds@gnu.org>.
47938
47939 2009-06-20  Jim Meyering  <meyering@redhat.com>
47940
47941         tests: make sc_require_test_exit_idiom more generic
47942         * top/maint.mk (Exit_witness_file): New overridable variable.
47943         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
47944         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
47945
47946 2009-06-19  Jim Meyering  <meyering@redhat.com>
47947
47948         hash: reverse order of src/dst parameters in an internal interface
47949         * lib/hash.c (transfer_entries): Reverse order of parameters to
47950         put DST before SRC.  Adjust callers.
47951
47952         tests: test-hash: avoid wholesale duplication
47953         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
47954         Instead, use a loop and add a single conditional.
47955
47956         tests: test-hash: allow seed selection via a command line argument
47957         * tests/test-hash.c (get_seed): New function.
47958         (main): Use it.
47959
47960 2009-06-19  Eric Blake  <ebb9@byu.net>
47961
47962         hash: avoid memory leak on allocation failure
47963         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
47964         failure.  Factor repeated algorithm...
47965         (transfer_entries): ...into new helper routine.
47966         (hash_delete): React to hash_rehash return value.
47967
47968         hash: reduce memory pressure in hash_rehash no-op case
47969         * lib/hash.c (next_prime): Avoid overflow.
47970         (hash_initialize): Factor bucket size computation...
47971         (compute_bucket_size): ...into new helper function.
47972         (hash_rehash): Use new function and open coding to reduce memory
47973         pressure, and avoid a memory leak in USE_OBSTACK code.
47974         Reported by Jim Meyering.
47975
47976 2009-06-18  Eric Blake  <ebb9@byu.net>
47977
47978         hash: make rotation more obvious
47979         * modules/hash (Depends-on): Add bitrotate and stdint.
47980         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
47981         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
47982         (SIZE_MAX): Rely on headers for definition.
47983         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
47984         (raw_hasher): Use rotr_sz.
47985         Suggested by Jim Meyering.
47986
47987         hash: fix memory leak in last patch
47988         * lib/hash.c (hash_rehash): Avoid memory leak.
47989
47990         hash: avoid no-op rehashing
47991         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
47992
47993         hash: provide default callback functions
47994         * lib/hash.c (raw_hasher, raw_comparator): New functions.
47995         (hash_initialize): Use them as defaults.
47996         * tests/test-hash.c (main): Test this.
47997
47998         hash: minor optimization
47999         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
48000         when possible.
48001         (hash_initialize): Document this promise.
48002         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
48003         * tests/test-hash.c (hash_compare_strings): Test this.
48004
48005 2009-06-18  Bruno Haible  <bruno@clisp.org>
48006
48007         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
48008         going to be replaced anyway.
48009
48010 2009-06-18  Bruno Haible  <bruno@clisp.org>
48011
48012         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
48013         in one place.
48014         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
48015         be replaced anyway.
48016
48017 2009-06-18  Eric Blake  <ebb9@byu.net>
48018
48019         hash: check for resize before insertion
48020         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
48021         threshold before insertion, so that a pathological hash_rehash
48022         that fills every bucket can still trigger another rehash.
48023
48024 2009-06-18  Jim Meyering  <meyering@redhat.com>
48025
48026         hash-tests: add a loop around the small tests
48027         * tests/test-hash.c (main): Repeat small tests with selected
48028         small initial table sizes.
48029
48030 2009-06-17  Eric Blake  <ebb9@byu.net>
48031
48032         hash: minor cleanups
48033         * lib/hash.h (hash_entry): Make opaque, by moving...
48034         * lib/hash.c (hash_entry): ...here.
48035         (hash_insert): Clarify restrictions on what can be inserted.
48036         (hash_get_next): Clarify when it is safe to remove an element
48037         during traversal.
48038         (check_tuning): Skip verification when tuning is known safe.
48039         (hash_initialize): Clarify restrictions on tuning.
48040
48041 2009-06-17  Jim Meyering  <jim@meyering.net>
48042         and Eric Blake  <ebb9@byu.net>
48043
48044         hash-tests: new module
48045         * modules/hash-tests: New file.
48046         * tests/test-hash.c: New file.
48047
48048 2009-06-17  Eric Blake  <ebb9@byu.net>
48049
48050         strstr-simple: document new module
48051         * MODULES.html.sh: Document new module.
48052
48053         strstr, strcasestr: replace on platforms with broken memchr
48054         * modules/strstr: Split into...
48055         * modules/strstr-simple: ...new module that does not care about
48056         performance, but does care about glibc bug.
48057         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
48058         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
48059         if platform memchr is broken, per Debian bug 521737.
48060         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
48061         memchr.
48062         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
48063         * doc/posix-functions/strstr.texi (strstr): Document the fix.
48064         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48065         * modules/mountlist (Depends-on): Add strstr-simple.
48066         * modules/gen-uni-tables (Depends-on): Likewise.
48067         * modules/argz (Depends-on): Add strstr.
48068
48069 2009-06-17  Bruno Haible  <bruno@clisp.org>
48070
48071         * modules/posix_spawn-internal (Depends-on): Add errno.
48072
48073 2009-06-17  Bruno Haible  <bruno@clisp.org>
48074
48075         Define missing ESTALE on Interix 3.5.
48076         * lib/errno.in.h (ESTALE): Assign a value if missing.
48077         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
48078         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
48079         missing.
48080         * doc/posix-headers/errno.texi: Mention the Interix bug.
48081         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
48082
48083 2009-06-15  Eric Blake  <ebb9@byu.net>
48084
48085         memchr, memchr2: add valgrind exception
48086         * lib/memchr.valgrind: New file.
48087         * lib/memchr2.valgrind: New file.
48088         * modules/memchr (Files): Distribute valgrind file.
48089         * modules/memchr2 (Files): Likewise.
48090
48091         docs: memchr is no longer obsolete
48092         * MODULES.html.sh: Move memchr from obsolete to string.h section.
48093         * lib/string.in.h (memchr): Simplify logic.
48094
48095 2009-06-14  Jim Meyering  <meyering@redhat.com>
48096
48097         link-follow: fix the "checking..." message to not mention trailing slash
48098         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
48099         never considered trailing slashes.
48100
48101 2009-06-14  Bruno Haible  <bruno@clisp.org>
48102
48103         * m4/memchr.m4: Mention also the bug on IA-64.
48104         * doc/posix-functions/memchr.texi: Likewise.
48105
48106 2009-06-12  Eric Blake  <ebb9@byu.net>
48107
48108         memchr: detect broken x86_64 and alpha implementations
48109         * modules/memchr-tests (Depends-on): Move mmap detection...
48110         * modules/memchr (Depends-on): ...here.
48111         (configure.ac): Set indicator.
48112         * lib/string.in.h (memchr): Declare replacement.
48113         * modules/string (Makefile.am): Trigger replacement.
48114         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
48115         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
48116         bugs.
48117         * doc/posix-functions/memchr.texi (memchr): Document the bug.
48118         * modules/getpagesize (License): Relax license.
48119
48120 2009-06-11  Bruno Haible  <bruno@clisp.org>
48121
48122         * lib/idpriv.h: Add more references.
48123
48124 2009-06-08  Bruno Haible  <bruno@clisp.org>
48125
48126         Tests for module 'idpriv-droptemp'.
48127         * modules/idpriv-droptemp-tests: New file.
48128         * tests/test-idpriv-droptemp.sh: New file.
48129         * tests/test-idpriv-droptemp.su.sh: New file.
48130         * tests/test-idpriv-droptemp.c: New file.
48131
48132         New module 'idpriv-droptemp'.
48133         * lib/idpriv-droptemp.c: New file.
48134         * modules/idpriv-droptemp: New file.
48135
48136 2009-06-08  Bruno Haible  <bruno@clisp.org>
48137
48138         Tests for module 'idpriv-drop'.
48139         * modules/idpriv-drop-tests: New file.
48140         * tests/test-idpriv-drop.sh: New file.
48141         * tests/test-idpriv-drop.su.sh: New file.
48142         * tests/test-idpriv-drop.c: New file.
48143
48144         New module 'idpriv-drop'.
48145         * lib/idpriv.h: New file.
48146         * lib-idpriv-drop.c: New file.
48147         * m4/idpriv.m4: New file.
48148         * modules/idpriv-drop: New file.
48149
48150 2009-06-08  Bruno Haible  <bruno@clisp.org>
48151
48152         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
48153         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48154         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48155         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48156         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48157         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48158         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48159
48160 2009-06-08  Eric Blake  <ebb9@byu.net>
48161
48162         test-strstr: use memory fence, when possible
48163         * tests/test-strstr.c (main): Use memory fence, in order to be
48164         more likely to trigger Debian bug 521737.
48165         * modules/strstr-tests (Files): Pull in additional files.
48166
48167         memchr: no longer obsolete, for wider field testing
48168         * modules/memchr (Status, Notice): Delete, this module is no
48169         longer obsolete.
48170         * modules/vasnprintf (Depends-on): Add memchr.
48171
48172 2009-06-07  Jim Meyering  <meyering@redhat.com>
48173
48174         hash: declare some functions with the warn_unused_result attribute
48175         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
48176
48177 2009-06-07  Bruno Haible  <bruno@clisp.org>
48178
48179         * tests/test-alignof.c: Don't test int64_t if it does not exist.
48180         Reported by Eric Blake.
48181
48182 2009-06-06  Eric Blake  <ebb9@byu.net>
48183
48184         test-alignof: fix typo with long double
48185         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
48186         compiler error.
48187
48188 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
48189
48190         Escape non-texinfo { and }s.
48191         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
48192         markup error.
48193
48194 2009-06-04  Jim Meyering  <meyering@redhat.com>
48195
48196         gitlog-to-changelog: don't infloop on an empty commit log
48197         * build-aux/gitlog-to-changelog: Warn about an empty log message.
48198         Reported by Boris Petersen <transacid@centerim.org>.
48199
48200 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
48201
48202         version-etc: extend for packagers
48203         Add three new configure options, intended for packagers:
48204           --with-packager="packager name"
48205           --with-packager-version="packager-specific version"
48206           --with-packager-bug-reports="packager bug reporting"
48207         An example with coreutils:
48208           $ ./configure \
48209             --with-packager=Gentoo \
48210             --with-packager-bug-report=http://bugs.gentoo.org/ \
48211             --with-packager-version="patchset 1.6"
48212           $ ./src/ls --version | head -n2
48213           ls (GNU coreutils) 7.1-dirty
48214           Packaged by Gentoo (patchset 1.6)
48215         Note that the bug reporting info via --help doesn't show up because
48216         coreutils uses its own custom emit_bug_reporting_address() implementation
48217         in src/system.h.  If it didn't, it'd look like:
48218           $ ./src/ls --help | tail -n4
48219           Report bugs to <bug-coreutils@gnu.org>.
48220           Report Gentoo bugs to <http://bugs.gentoo.org/>.
48221           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
48222           General help using GNU software: <http://www.gnu.org/gethelp/>.
48223         * lib/version-etc.c: Print new information, if provided.
48224         * m4/version-etc.m4: New file.
48225         * modules/version-etc (Files): Add m4/version-etc.m4.
48226         (configure.ac): Add gl_VERSION_ETC.
48227
48228 2009-05-31  Bruno Haible  <bruno@clisp.org>
48229
48230         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
48231         and 'int64_t'.
48232         * modules/alignof-tests (Dependencies): Add stdint.
48233         Reported by Eric Blake.
48234
48235 2009-05-31  Bruno Haible  <bruno@clisp.org>
48236
48237         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
48238         restriction due to compiler bugs.
48239         Reported by Eric Blake.
48240
48241 2009-05-31  Simon Josefsson  <simon@josefsson.org>
48242             Bruno Haible  <bruno@clisp.org>
48243
48244         Fix test-alignof failure.
48245         * lib/alignof.h (alignof_slot): New macro.
48246         (alignof_type): New macro, with the same semantics as the previous
48247         'alignof'.
48248         (alignof): Alias to alignof_slot.
48249         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
48250         check that the results are usable as constant expressions.
48251
48252 2009-05-31  Bruno Haible  <bruno@clisp.org>
48253
48254         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
48255         * tests/test-memchr.c (main): Check that memchr does not read past the
48256         first occurrence of the byte.
48257         * tests/test-strstr.c (main): Update comment.
48258         Suggested by Eric Blake.
48259
48260 2009-05-30  Bruno Haible  <bruno@clisp.org>
48261
48262         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
48263         detail how to use dumpbin.
48264         Reported by David Byron <dbyron@dbyron.com>.
48265
48266 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48267
48268         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
48269
48270 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48271
48272         * m4/manywarnings.m4: Add GCC 4.4 warnings.
48273
48274 2009-05-28  Bruno Haible  <bruno@clisp.org>
48275
48276         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
48277         build-aux/ files.
48278
48279 2009-05-28  Simon Josefsson  <simon@josefsson.org>
48280
48281         * gnulib-tool (func_import): Transform license on build-aux/ files too.
48282
48283 2009-05-27  Simon Josefsson  <simon@josefsson.org>
48284
48285         * gnulib-tool (sed_transform_main_lib_file)
48286         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
48287         regexps.
48288
48289 2009-05-26  Simon Josefsson  <simon@josefsson.org>
48290
48291         * tests/test-strstr.c: Add another self-test.
48292         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
48293         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
48294
48295 2009-05-23  Bruno Haible  <bruno@clisp.org>
48296
48297         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
48298         change.
48299
48300 2009-05-21  Bruno Haible  <bruno@clisp.org>
48301
48302         Simplify use of mode_t varargs.
48303         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
48304         uses 'mode_t' or 'int'.
48305         * lib/openat.c (openat): Likewise.
48306         * lib/open-safer.c (open_safer): Likewise.
48307         * m4/mode_t.m4: New file.
48308         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
48309         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
48310         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
48311         * modules/open (Files): Add m4/mode_t.m4.
48312         * modules/openat (Files): Likewise.
48313         * modules/fcntl-safer (Files): Likewise.
48314         Suggested by Eric Blake.
48315
48316 2009-05-21  Pádraig Brady  <P@draigbrady.com>
48317
48318         * doc/glibc-functions/fallocate.texi: New file.
48319         * doc/gnulib.texi: Include it.
48320
48321 2009-05-21  Eric Blake  <ebb9@byu.net>
48322             Bruno Haible  <bruno@clisp.org>
48323
48324         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
48325         invocations.
48326         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48327
48328 2009-05-21  Eric Blake  <ebb9@byu.net>
48329             Bruno Haible  <bruno@clisp.org>
48330
48331         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
48332         include_next. Fix of 2008-11-20 commit.
48333         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
48334         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
48335         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
48336         NEXT_MATH_H.
48337         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
48338         instead of NEXT_MATH_H.
48339
48340 2009-05-21  Bruno Haible  <bruno@clisp.org>
48341
48342         Avoid redefinition warnings for SIZE_MAX.
48343         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
48344         Reported by Simon Josefsson.
48345
48346 2009-05-21  Bruno Haible  <bruno@clisp.org>
48347
48348         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
48349         AC_CACHE_VAL.
48350
48351 2009-05-20  Bruno Haible  <bruno@clisp.org>
48352
48353         Make zeroptr.h work on mingw.
48354         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
48355         mprotect.
48356         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
48357         * modules/memchr2-tests (configure.ac): Likewise.
48358         * modules/memcmp-tests (configure.ac): Likewise.
48359         * modules/memmem-tests (configure.ac): Likewise.
48360         * modules/memrchr-tests (configure.ac): Likewise.
48361         Reported by Simon Josefsson.
48362
48363 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48364
48365         * tests/test-glob.c: Include string.h for strcmp prototype.
48366
48367 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48368
48369         * modules/getdelim (Depends-on): Add explicit stdint, although it
48370         was implicitly already pulled in via realloc-posix.
48371         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
48372
48373 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48374
48375         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
48376         G. Christensen" <tgc@jupiterrise.com>.
48377         * m4/sys_socket_h.m4: Check for sa_family_t.
48378         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
48379         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
48380         * tests/test-sys_socket.c: Check that sa_family_t works.
48381
48382 2009-05-18  Eric Blake  <ebb9@byu.net>
48383
48384         maint.mk: allow gnulib_dir in VPATH build
48385         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
48386
48387 2009-05-15  Jim Meyering  <meyering@redhat.com>
48388
48389         maint.mk: Give gnulib_dir a default definition.
48390         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
48391         Thus, most packages no longer need to specify this variable in cfg.mk
48392
48393 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
48394
48395         rename.m4: fix typos that would make non-mingw cross-configure fail
48396         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
48397
48398 2009-05-13  Eric Blake  <ebb9@byu.net>
48399
48400         mmap-anon: avoid out-of-order autoconf expansion
48401         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
48402         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
48403         * modules/memchr-tests (Depends-on): Add extensions.
48404         * modules/memchr2-tests (Depends-on): Add extensions.
48405         * modules/memcmp-tests (Depends-on): Add extensions.
48406         * modules/memmem-tests (Depends-on): Add extensions.
48407         * modules/memrchr-tests (Depends-on): Add extensions.
48408
48409 2009-05-13  Bruno Haible  <bruno@clisp.org>
48410
48411         Make some tests ISO C 99 compliant.
48412         * tests/zerosize-ptr.h: New file.
48413         * tests/test-memchr.c: Include zerosize-ptr.h.
48414         (main): Use a zero-size object pointer instead of NULL.
48415         * tests/test-memchr2.c: Include zerosize-ptr.h.
48416         (main): Use a zero-size object pointer instead of NULL.
48417         * tests/test-memcmp.c: Include zerosize-ptr.h.
48418         (main): Use a zero-size object pointer instead of NULL.
48419         * tests/test-memmem.c: Include zerosize-ptr.h.
48420         (main): Use a zero-size object pointer instead of NULL.
48421         * tests/test-memrchr.c: Include zerosize-ptr.h.
48422         (main): Use a zero-size object pointer instead of NULL.
48423         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
48424         m4/mmap-anon.m4.
48425         (Depends-on): Add getpagesize.
48426         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48427         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
48428         m4/mmap-anon.m4.
48429         (Depends-on): Add getpagesize.
48430         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48431         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
48432         m4/mmap-anon.m4.
48433         (Depends-on): Add getpagesize.
48434         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48435         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
48436         m4/mmap-anon.m4.
48437         (Depends-on): Add getpagesize.
48438         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48439         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
48440         m4/mmap-anon.m4.
48441         (Depends-on): Add getpagesize.
48442         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48443
48444 2009-05-12  Bruno Haible  <bruno@clisp.org>
48445
48446         Tests for module 'alignof'.
48447         * modules/alignof-tests: New file.
48448         * tests/test-alignof.c: New file.
48449
48450 2009-05-12  Bruno Haible  <bruno@clisp.org>
48451
48452         Fix alignof macro.
48453         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
48454         vendor compilers that are always correct.
48455
48456 2009-05-12  Bruno Haible  <bruno@clisp.org>
48457
48458         Make the MAP_ANONYMOUS detection work on HP-UX 11.
48459         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
48460         not whether its fully works.
48461
48462 2009-05-12  Bruno Haible  <bruno@clisp.org>
48463
48464         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
48465
48466 2009-05-12  Jim Meyering  <meyering@redhat.com>
48467
48468         * top/maint.mk: Adjust backslash alignment.
48469
48470 2009-05-11  Simon Josefsson  <simon@josefsson.org>
48471
48472         * top/maint.mk: Make $(srcdir)/build-aux configurable.
48473
48474 2009-05-11  Eric Blake  <ebb9@byu.net>
48475
48476         argp: avoid undefined behavior
48477         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
48478         macros.
48479
48480 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48481
48482         * tests/test-vc-list-files-git.sh: Do git config of user.email and
48483         user.name to prevent git commit from complaining.
48484
48485 2009-05-10  Bruno Haible  <bruno@clisp.org>
48486
48487         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
48488         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
48489         it rewrites every file name only once.
48490         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
48491
48492 2009-05-08  Bruno Haible  <bruno@clisp.org>
48493
48494         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
48495         instead of 'max'.
48496
48497 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48498
48499         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
48500         sockaddr_storage test.
48501
48502 2009-05-07  Simon Josefsson  <simon@josefsson.org>
48503
48504         * modules/sys_socket (Makefile.am): Substitute
48505         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
48506         * m4/sys_socket_h.m4: Check for sockaddr_storage.
48507         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
48508         * tests/test-sys_socket.c: Check sockaddr_storage.
48509
48510 2009-05-08  Bruno Haible  <bruno@clisp.org>
48511
48512         New module 'alignof'.
48513         * lib/alignof.h: New file.
48514         * modules/alignof: New file.
48515
48516 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48517             Bruno Haible  <bruno@clisp.org>
48518
48519         Fix test-file-has-acl on FreeBSD.
48520         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
48521         mask is implicitly added.
48522         * tests/test-file-has-acl.c: Include <signal.h>.
48523         (main): Terminate the test after 5 seconds.
48524         * modules/acl-tests (configure.ac): Check for alarm function.
48525
48526 2009-05-04  Bruno Haible  <bruno@clisp.org>
48527
48528         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
48529         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
48530         * modules/errno (configure.ac): Drop AC_REQUIRE.
48531         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
48532         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
48533
48534 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48535
48536         * modules/glob-tests: New module.
48537         * tests/test-glob.c: Add.
48538
48539 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48540
48541         * modules/fnmatch-tests: New module.
48542         * tests/test-fnmatch.c: Add.
48543
48544 2009-05-04  Eric Blake  <ebb9@byu.net>
48545
48546         maint: make the new no-submodule-changes rule VPATH-safe
48547         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
48548
48549 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48550             Bruno Haible  <bruno@clisp.org>
48551
48552         acl: Fix infinite loop on FreeBSD.
48553         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
48554         of return value from acl_get_entry.
48555         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
48556         Likewise.
48557
48558 2009-05-03  Bruno Haible  <bruno@clisp.org>
48559
48560         * lib/acl-internal.h (acl_entries): Clarify return value.
48561         * lib/acl_entries.c (acl_entries): Likewise.
48562
48563 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48564
48565         Bug fix in acl module.
48566         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
48567
48568 2009-05-03  Bruno Haible  <bruno@clisp.org>
48569
48570         Create gperf-generated file in the source dir, not in the build dir.
48571         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
48572         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
48573         * modules/unicase/locale-language (unicase/locale-languages.h):
48574         Likewise.
48575         * modules/unicase/special-casing (unicase/special-casing-table.h):
48576         Likewise.
48577         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
48578         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
48579         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
48580         Reported by Ralf Wildenhues.
48581
48582 2009-05-03  Bruno Haible  <bruno@clisp.org>
48583
48584         * modules/fnmatch (Description, configure.ac): Taken from
48585         fnmatch-posix.
48586         * modules/fnmatch-posix: Turn into a symbolic reference to the
48587         'fnmatch' module, and deprecate.
48588         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
48589
48590 2009-05-03  Bruno Haible  <bruno@clisp.org>
48591
48592         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
48593         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
48594         Reported by Ralf Wildenhues.
48595
48596 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48597
48598         * m4/fnmatch.m4: Fix fnmatch re-define.
48599
48600 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48601
48602         priv-set: new module and tests; adapt write-any-file
48603         * lib/priv-set.c: New file.
48604         * lib/priv-set.h: New file.
48605         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
48606         * lib/write-any-file.c: Simplify by using priv-set module.
48607         * m4/priv-set.m4: New file.
48608         * modules/priv-set: New file.
48609         * modules/unlinkdir: Add dependency on priv-set module.
48610         * modules/write-any-file: Likewise.
48611
48612         Tests for module 'priv-set'.
48613         * modules/priv-set-tests: New file.
48614         * tests/test-priv-set.c: New file.
48615
48616 2009-05-03  Jim Meyering  <meyering@redhat.com>
48617             Bruno Haible  <bruno@clisp.org>
48618
48619         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
48620         use the converted UTF-8 variant of the name instead.
48621
48622 2009-05-03  Jim Meyering  <meyering@redhat.com>
48623
48624         tests: tighten some getdate tests
48625         * tests/test-getdate.c (main): Tighten tests: require equality,
48626         not just greater than.  Set TZ envvar to UTC0.
48627
48628 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
48629
48630         getdate: correctly interpret "next monday" when run on a Monday
48631         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
48632         that e.g., "next tues" (when run on a tuesday) results in a date
48633         that is one week in the future, and not today's date.
48634         I.e., add a week when the wday is the same as the current one.
48635         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
48636         and earlier by Martin Bernreuther and Jan Minář.
48637         * tests/test-getdate.c (main): Check that "next DAY" is always in
48638         the future and that "last DAY" is always in the past.
48639
48640 2009-05-02  Jim Meyering  <meyering@redhat.com>
48641
48642         build: ensure that a release build fails when a submodule is unclean
48643         * top/maint.mk (no-submodule-changes): New rule.
48644         (alpha beta major): Depend on it.
48645
48646 2009-05-02  Bruno Haible  <bruno@clisp.org>
48647
48648         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
48649         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
48650         shell variable gl_fnmatch_required to detect which variant is
48651         requested.
48652         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
48653         gl_FUNC_FNMATCH_POSIX.
48654         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
48655         exclude fnmatch-posix.
48656
48657 2009-05-02  Bruno Haible  <bruno@clisp.org>
48658
48659         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
48660         * modules/mbsrtowcs (License): Change to LGPLv2+.
48661         * modules/strnlen1 (License): Likewise.
48662         Reported by Simon Josefsson.
48663
48664 2009-05-02  Bruno Haible  <bruno@clisp.org>
48665
48666         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
48667         "cross".
48668         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
48669         gnulib-tool was called with option --source-base=lib.
48670
48671 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48672
48673         Use automake *-local hooks without commands, for extensibility.
48674         * modules/localcharset (Makefile.am): Rename install-exec-local
48675         rule to install-exec-localcharset, and make it a prerequisite of
48676         install-exec-local.  Likewise, rename the uninstall-local rule to
48677         uninstall-localcharset, and make it a prerequisite of the former.
48678
48679 2009-05-01  Bruno Haible  <bruno@clisp.org>
48680
48681         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
48682         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48683         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
48684         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
48685         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
48686         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48687         m4/locale-zh.m4, m4/codeset.m4.
48688
48689         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48690         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
48691         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48692         m4/locale-zh.m4.
48693
48694         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
48695         REPLACE_WCRTOMB if mbstate_t must be replaced.
48696         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
48697         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
48698
48699 2009-05-01  Bruno Haible  <bruno@clisp.org>
48700
48701         Avoid compiler warnings when redefining macros defined by <libintl.h>.
48702         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
48703         dngettext, dcngettext, textdomain, bindtextdomain,
48704         bind_textdomain_codeset): Undefine before redefining.
48705
48706 2009-04-30  Bruno Haible  <bruno@clisp.org>
48707
48708         Fix bug introduced on 2009-04-25.
48709         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
48710         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
48711         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
48712         is defined.
48713         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
48714         is defined.
48715         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
48716         is defined.
48717         Reported by Elbert_Pol <elbert.pol@gmail.com>.
48718
48719 2009-04-28  Bruno Haible  <bruno@clisp.org>
48720
48721         Comment tweaks.
48722         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
48723         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
48724         * lib/unicase.h (u*_casexfrm): Likewise.
48725         Reported by Paolo Bonzini.
48726
48727 2009-04-28  Bruno Haible  <bruno@clisp.org>
48728
48729         Fix a compilation error.
48730         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
48731         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
48732         Reported by Jim Meyering.
48733
48734 2009-04-27  Bruno Haible  <bruno@clisp.org>
48735
48736         New module 'libunistring'.
48737         * modules/libunistring: New file.
48738         * m4/libunistring.m4: New file.
48739         * MODULES.html.sh (Unicode string functions): Add it.
48740
48741 2009-04-27  Eric Blake  <ebb9@byu.net>
48742
48743         maint.mk: allow package-specific header to provide <config.h>
48744         * top/maint.mk (sc_require_config_h): New variable.
48745         (sc_require_config_h, sc_require_config_h_first): Use it.
48746
48747 2009-04-27  Simon Josefsson  <simon@josefsson.org>
48748
48749         * top/maint.mk (sc_avoid_if_before_free): Except
48750         useless-if-before-free script.
48751
48752 2009-04-27  Eric Blake  <ebb9@byu.net>
48753
48754         maintainer-makefile: depend on all required helper scripts
48755         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
48756         useless-if-before-free.
48757         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
48758         version, rather than assuming gnulib checkout is available.
48759         Reported by Simen Josefsson.
48760
48761 2009-04-26  Bruno Haible  <bruno@clisp.org>
48762
48763         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
48764         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
48765         "../" or "..".
48766
48767 2009-04-26  Bruno Haible  <bruno@clisp.org>
48768
48769         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
48770         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
48771         AC_LIB_HAVE_LINKFLAGS.
48772
48773 2009-04-26  Bruno Haible  <bruno@clisp.org>
48774
48775         Simplify calling convention of u*_conv_from_encoding.
48776         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
48777         u32_conv_from_encoding): Expect a resultbuf argument and return the
48778         result directly as a pointer.
48779         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
48780         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
48781         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
48782         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
48783         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
48784         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48785         Update.
48786         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
48787         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
48788         * lib/vasnprintf.c (VASNPRINTF): Update.
48789         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
48790         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
48791         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
48792         * NEWS: Mention the change.
48793
48794 2009-04-26  Bruno Haible  <bruno@clisp.org>
48795
48796         Simplify calling convention of u*_conv_to_encoding.
48797         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
48798         u32_conv_to_encoding): Expect a resultbuf argument and return the
48799         result directly as a pointer.
48800         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48801         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
48802         freeing scaled_offsets if mem_iconveha failed.
48803         * lib/unicase/u-casexfrm.h (FUNC): Update.
48804         * lib/uninorm/u-normxfrm.h (FUNC): Update.
48805         * lib/vasnprintf.c (VASNPRINTF): Update.
48806         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
48807         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
48808         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
48809         * NEWS: Mention the change.
48810
48811 2009-04-26  Bruno Haible  <bruno@clisp.org>
48812
48813         Avoid test failures on AIX and OSF/1.
48814         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
48815         malloc(0).
48816         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48817         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48818         Likewise.
48819         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
48820         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
48821         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
48822         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
48823         * doc/posix-functions/malloc.texi: Document the portability problem
48824         related to malloc(0).
48825
48826 2009-04-26  Bruno Haible  <bruno@clisp.org>
48827
48828         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
48829         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
48830         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
48831
48832 2009-04-25  Bruno Haible  <bruno@clisp.org>
48833
48834         Avoid link error when creating a namespace clean library.
48835         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
48836         as macro with arguments if already defined as an alias.
48837         * lib/signbitf.c (gl_signbitf): Don't undefine.
48838         * lib/signbitd.c (gl_signbitd): Don't undefine.
48839         * lib/signbitl.c (gl_signbitl): Don't undefine.
48840
48841 2009-04-25  Jim Meyering  <meyering@redhat.com>
48842
48843         vc-list-files: fix another quoting bug
48844         * build-aux/vc-list-files: Avoid sed backslash expansion
48845         of pathological directory names.
48846
48847 2009-04-25  Eric Blake  <ebb9@byu.net>
48848
48849         vc-list-files: fix shell quoting error
48850         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
48851         timestamp.
48852
48853 2009-04-25  Jim Meyering  <meyering@redhat.com>
48854
48855         vc-list-files: restore lost functionality with subdir argument
48856         * build-aux/vc-list-files: When given a non-"." sub-directory
48857         argument, substitute the $dir/ prefix back onto each resulting name.
48858         Otherwise, coreutils' root_tests check would fail.
48859
48860 2009-04-24  Eric Blake  <ebb9@byu.net>
48861
48862         vc-list-files: ignore git symlinks
48863         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
48864         than ls-files, to ignore git symlinks.
48865
48866         maint.mk: import improvements from m4
48867         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
48868         (move_if_change): Delete unused macro.
48869         (news-date-check, vc-diff-check): Support VPATH builds.
48870         (announcement): Likewise.  Split --bootstrap-tools list...
48871         (boostrap-tools): ...into separate list, which can be overridden
48872         in cfg.mk.
48873         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
48874         requiring dependency on useless-if-before-free module.
48875         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
48876         Support VPATH builds.
48877
48878 2009-04-24  Jim Meyering  <meyering@redhat.com>
48879
48880         maint.mk: remove coreutils-specific rules and variables
48881         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
48882         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
48883         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
48884
48885         maint.mk: remove obsolete rule
48886         * top/maint.mk (rel-check): Remove rule.
48887         (WGET, WGETFLAGS): Remove now-unused variables.
48888
48889 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48890
48891         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
48892         consistency.
48893
48894         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
48895         '$(PATH_SEPARATOR)' instead of ':'.
48896
48897 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48898
48899         * lib/getopt1.c (main): Use 'const' for static array.
48900
48901 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48902
48903         * top/maint.mk: Sync with coreutils.
48904         * NEWS: Explain incompatibilities.
48905
48906 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48907             Bruno Haible  <bruno@clisp.org>
48908
48909         Fix cross-compilation results.
48910         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
48911         statement, as third argument of AC_TRY_RUN.
48912         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
48913         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
48914         Likewise.
48915         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
48916         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
48917         Likewise.
48918         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
48919         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
48920         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
48921
48922 2009-04-20  Bruno Haible  <bruno@clisp.org>
48923
48924         Avoid test failure on mingw.
48925         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
48926
48927 2009-04-20  Bruno Haible  <bruno@clisp.org>
48928
48929         Avoid compilation error on mingw.
48930         * modules/localename-tests (Depends-on): Add locale.
48931
48932 2009-04-19  Bruno Haible  <bruno@clisp.org>
48933
48934         Support for building a shared library on Windows platforms.
48935         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
48936         (main): Test the presence of UNINORM_NFC here.
48937         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
48938         (main): Test the presence of UNINORM_NFD here.
48939         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
48940         (main): Test the presence of UNINORM_NFKC here.
48941         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
48942         (main): Test the presence of UNINORM_NFKD here.
48943
48944 2009-04-19  Bruno Haible  <bruno@clisp.org>
48945
48946         Avoid a compiler warning.
48947         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
48948         Change type of variable 'sequence'.
48949
48950 2009-04-19  Bruno Haible  <bruno@clisp.org>
48951
48952         * modules/configmake (Makefile.am): When the contents of configmake.h
48953         does not change, arrange to preserve its modification time.
48954
48955 2009-04-17  Simon Josefsson  <simon@josefsson.org>
48956
48957         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
48958         gettext domain.
48959
48960 2009-04-16  Jim Meyering  <meyering@redhat.com>
48961
48962         useless-if-before-free: improve conversion code
48963         * build-aux/useless-if-before-free: Adjust code-in-comment to match
48964         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
48965
48966 2009-04-14  Bruno Haible  <bruno@clisp.org>
48967
48968         * modules/fcntl (Depends-on): Add extensions.
48969         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
48970
48971 2009-04-12  Ben Pfaff  <blp@gnu.org>
48972
48973         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
48974         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
48975
48976 2009-03-20  Ben Pfaff  <blp@gnu.org>
48977
48978         Make rename replace existing destinations on Windows.
48979         * m4/rename.m4: Add test for Mingw.
48980         * lib/rename.c: Add rename replacement that uses MoveFileEx with
48981         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
48982         * doc/posix-functions/rename.texi: Document.
48983
48984 2009-04-10  Bruno Haible  <bruno@clisp.org>
48985
48986         New include file "iconveh.h".
48987         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
48988         * lib/striconveh.h: Include it.
48989         (enum iconv_ilseq_handler): Remove definition.
48990         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
48991         striconveh.h.
48992         * lib/striconveha.c: Include striconveh.h.
48993         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
48994         * modules/striconveh (Files): Add lib/iconveh.h.
48995         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
48996         lib/striconveh.h.
48997
48998 2009-04-10  Bruno Haible  <bruno@clisp.org>
48999
49000         * lib/uniconv.h: Update comment.
49001
49002 2009-04-10  Bruno Haible  <bruno@clisp.org>
49003
49004         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
49005         always.
49006         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
49007         * lib/unistr/u16-mbtouc-aux.c: Likewise.
49008         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
49009         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
49010         "unistring-notinline.h", so that the function gets defined always.
49011         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
49012         * lib/unistr/u8-uctomb.c: Likewise.
49013         * lib/unistr/u16-mbtouc.c: Likewise.
49014         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
49015         * lib/unistr/u16-uctomb.c: Likewise.
49016         * lib/unistr/u32-mbtouc.c: Likewise.
49017         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
49018         * lib/unistr/u32-uctomb.c: Likewise.
49019
49020 2009-04-10  Bruno Haible  <bruno@clisp.org>
49021
49022         Mark 'utime' obsolete.
49023         * modules/utime (Status, Notice): New sections.
49024         Suggested by Jim Meyering.
49025
49026         Fix cross-compile guess for utime test.
49027         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
49028         autoconf.
49029         * doc/posix-functions/utime.texi: Give more precisions.
49030         Reported by Jan <ipif@ymail.com>.
49031
49032 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
49033
49034         filevercmp: correct today's change
49035         * lib/filevercmp.c: Also handle coreutils' test inputs.
49036         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
49037
49038         Fix regression in 'filevercmp' module. Thanks Sven Joachim
49039         for reporting it.
49040         * lib/filevercmp.c: Special handle for "", "." and "..".
49041         * tests/test-filevercmp.c: Enlarge the set suite.
49042
49043 2009-04-07  Jim Meyering  <meyering@redhat.com>
49044
49045         useless-if-before-free: show how to remove braced useless free, too
49046         * build-aux/useless-if-before-free: still only in a comment, though.
49047
49048 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
49049
49050         maint.mk: import changes to syntax-check macros from coreutils
49051         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
49052         Use them in the relevant macros.
49053
49054 2009-04-06  Bruno Haible  <bruno@clisp.org>
49055
49056         Fix unportable use of bit-fields.
49057         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
49058         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
49059         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
49060
49061 2009-04-06  Bruno Haible  <bruno@clisp.org>
49062
49063         Avoid test failures on AIX and OSF/1.
49064         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
49065         that malloc(0) = NULL.
49066         * tests/unicase/test-u8-tolower.c (check): Likewise.
49067         * tests/unicase/test-u8-totitle.c (check): Likewise.
49068         * tests/unicase/test-u8-toupper.c (check): Likewise.
49069         * tests/unicase/test-u16-casefold.c (check): Likewise.
49070         * tests/unicase/test-u16-tolower.c (check): Likewise.
49071         * tests/unicase/test-u16-totitle.c (check): Likewise.
49072         * tests/unicase/test-u16-toupper.c (check): Likewise.
49073         * tests/unicase/test-u32-casefold.c (check): Likewise.
49074         * tests/unicase/test-u32-tolower.c (check): Likewise.
49075         * tests/unicase/test-u32-totitle.c (check): Likewise.
49076         * tests/unicase/test-u32-toupper.c (check): Likewise.
49077         * tests/uninorm/test-u8-nfc.c (check): Likewise.
49078         * tests/uninorm/test-u8-nfd.c (check): Likewise.
49079         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
49080         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
49081         * tests/uninorm/test-u16-nfc.c (check): Likewise.
49082         * tests/uninorm/test-u16-nfd.c (check): Likewise.
49083         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
49084         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
49085         * tests/uninorm/test-u32-nfc.c (check): Likewise.
49086         * tests/uninorm/test-u32-nfd.c (check): Likewise.
49087         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
49088         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
49089
49090 2009-04-05  Bruno Haible  <bruno@clisp.org>
49091
49092         Work around an autoconf limitation.
49093         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
49094         comment line if it would be longer than 3 KB.
49095
49096 2009-04-05  Bruno Haible  <bruno@clisp.org>
49097
49098         Avoid test failure with libiconv-1.13.
49099         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
49100         of the expected test results.
49101
49102 2009-04-05  Bruno Haible  <bruno@clisp.org>
49103
49104         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
49105         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
49106         that it should be installed.
49107
49108 2009-04-05  Bruno Haible  <bruno@clisp.org>
49109
49110         * gnulib-tool: New option --copy-file.
49111         (func_usage): Document it.
49112         (func_dest_tmpfilename): Moved out of func_import.
49113         (func_add_file, func_update_file): New functions, extracted from
49114         func_import.
49115         (func_import): Update.
49116
49117 2009-04-05  Karl Berry  <karl@gnu.org>
49118
49119         * README: prominently mention gnulib-tool.
49120         Rearrange sections so getting the code is near the top.
49121
49122 2009-04-05  Bruno Haible  <bruno@clisp.org>
49123
49124         * lib/unicase.h: Mention u*_cmp2.
49125         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49126         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
49127         * lib/unicase/ulc-casecmp.c: Likewise.
49128         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
49129         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
49130         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
49131         unistr/u8-cmp.
49132         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
49133         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
49134         unistr/u16-cmp.
49135         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
49136         unistr/u32-cmp.
49137
49138         * lib/uninorm.h: Mention u*_cmp2.
49139         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49140         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
49141         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
49142         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
49143         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
49144         unistr/u8-cmp.
49145         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
49146         unistr/u16-cmp.
49147         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
49148         unistr/u32-cmp.
49149
49150         New module 'unistr/u32-cmp2'.
49151         * lib/unistr/u32-cmp2.c: New file.
49152         * modules/unistr/u32-cmp2: New file.
49153
49154         New module 'unistr/u16-cmp2'.
49155         * lib/unistr/u16-cmp2.c: New file.
49156         * modules/unistr/u16-cmp2: New file.
49157
49158         New module 'unistr/u8-cmp2'.
49159         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
49160         * lib/unistr/u8-cmp2.c: New file.
49161         * lib/unistr/u-cmp2.h: New file.
49162         * modules/unistr/u8-cmp2: New file.
49163
49164 2009-04-05  Bruno Haible  <bruno@clisp.org>
49165
49166         * lib/unictype.h (uc_property_is_valid): New macro.
49167         * tests/unictype/test-pr_byname.c (main): Use it.
49168
49169         * lib/unistr.h: Doc fixes.
49170         * lib/uniconv.h: Doc fixes.
49171         * lib/unictype.h: Doc fixes.
49172
49173 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
49174
49175         Port coreutils 7.2 to Solaris 8.
49176
49177         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
49178         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
49179         for Solaris 8.  This is a bit of a hack, as it means it's the
49180         caller's responsibility to add -lnsl if needed, but most likely it
49181         won't be needed since only getaddrinfo uses this and getaddrinfo
49182         isn't needed on Solaris 8.
49183
49184         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
49185         problem to Solaris 8 encountered with coreutils 7.2, which
49186         resulted in a message "fnmatch.c:292: warning: passing argument 4
49187         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
49188         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
49189
49190 2009-04-03  Simon Josefsson  <simon@josefsson.org>
49191
49192         * m4/ld-version-script.m4: Add FIXME comment.
49193
49194 2009-04-02  Simon Josefsson  <simon@josefsson.org>
49195
49196         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
49197         SOVERSION variable.
49198
49199 2009-04-02  Bruno Haible  <bruno@clisp.org>
49200
49201         * Makefile (info, html, dvi, pdf): Combine the rules.
49202         Suggested by Jim Meyering.
49203
49204 2009-04-01  Bruno Haible  <bruno@clisp.org>
49205
49206         * Makefile (info, html, dvi, pdf): New targets.
49207         Reported by Reuben Thomas <rrt@sc3d.org>.
49208
49209 2009-04-01  Bruno Haible  <bruno@clisp.org>
49210
49211         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
49212         can be put into PATH.
49213         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
49214
49215 2009-04-01  Bruno Haible  <bruno@clisp.org>
49216
49217         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
49218
49219 2009-04-01  Bruno Haible  <bruno@clisp.org>
49220
49221         Rename module 'visibility'.
49222         * modules/lib-symbol-visibility: Renamed from modules/visibility.
49223         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
49224         * doc/gnulib.texi: Update.
49225         * MODULES.html.sh (Misc): Update.
49226         * NEWS: Mention the change.
49227
49228 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49229
49230         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
49231         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
49232         Eric Blake <ebb9@byu.net> for review.
49233         * MODULES.html.sh: Add lib-msvc-compat.
49234         * doc/gnulib.texi: Link to new section.
49235         * m4/ld-output-def.m4: New file.
49236         * doc/ld-output-def.texi: New file.
49237
49238 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49239
49240         Rename ld-version-script to lib-symbol-versions.  Suggested by
49241         Bruno Haible <bruno@clisp.org>.
49242         * modules/ld-version-script: Renamed to lib-symbol-versions.
49243         * doc/ld-version-script.texi: Fix module name.
49244         * MODULES.html.sh: Add lib-symbol-versions.
49245
49246 2009-03-31  Simon Josefsson  <simon@josefsson.org>
49247
49248         * modules/u64-tests: New file.
49249         * tests/test-u64.c: New file.
49250
49251 2009-03-04  Simon Josefsson  <simon@josefsson.org>
49252
49253         * MODULES.html.sh: Mention u64.
49254         * modules/u64: New module.
49255         * modules/crypto/sha512: Depend on u64 module instead of providing
49256         u64.h.
49257
49258 2009-03-27  Eric Blake  <ebb9@byu.net>
49259
49260         test-strerror: make debugging EAI_SYSTEM easier
49261         * modules/getaddrinfo-tests (Depends-on): Add strerror.
49262         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
49263         failure was EAI_SYSTEM.
49264
49265 2009-03-25  Bruno Haible  <bruno@clisp.org>
49266
49267         Fix a problem with --enable-relocatable on Solaris 7.
49268         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
49269         since 2008-02-24.
49270
49271 2009-03-25  Eric Blake  <ebb9@byu.net>
49272
49273         test-sockets: avoid gcc warning
49274         * tests/test-sockets.c (main): Silence compiler warning.
49275
49276 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
49277
49278         New modules nproc, pthread, contributed by Glen Lenker.
49279
49280         * MODULES.html.sh: Add pthread, nproc.
49281         * lib/nproc.c: New file.
49282         * lib/nproc.h: New file.
49283         * lib/pthread.in.h: New file.
49284         * m4/pthread.m4: New file.
49285         * modules/nproc: New file.
49286         * modules/pthread: New file.
49287
49288 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49289
49290         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
49291         New variable.
49292
49293 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
49294
49295         filevercmp: handle simple~ and numbered.~3~ backup suffixes
49296         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
49297         * tests/test-filevercmp.c: Add tests for backup suffixes.
49298
49299 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49300
49301         * modules/stdlib (Depends-on): Add stdint, needed when defining
49302         struct random_data on, for example, HP-UX 10.20.  Reported by
49303         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49304
49305 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49306
49307         * lib/readline.c (readline): Call fflush on stdout after printing
49308         prompt.
49309
49310 2009-03-20  Bruno Haible  <bruno@clisp.org>
49311
49312         Remove dependency from 'close' module to -lws2_32 on native Windows.
49313         * lib/close-hook.h: New file.
49314         * lib/close-hook.c: New file.
49315         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
49316         w32sock.h.
49317         (_gl_close_fd_maybe_socket): Remove function.
49318         (rpl_close): Invoke execute_all_close_hooks instead of
49319         _gl_close_fd_maybe_socket.
49320         * lib/sockets.c: Include close-hook.h, w32sock.h.
49321         (close_fd_maybe_socket): New function, essentially from lib/close.c.
49322         (close_sockets_hook): New variable.
49323         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
49324         (gl_sockets_cleanup): Unregister it.
49325         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
49326         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
49327         * modules/close-hook: New file.
49328         * modules/close (Files): Remove lib/w32sock.h.
49329         (Depends-on): Add close-hook.
49330         (Link): Remove section.
49331         * modules/sockets (Files): Add lib/w32sock.h.
49332         (Depends-on): Add close-hook.
49333         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
49334         invocation.
49335         * NEWS: Mention that LIB_CLOSE is gone.
49336
49337 2009-03-23  Eric Blake  <ebb9@byu.net>
49338
49339         signal-tests: test previous patch
49340         * tests/test-signal.c: New file.
49341         * modules/signal-tests: Likewise.
49342
49343         signal.h: always support 'volatile sig_atomic_t'
49344         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
49345         (gl_SIGNAL_H_DEFAULTS): Add a default.
49346         * modules/signal (Makefile.am): Substitute if needed.
49347         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
49348         users can blindly add volatile.
49349         * doc/posix-headers/signal.texi (signal.h): Document it.
49350         Reported by Matthew Woehlke.
49351
49352 2009-03-23  Jim Meyering  <meyering@redhat.com>
49353
49354         pathmax: PATH_MAX: use pathconf only when available
49355         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
49356         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
49357         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
49358         This avoids a link failure in a PSP cross-compilation environment
49359         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
49360
49361         * lib/vasnprintf.c (divide): Fix typo in comment.
49362
49363 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49364
49365         * gnulib-tool (func_filter_filelist): Fix comment.
49366
49367 2009-03-20  Bruno Haible  <bruno@clisp.org>
49368
49369         Make sockets.h self-contained.
49370         * lib/sockets.c: Include sockets.h first.
49371         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
49372
49373 2009-03-19  Eric Blake  <ebb9@byu.net>
49374
49375         doc: mention more functions added in cygwin 1.7.0
49376         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
49377         addition.
49378         * doc/posix-functions/log2f.texi: Likewise.
49379
49380 2009-03-19  Jim Meyering  <meyering@redhat.com>
49381
49382         fsusage: avoid syntax error due to statement-before-declaration
49383         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
49384         after all declarations.  Reported by Matthew Woehlke in
49385         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
49386
49387 2009-03-18  Eric Blake  <ebb9@byu.net>
49388
49389         build-aux/compile: sync from automake
49390         * build-aux/compile: New file, from automake.
49391         * config/srclist.txt: Mention build-aux/compile.
49392
49393 2009-03-17  Bruno Haible  <bruno@clisp.org>
49394
49395         * lib/git-merge-changelog.c: Fix typo in comment.
49396         Reported by Reuben Thomas <rrt@sc3d.org>.
49397
49398 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
49399
49400         * m4/regex.m4: update and improve help for
49401         --without-included-regex.
49402
49403 2009-03-17  Simon Josefsson  <simon@josefsson.org>
49404
49405         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
49406         failure on missing include files.
49407
49408 2009-03-17  Eric Blake  <ebb9@byu.net>
49409
49410         doc: mention more functions added in cygwin 1.7.0
49411         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
49412         addition.
49413         * doc/posix-functions/fwscanf.texi: Likewise.
49414         * doc/posix-functions/swprintf.texi: Likewise.
49415         * doc/posix-functions/swscanf.texi: Likewise.
49416         * doc/posix-functions/vfwprintf.texi: Likewise.
49417         * doc/posix-functions/vfwscanf.texi: Likewise.
49418         * doc/posix-functions/vswprintf.texi: Likewise.
49419         * doc/posix-functions/vswscanf.texi: Likewise.
49420         * doc/posix-functions/vwprintf.texi: Likewise.
49421         * doc/posix-functions/vwscanf.texi: Likewise.
49422         * doc/posix-functions/wcscasecmp.texi: Likewise.
49423         * doc/posix-functions/wcsdup.texi: Likewise.
49424         * doc/posix-functions/wcsftime.texi: Likewise.
49425         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49426         * doc/posix-functions/wprintf.texi: Likewise.
49427         * doc/posix-functions/wscanf.texi: Likewise.
49428         * doc/glibc-functions/gethostbyname2.texi: Likewise.
49429
49430 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49431
49432         maint.mk: really add $(AM_MAKEFLAGS)
49433         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
49434         was inadvertently omitted in the last commit.
49435         Spotted by Bruno Haible.
49436
49437         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
49438         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
49439         $(AM_MAKEFLAGS)' rather than plain `make'.
49440
49441         gnulib-tool: execute $MAKE not make
49442         * gnulib-tool: Default $MAKE to 'make'.
49443         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
49444         than make.  Initialize $MAKE in the do-autobuild script.
49445
49446         gnulib-tool: use $MAKE not make in generated files
49447         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
49448         make, in generated files.  Initialize $MAKE in the do-autobuild
49449         script.
49450
49451         * top/GNUmakefile (_have-git-version-gen): Fix typo.
49452
49453         GNUmakefile: disable parallelism only for multiple, recursive targets
49454         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
49455         additions in the Makefile.
49456         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
49457         by Automake.
49458         (.NOTPARALLEL): Only disable parallel builds if multiple targets
49459         are listed on the command line and at least one of them is
49460         listed in $(ALL_RECURSIVE_TARGETS).
49461
49462 2009-03-14  Bruno Haible  <bruno@clisp.org>
49463
49464         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
49465         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
49466         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
49467         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
49468         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
49469         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
49470         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
49471         unistr/u8-uctomb.
49472         * modules/unistr/u8-strchr (Depends-on): Likewise.
49473         * modules/unistr/u8-strrchr (Depends-on): Likewise.
49474         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
49475         unistr/u16-uctomb.
49476         * modules/unistr/u16-strchr (Depends-on): Likewise.
49477         * modules/unistr/u16-strrchr (Depends-on): Likewise.
49478
49479 2009-03-12  Bruno Haible  <bruno@clisp.org>
49480
49481         Work around select() bug on Interix 3.5.
49482         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
49483         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
49484         * m4/select.m4: New file.
49485         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
49486         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
49487         * modules/select (Files): Add m4/select.m4.
49488         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
49489         * modules/nanosleep (Depends-on): Add select.
49490         * modules/poll (Depends-on): Likewise.
49491         * doc/posix-functions/select.texi: Mention the Interix bug.
49492         Reported by Markus Duft <mduft@gentoo.org>.
49493
49494         * lib/select.c: Renamed from lib/winsock-select.c.
49495         * modules/select (Files): Add lib/select.c, remove
49496         lib/winsock-select.c.
49497         (configure.ac): Update.
49498
49499 2009-03-12  Jim Meyering  <meyering@redhat.com>
49500
49501         avoid gcc warnings about unused macro definitions
49502         * lib/readtokens.c (STREQ): Remove unused definition.
49503         * lib/xmalloc.c (SIZE_MAX): Likewise.
49504         * lib/openat-die.c (N_): Likewise.
49505         * lib/mountlist.c (SIZE_MAX): Remove definition.
49506         Instead, include <stdint.h>.
49507         * lib/readutmp.c: Likewise.
49508         * modules/readutmp (Depends-on): Add stdint.
49509         * modules/mountlist (Depends-on): Add stdint.
49510         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
49511
49512 2009-03-10  Bruno Haible  <bruno@clisp.org>
49513
49514         Tests for module 'mbmemcasecoll'.
49515         * modules/mbmemcasecoll-tests: New file.
49516         * tests/test-mbmemcasecoll1.sh: New file.
49517         * tests/test-mbmemcasecoll2.sh: New file.
49518         * tests/test-mbmemcasecoll3.sh: New file.
49519         * tests/test-mbmemcasecoll.c: New file.
49520
49521         New module 'mbmemcasecoll'.
49522         * lib/mbmemcasecoll.h: New file.
49523         * lib/mbmemcasecoll.c: New file.
49524         * modules/mbmemcasecoll: New file.
49525
49526         * tests/test-mbmemcasecmp.h: New file, extracted from
49527         tests/test-mbmemcasecmp.c.
49528         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
49529         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
49530         (main): Update.
49531         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
49532
49533 2009-03-09  Bruno Haible  <bruno@clisp.org>
49534
49535         Tests for module 'mbmemcasecmp'.
49536         * modules/mbmemcasecmp-tests: New file.
49537         * tests/test-mbmemcasecmp1.sh: New file.
49538         * tests/test-mbmemcasecmp2.sh: New file.
49539         * tests/test-mbmemcasecmp3.sh: New file.
49540         * tests/test-mbmemcasecmp.c: New file.
49541
49542         New module 'mbmemcasecmp'.
49543         * lib/mbmemcasecmp.h: New file.
49544         * lib/mbmemcasecmp.c: New file.
49545         * modules/mbmemcasecmp: New file.
49546
49547 2009-03-09  Bruno Haible  <bruno@clisp.org>
49548
49549         Tests for module 'unicase/ulc-casecoll'.
49550         * modules/unicase/ulc-casecoll-tests: New file.
49551         * tests/unicase/test-ulc-casecoll1.sh: New file.
49552         * tests/unicase/test-ulc-casecoll2.sh: New file.
49553         * tests/unicase/test-ulc-casecoll.c: New file.
49554
49555         New module 'unicase/ulc-casecoll'.
49556         * lib/unicase.h (ulc_casecoll): New declaration.
49557         * lib/unicase/ulc-casecoll.c: New file.
49558         * modules/unicase/ulc-casecoll: New file.
49559
49560         New module 'unicase/ulc-casexfrm'.
49561         * lib/unicase.h (ulc_casexfrm): New declaration.
49562         * lib/unicase/ulc-casexfrm.c: New file.
49563         * modules/unicase/ulc-casexfrm: New file.
49564
49565 2009-03-09  Bruno Haible  <bruno@clisp.org>
49566
49567         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
49568         invocations.
49569
49570         * m4/mbscasecmp.m4: Remove file.
49571         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
49572         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
49573
49574         * m4/mbscasestr.m4: Remove file.
49575         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
49576         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
49577
49578         * m4/mbschr.m4: Remove file.
49579         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
49580         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
49581
49582         * m4/mbscspn.m4: Remove file.
49583         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
49584         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
49585
49586         * m4/mbslen.m4: Remove file.
49587         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
49588         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
49589
49590         * m4/mbsncasecmp.m4: Remove file.
49591         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
49592         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
49593
49594         * m4/mbsnlen.m4: Remove file.
49595         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
49596         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
49597
49598         * m4/mbspbrk.m4: Remove file.
49599         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
49600         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
49601
49602         * m4/mbspcasecmp.m4: Remove file.
49603         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
49604         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
49605
49606         * m4/mbsrchr.m4: Remove file.
49607         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
49608         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
49609
49610         * m4/mbssep.m4: Remove file.
49611         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
49612         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
49613
49614         * m4/mbsspn.m4: Remove file.
49615         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
49616         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
49617
49618         * m4/mbsstr.m4: Remove file.
49619         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
49620         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
49621
49622         * m4/mbstok_r.m4: Remove file.
49623         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
49624         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
49625
49626         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
49627
49628         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
49629         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
49630
49631         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
49632
49633 2009-03-08  Bruno Haible  <bruno@clisp.org>
49634
49635         Tests for module 'unicase/ulc-casecmp'.
49636         * modules/unicase/ulc-casecmp-tests: New file.
49637         * tests/unicase/test-ulc-casecmp1.sh: New file.
49638         * tests/unicase/test-ulc-casecmp2.sh: New file.
49639         * tests/unicase/test-ulc-casecmp.c: New file.
49640
49641         New module 'unicase/ulc-casecmp'.
49642         * lib/unicase.h (ulc_casecmp): New declaration.
49643         * lib/unicase/ulc-casecmp.c: New file.
49644         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
49645         'const SRC_UNIT *'.
49646         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
49647         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
49648         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
49649         * modules/unicase/ulc-casecmp: New file.
49650
49651         Tests for module 'unicase/u32-is-cased'.
49652         * modules/unicase/u32-is-cased-tests: New file.
49653         * tests/unicase/test-u32-is-cased.c: New file.
49654
49655         Tests for module 'unicase/u16-is-cased'.
49656         * modules/unicase/u16-is-cased-tests: New file.
49657         * tests/unicase/test-u16-is-cased.c: New file.
49658
49659         Tests for module 'unicase/u8-is-cased'.
49660         * modules/unicase/u8-is-cased-tests: New file.
49661         * tests/unicase/test-u8-is-cased.c: New file.
49662         * tests/unicase/test-is-cased.h: New file.
49663
49664         New module 'unicase/u32-is-cased'.
49665         * lib/unicase/u32-is-cased.c: New file.
49666         * modules/unicase/u32-is-cased: New file.
49667
49668         New module 'unicase/u16-is-cased'.
49669         * lib/unicase/u16-is-cased.c: New file.
49670         * modules/unicase/u16-is-cased: New file.
49671
49672         New module 'unicase/u8-is-cased'.
49673         * lib/unicase/u8-is-cased.c: New file.
49674         * lib/unicase/u-is-cased.h: New file.
49675         * modules/unicase/u8-is-cased: New file.
49676
49677         Tests for module 'unicase/u32-is-casefolded'.
49678         * modules/unicase/u32-is-casefolded-tests: New file.
49679         * tests/unicase/test-u32-is-casefolded.c: New file.
49680
49681         Tests for module 'unicase/u16-is-casefolded'.
49682         * modules/unicase/u16-is-casefolded-tests: New file.
49683         * tests/unicase/test-u16-is-casefolded.c: New file.
49684
49685         Tests for module 'unicase/u8-is-casefolded'.
49686         * modules/unicase/u8-is-casefolded-tests: New file.
49687         * tests/unicase/test-u8-is-casefolded.c: New file.
49688         * tests/unicase/test-is-casefolded.h: New file.
49689
49690         New module 'unicase/u32-is-casefolded'.
49691         * lib/unicase/u32-is-casefolded.c: New file.
49692         * modules/unicase/u32-is-casefolded: New file.
49693
49694         New module 'unicase/u16-is-casefolded'.
49695         * lib/unicase/u16-is-casefolded.c: New file.
49696         * modules/unicase/u16-is-casefolded: New file.
49697
49698         New module 'unicase/u8-is-casefolded'.
49699         * lib/unicase/u8-is-casefolded.c: New file.
49700         * modules/unicase/u8-is-casefolded: New file.
49701
49702         Tests for module 'unicase/u32-is-titlecase'.
49703         * modules/unicase/u32-is-titlecase-tests: New file.
49704         * tests/unicase/test-u32-is-titlecase.c: New file.
49705
49706         Tests for module 'unicase/u16-is-titlecase'.
49707         * modules/unicase/u16-is-titlecase-tests: New file.
49708         * tests/unicase/test-u16-is-titlecase.c: New file.
49709
49710         Tests for module 'unicase/u8-is-titlecase'.
49711         * modules/unicase/u8-is-titlecase-tests: New file.
49712         * tests/unicase/test-u8-is-titlecase.c: New file.
49713         * tests/unicase/test-is-titlecase.h: New file.
49714
49715         New module 'unicase/u32-is-titlecase'.
49716         * lib/unicase/u32-is-titlecase.c: New file.
49717         * modules/unicase/u32-is-titlecase: New file.
49718
49719         New module 'unicase/u16-is-titlecase'.
49720         * lib/unicase/u16-is-titlecase.c: New file.
49721         * modules/unicase/u16-is-titlecase: New file.
49722
49723         New module 'unicase/u8-is-titlecase'.
49724         * lib/unicase/u8-is-titlecase.c: New file.
49725         * modules/unicase/u8-is-titlecase: New file.
49726
49727         Tests for module 'unicase/u32-is-lowercase'.
49728         * modules/unicase/u32-is-lowercase-tests: New file.
49729         * tests/unicase/test-u32-is-lowercase.c: New file.
49730
49731         Tests for module 'unicase/u16-is-lowercase'.
49732         * modules/unicase/u16-is-lowercase-tests: New file.
49733         * tests/unicase/test-u16-is-lowercase.c: New file.
49734
49735         Tests for module 'unicase/u8-is-lowercase'.
49736         * modules/unicase/u8-is-lowercase-tests: New file.
49737         * tests/unicase/test-u8-is-lowercase.c: New file.
49738         * tests/unicase/test-is-lowercase.h: New file.
49739
49740         New module 'unicase/u32-is-lowercase'.
49741         * lib/unicase/u32-is-lowercase.c: New file.
49742         * modules/unicase/u32-is-lowercase: New file.
49743
49744         New module 'unicase/u16-is-lowercase'.
49745         * lib/unicase/u16-is-lowercase.c: New file.
49746         * modules/unicase/u16-is-lowercase: New file.
49747
49748         New module 'unicase/u8-is-lowercase'.
49749         * lib/unicase/u8-is-lowercase.c: New file.
49750         * modules/unicase/u8-is-lowercase: New file.
49751
49752         Tests for module 'unicase/u32-is-uppercase'.
49753         * modules/unicase/u32-is-uppercase-tests: New file.
49754         * tests/unicase/test-u32-is-uppercase.c: New file.
49755
49756         Tests for module 'unicase/u16-is-uppercase'.
49757         * modules/unicase/u16-is-uppercase-tests: New file.
49758         * tests/unicase/test-u16-is-uppercase.c: New file.
49759
49760         Tests for module 'unicase/u8-is-uppercase'.
49761         * modules/unicase/u8-is-uppercase-tests: New file.
49762         * tests/unicase/test-u8-is-uppercase.c: New file.
49763         * tests/unicase/test-is-uppercase.h: New file.
49764
49765         New module 'unicase/u32-is-uppercase'.
49766         * lib/unicase/u32-is-uppercase.c: New file.
49767         * modules/unicase/u32-is-uppercase: New file.
49768
49769         New module 'unicase/u16-is-uppercase'.
49770         * lib/unicase/u16-is-uppercase.c: New file.
49771         * modules/unicase/u16-is-uppercase: New file.
49772
49773         New module 'unicase/u8-is-uppercase'.
49774         * lib/unicase/u8-is-uppercase.c: New file.
49775         * modules/unicase/u8-is-uppercase: New file.
49776
49777         New module 'unicase/u32-is-invariant'.
49778         * lib/unicase/u32-is-invariant.c: New file.
49779         * modules/unicase/u32-is-invariant: New file.
49780
49781         New module 'unicase/u16-is-invariant'.
49782         * lib/unicase/u16-is-invariant.c: New file.
49783         * modules/unicase/u16-is-invariant: New file.
49784
49785         New module 'unicase/u8-is-invariant'.
49786         * lib/unicase/u8-is-invariant.c: New file.
49787         * lib/unicase/invariant.h: New file.
49788         * lib/unicase/u-is-invariant.h: New file.
49789         * modules/unicase/u8-is-invariant: New file.
49790
49791         Tests for module 'unicase/u32-casecoll'.
49792         * modules/unicase/u32-casecoll-tests: New file.
49793         * tests/unicase/test-u32-casecoll.c: New file.
49794
49795         Tests for module 'unicase/u16-casecoll'.
49796         * modules/unicase/u16-casecoll-tests: New file.
49797         * tests/unicase/test-u16-casecoll.c: New file.
49798
49799         Tests for module 'unicase/u8-casecoll'.
49800         * modules/unicase/u8-casecoll-tests: New file.
49801         * tests/unicase/test-u8-casecoll.c: New file.
49802
49803         New module 'unicase/u32-casecoll'.
49804         * lib/unicase/u32-casecoll.c: New file.
49805         * modules/unicase/u32-casecoll: New file.
49806
49807         New module 'unicase/u16-casecoll'.
49808         * lib/unicase/u16-casecoll.c: New file.
49809         * modules/unicase/u16-casecoll: New file.
49810
49811         New module 'unicase/u8-casecoll'.
49812         * lib/unicase/u8-casecoll.c: New file.
49813         * lib/unicase/u-casecoll.h: New file.
49814         * modules/unicase/u8-casecoll: New file.
49815
49816         New module 'unicase/u32-casexfrm'.
49817         * lib/unicase/u32-casexfrm.c: New file.
49818         * modules/unicase/u32-casexfrm: New file.
49819
49820         New module 'unicase/u16-casexfrm'.
49821         * lib/unicase/u16-casexfrm.c: New file.
49822         * modules/unicase/u16-casexfrm: New file.
49823
49824         New module 'unicase/u8-casexfrm'.
49825         * lib/unicase/u8-casexfrm.c: New file.
49826         * lib/unicase/u-casexfrm.h: New file.
49827         * modules/unicase/u8-casexfrm: New file.
49828
49829         Tests for module 'unicase/u32-casecmp'.
49830         * modules/unicase/u32-casecmp-tests: New file.
49831         * tests/unicase/test-u32-casecmp.c: New file.
49832
49833         Tests for module 'unicase/u16-casecmp'.
49834         * modules/unicase/u16-casecmp-tests: New file.
49835         * tests/unicase/test-u16-casecmp.c: New file.
49836
49837         Tests for module 'unicase/u8-casecmp'.
49838         * modules/unicase/u8-casecmp-tests: New file.
49839         * tests/unicase/test-u8-casecmp.c: New file.
49840         * tests/unicase/test-casecmp.h: New file.
49841
49842         New module 'unicase/u32-casecmp'.
49843         * lib/unicase/u32-casecmp.c: New file.
49844         * modules/unicase/u32-casecmp: New file.
49845
49846         New module 'unicase/u16-casecmp'.
49847         * lib/unicase/u16-casecmp.c: New file.
49848         * modules/unicase/u16-casecmp: New file.
49849
49850         New module 'unicase/u8-casecmp'.
49851         * lib/unicase/u8-casecmp.c: New file.
49852         * lib/unicase/u-casecmp.h: New file.
49853         * modules/unicase/u8-casecmp: New file.
49854
49855         Tests for module 'unicase/u32-casefold'.
49856         * modules/unicase/u32-casefold-tests: New file.
49857         * tests/unicase/test-u32-casefold.c: New file.
49858
49859         Tests for module 'unicase/u16-casefold'.
49860         * modules/unicase/u16-casefold-tests: New file.
49861         * tests/unicase/test-u16-casefold.c: New file.
49862
49863         Tests for module 'unicase/u8-casefold'.
49864         * modules/unicase/u8-casefold-tests: New file.
49865         * tests/unicase/test-u8-casefold.c: New file.
49866
49867         New module 'unicase/u32-casefold'.
49868         * lib/unicase/u32-casefold.c: New file.
49869         * modules/unicase/u32-casefold: New file.
49870
49871         New module 'unicase/u16-casefold'.
49872         * lib/unicase/u16-casefold.c: New file.
49873         * modules/unicase/u16-casefold: New file.
49874
49875         New module 'unicase/u8-casefold'.
49876         * lib/unicase/u8-casefold.c: New file.
49877         * lib/unicase/u-casefold.h: New file.
49878         * modules/unicase/u8-casefold: New file.
49879
49880         New module 'unicase/tocasefold'.
49881         * lib/unicase/casefold.h: New file.
49882         * lib/unicase/tocasefold.c: New file.
49883         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
49884         * modules/unicase/tocasefold: New file.
49885
49886         Tests for module 'unicase/u32-totitle'.
49887         * modules/unicase/u32-totitle-tests: New file.
49888         * tests/unicase/test-u32-totitle.c: New file.
49889
49890         Tests for module 'unicase/u16-totitle'.
49891         * modules/unicase/u16-totitle-tests: New file.
49892         * tests/unicase/test-u16-totitle.c: New file.
49893
49894         Tests for module 'unicase/u8-totitle'.
49895         * modules/unicase/u8-totitle-tests: New file.
49896         * tests/unicase/test-u8-totitle.c: New file.
49897
49898         New module 'unicase/u32-totitle'.
49899         * lib/unicase/u32-totitle.c: New file.
49900         * modules/unicase/u32-totitle: New file.
49901
49902         New module 'unicase/u16-totitle'.
49903         * lib/unicase/u16-totitle.c: New file.
49904         * modules/unicase/u16-totitle: New file.
49905
49906         New module 'unicase/u8-totitle'.
49907         * lib/unicase/u8-totitle.c: New file.
49908         * lib/unicase/u-totitle.h: New file.
49909         * modules/unicase/u8-totitle: New file.
49910
49911         Tests for module 'unicase/u32-tolower'.
49912         * modules/unicase/u32-tolower-tests: New file.
49913         * tests/unicase/test-u32-tolower.c: New file.
49914
49915         Tests for module 'unicase/u16-tolower'.
49916         * modules/unicase/u16-tolower-tests: New file.
49917         * tests/unicase/test-u16-tolower.c: New file.
49918
49919         Tests for module 'unicase/u8-tolower'.
49920         * modules/unicase/u8-tolower-tests: New file.
49921         * tests/unicase/test-u8-tolower.c: New file.
49922
49923         New module 'unicase/u32-tolower'.
49924         * lib/unicase/u32-tolower.c: New file.
49925         * modules/unicase/u32-tolower: New file.
49926
49927         New module 'unicase/u16-tolower'.
49928         * lib/unicase/u16-tolower.c: New file.
49929         * modules/unicase/u16-tolower: New file.
49930
49931         New module 'unicase/u8-tolower'.
49932         * lib/unicase/u8-tolower.c: New file.
49933         * modules/unicase/u8-tolower: New file.
49934
49935         Tests for module 'unicase/u32-toupper'.
49936         * modules/unicase/u32-toupper-tests: New file.
49937         * tests/unicase/test-u32-toupper.c: New file.
49938
49939         Tests for module 'unicase/u16-toupper'.
49940         * modules/unicase/u16-toupper-tests: New file.
49941         * tests/unicase/test-u16-toupper.c: New file.
49942
49943         Tests for module 'unicase/u8-toupper'.
49944         * modules/unicase/u8-toupper-tests: New file.
49945         * tests/unicase/test-u8-toupper.c: New file.
49946
49947         New module 'unicase/u32-toupper'.
49948         * lib/unicase/u32-toupper.c: New file.
49949         * modules/unicase/u32-toupper: New file.
49950
49951         New module 'unicase/u16-toupper'.
49952         * lib/unicase/u16-toupper.c: New file.
49953         * modules/unicase/u16-toupper: New file.
49954
49955         New module 'unicase/u8-toupper'.
49956         * lib/unicase/u8-toupper.c: New file.
49957         * modules/unicase/u8-toupper: New file.
49958
49959         New module 'unicase/u32-casemap'.
49960         * lib/unicase/u32-casemap.c: New file.
49961         * modules/unicase/u32-casemap: New file.
49962
49963         New module 'unicase/u16-casemap'.
49964         * lib/unicase/u16-casemap.c: New file.
49965         * modules/unicase/u16-casemap: New file.
49966
49967         New module 'unicase/u8-casemap'.
49968         * lib/unicase/unicasemap.h: New file.
49969         * lib/unicase/u8-casemap.c: New file.
49970         * lib/unicase/u-casemap.h: New file.
49971         * modules/unicase/u8-casemap: New file.
49972
49973         New module 'unicase/special-casing'.
49974         * lib/unicase/special-casing.h: New file.
49975         * lib/unicase/special-casing.c: New file.
49976         * lib/unicase/special-casing-table.gperf: New file, generated by
49977         gen-uni-tables.c.
49978         * modules/unicase/special-casing: New file.
49979
49980         Tests for module 'unicase/locale-language'.
49981         * modules/unicase/locale-language-tests: New file.
49982         * tests/unicase/test-locale-language.sh: New file.
49983         * tests/unicase/test-locale-language.c: New file.
49984
49985         New module 'unicase/locale-language'.
49986         * lib/unicase/locale-language.c: New file.
49987         * lib/unicase/locale-languages.gperf: New file.
49988         * modules/unicase/locale-language: New file.
49989
49990         Generate more tables for case conversion and case folding.
49991         * lib/gen-uni-tables.c (SCC_*): New enum items.
49992         (struct special_casing_rule): New type.
49993         (casing_rules, num_casing_rules, allocated_casing_rules): New
49994         variables.
49995         (add_casing_rule, fill_casing_rules): New functions.
49996         (struct casefold_rule): New type.
49997         (casefolding_rules, num_casefolding_rules,
49998         allocated_casefolding_rules): New variables.
49999         (fill_casefolding_rules): New function.
50000         (unicode_casefold): New variable.
50001         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
50002         sort_casing_rules, output_casing_rules): New functions.
50003         (main): Accept to more arguments: SpecialCasing.txt and
50004         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
50005         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
50006         Output mapping for casefolding.
50007
50008         * lib/unicase.h: Include stdbool.h, uninorm.h.
50009         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
50010         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
50011         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
50012         arguments.
50013         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
50014         resultp arguments.
50015         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
50016         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
50017         resultp arguments.
50018         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
50019         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
50020         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
50021         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
50022         declarations.
50023         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
50024
50025 2009-03-08  Bruno Haible  <bruno@clisp.org>
50026
50027         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50028         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
50029         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
50030         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50031
50032 2009-03-07  Bruno Haible  <bruno@clisp.org>
50033
50034         Adjust u*_normcmp, u*_normcoll API.
50035         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50036         u16_normcoll, u32_normcoll): Change failure conventions.
50037         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
50038         errno and return -1.
50039         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50040
50041 2009-03-07  Bruno Haible  <bruno@clisp.org>
50042
50043         Tests for module 'uninorm/u32-normcoll'.
50044         * modules/uninorm/u32-normcoll-tests: New file.
50045         * tests/uninorm/test-u32-normcoll.c: New file.
50046
50047         Tests for module 'uninorm/u16-normcoll'.
50048         * modules/uninorm/u16-normcoll-tests: New file.
50049         * tests/uninorm/test-u16-normcoll.c: New file.
50050
50051         Tests for module 'uninorm/u8-normcoll'.
50052         * modules/uninorm/u8-normcoll-tests: New file.
50053         * tests/uninorm/test-u8-normcoll.c: New file.
50054
50055 2009-03-07  Bruno Haible  <bruno@clisp.org>
50056
50057         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
50058         tests/uninorm/test-u32-normcmp.c.
50059         * tests/uninorm/test-u32-normcmp.c: Include it.
50060         (test_nonascii): New function, extracted from main. Add some more
50061         tests.
50062         (main): Invoke test_ascii and test_nonascii.
50063         * modules/uninorm/u32-normcmp-tests (Files): Add
50064         tests/uninorm/test-u32-normcmp.h.
50065         (Depends-on): Remove uninorm/u32-normcmp.
50066
50067         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
50068         tests/uninorm/test-u16-normcmp.c.
50069         * tests/uninorm/test-u16-normcmp.c: Include it.
50070         (test_nonascii): New function, extracted from main. Add some more
50071         tests.
50072         (main): Invoke test_ascii and test_nonascii.
50073         * modules/uninorm/u16-normcmp-tests (Files): Add
50074         tests/uninorm/test-u16-normcmp.h.
50075         (Depends-on): Remove uninorm/u16-normcmp.
50076
50077         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
50078         tests/uninorm/test-u8-normcmp.c.
50079         * tests/uninorm/test-u8-normcmp.c: Include it.
50080         (test_nonascii): New function, extracted from main. Add some more
50081         tests.
50082         (main): Invoke test_ascii and test_nonascii.
50083         * modules/uninorm/u8-normcmp-tests (Files): Add
50084         tests/uninorm/test-u8-normcmp.h.
50085         (Depends-on): Remove uninorm/u8-normcmp.
50086
50087 2009-03-07  Bruno Haible  <bruno@clisp.org>
50088
50089         New module 'uninorm/u32-normcoll'.
50090         * lib/uninorm/u32-normcoll.c: New file.
50091         * modules/uninorm/u32-normcoll: New file.
50092
50093         New module 'uninorm/u16-normcoll'.
50094         * lib/uninorm/u16-normcoll.c: New file.
50095         * modules/uninorm/u16-normcoll: New file.
50096
50097         New module 'uninorm/u8-normcoll'.
50098         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
50099         declarations.
50100         * lib/uninorm/u8-normcoll.c: New file.
50101         * lib/uninorm/u-normcoll.h: New file.
50102         * modules/uninorm/u8-normcoll: New file.
50103
50104         New module 'uninorm/u32-normxfrm'.
50105         * lib/uninorm/u32-normxfrm.c: New file.
50106         * modules/uninorm/u32-normxfrm: New file.
50107
50108         New module 'uninorm/u16-normxfrm'.
50109         * lib/uninorm/u16-normxfrm.c: New file.
50110         * modules/uninorm/u16-normxfrm: New file.
50111
50112         New module 'uninorm/u8-normxfrm'.
50113         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
50114         declarations.
50115         * lib/uninorm/u8-normxfrm.c: New file.
50116         * lib/uninorm/u-normxfrm.h: New file.
50117         * modules/uninorm/u8-normxfrm: New file.
50118
50119 2009-03-07  Bruno Haible  <bruno@clisp.org>
50120
50121         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
50122         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
50123         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
50124
50125 2009-03-07  Bruno Haible  <bruno@clisp.org>
50126
50127         New module 'memxfrm'.
50128         * lib/memxfrm.h: New file.
50129         * lib/memxfrm.c: New file.
50130         * modules/memxfrm: New file.
50131
50132 2009-03-07  Bruno Haible  <bruno@clisp.org>
50133
50134         New module 'memcmp2'.
50135         * lib/memcmp2.h: New file.
50136         * lib/memcmp2.c: New file.
50137         * modules/memcmp2: New file.
50138
50139 2009-03-07  Bruno Haible  <bruno@clisp.org>
50140
50141         Tests for module 'uninorm/decomposing-form'.
50142         * modules/uninorm/decomposing-form-tests: New file.
50143         * tests/uninorm/test-decomposing-form.c: New file.
50144
50145         New module 'uninorm/decomposing-form'.
50146         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
50147         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
50148         Add 'decomposing_variant' field.
50149         * lib/uninorm/decomposing-form.c: New file.
50150         * lib/uninorm/nfc.c (uninorm_nfc): Update.
50151         * lib/uninorm/nfd.c (uninorm_nfd): Update.
50152         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
50153         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
50154         * modules/uninorm/decomposing-form: New file.
50155         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
50156         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
50157
50158 2009-03-07  Bruno Haible  <bruno@clisp.org>
50159
50160         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
50161         strings.
50162
50163 2009-03-06  Bruno Haible  <bruno@clisp.org>
50164
50165         Tests for module 'uninorm/u32-normcmp'.
50166         * tests/uninorm/test-u32-normcmp.c: New file.
50167         * modules/uninorm/u32-normcmp-tests: New file.
50168
50169         Tests for module 'uninorm/u16-normcmp'.
50170         * tests/uninorm/test-u16-normcmp.c: New file.
50171         * modules/uninorm/u16-normcmp-tests: New file.
50172
50173         Tests for module 'uninorm/u8-normcmp'.
50174         * tests/uninorm/test-u8-normcmp.c: New file.
50175         * modules/uninorm/u8-normcmp-tests: New file.
50176
50177         New module 'uninorm/u32-normcmp'.
50178         * lib/uninorm/u32-normcmp.c: New file.
50179         * modules/uninorm/u32-normcmp: New file.
50180
50181         New module 'uninorm/u16-normcmp'.
50182         * lib/uninorm/u16-normcmp.c: New file.
50183         * modules/uninorm/u16-normcmp: New file.
50184
50185         New module 'uninorm/u8-normcmp'.
50186         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
50187         declarations.
50188         * lib/uninorm/u8-normcmp.c: New file.
50189         * lib/uninorm/u-normcmp.h: New file.
50190         * modules/uninorm/u8-normcmp: New file.
50191
50192 2009-03-06  Bruno Haible  <bruno@clisp.org>
50193
50194         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
50195         Reported by Eric Blake.
50196
50197 2009-03-06  Eric Blake  <ebb9@byu.net>
50198             Bruno Haible  <bruno@clisp.org>
50199
50200         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
50201         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
50202         condition.
50203         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50204         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
50205         condition.
50206         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50207
50208 2009-03-06  Eric Blake  <ebb9@byu.net>
50209
50210         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
50211         to avoid compiler warnings.
50212         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
50213
50214 2009-03-05  Bruno Haible  <bruno@clisp.org>
50215
50216         * tests/test-ftell.c (main): Disable test beyond end of file on
50217         FreeMiNT.
50218         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50219
50220 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
50221
50222         * lib/filevercmp.c: Move hidden files up in ordering.
50223         * tests/test-filevercmp.c: Add tests for hidden files.
50224
50225 2009-03-04  Bruno Haible  <bruno@clisp.org>
50226
50227         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
50228         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
50229         AM_CFLAGS.
50230         Reported by Simon Josefsson.
50231
50232 2009-03-03  Bruno Haible  <bruno@clisp.org>
50233
50234         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
50235         Reported by Simon Josefsson.
50236
50237         * doc/ld-version-script.texi: Update node reference.
50238
50239 2009-03-03  Bruno Haible  <bruno@clisp.org>
50240
50241         * modules/visibility (License): Change to 'unlimited'.
50242         Suggested by Simon Josefsson.
50243
50244 2009-03-03  Jim Meyering  <meyering@redhat.com>
50245
50246         unlinkdir: cannot_unlink_dir may modify process state
50247         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
50248         it's neither thread-safe nor appropriate for use in a library.
50249
50250 2009-03-03  Eric Blake  <ebb9@byu.net>
50251
50252         test-closein: silence test under Darwin
50253         * tests/test-closein.sh: Ignore stderr from cat, since we don't
50254         care if it dies from EPIPE or EBADF.
50255
50256 2009-03-03  Bruno Haible  <bruno@clisp.org>
50257
50258         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
50259         earlier.
50260         * doc/visibility.texi: Fix @node and @section.
50261
50262 2009-03-03  Simon Josefsson  <simon@josefsson.org>
50263
50264         * doc/gnulib.texi: Link to sections for ld version script and
50265         visibility.
50266         * doc/visibility.texi: Add @node and @section.
50267         * modules/ld-version-script: New module.
50268         * m4/ld-version-script.m4: New file.
50269         * doc/ld-version-script.texi: New file.
50270
50271 2009-03-02  David Lutterkort  <lutter@redhat.com>
50272
50273         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
50274         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50275
50276 2009-03-02  Bruno Haible  <bruno@clisp.org>
50277
50278         * doc/visibility.texi: Mention libtool's -export-symbols option.
50279
50280 2009-03-02  Jim Meyering  <meyering@redhat.com>
50281
50282         announce-gen: new option: --no-print-checksums
50283         * build-aux/announce-gen (usage): Describe it.
50284         (print_checksums): Print a newline here, not in the [*] footnote.
50285         (main): Honor it.
50286
50287 2009-03-01  Bruno Haible  <bruno@clisp.org>
50288
50289         Use socklen_t in the native Windows replacements prototypes.
50290         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
50291         instead of 'int'.
50292         * lib/getsockopt.c (rpl_getsockopt): Likewise.
50293         * lib/setsockopt.c (rpl_setsockopt): Likewise.
50294         * modules/getsockopt (Depends-on): Add socklen.
50295         * modules/setsockopt (Depends-on): Add socklen.
50296
50297 2009-03-01  Bruno Haible  <bruno@clisp.org>
50298
50299         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
50300         least 4.2.
50301
50302 2009-03-01  Eric Blake  <ebb9@byu.net>
50303             Bruno Haible  <bruno@clisp.org>
50304
50305         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
50306         error messages.
50307         * lib/wait-process.c (wait_subprocess): Omit error message about
50308         deadly signal sent to the child of termsigp != NULL.
50309
50310 2009-03-01  Eric Blake  <ebb9@byu.net>
50311
50312         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
50313
50314 2009-03-01  Bruno Haible  <bruno@clisp.org>
50315
50316         Avoid a gcc warning.
50317         * tests/test-sched.c (b): Make global.
50318         Reported by Eric Blake.
50319
50320 2009-01-19  Martin Lambers  <marlam@marlam.de>
50321
50322         Provide POSIX semantics for socket timeout options on W32.
50323         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
50324         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
50325         * modules/setsockopt: Depend on sys_time module for struct timeval.
50326         * modules/getsockopt: Depend on sys_time module for struct timeval.
50327
50328 2009-03-01  Simon Josefsson  <simon@josefsson.org>
50329
50330         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
50331         __USE_GNU, for consistency with netdb.in.h.
50332         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50333
50334 2009-03-01  Bruno Haible  <bruno@clisp.org>
50335
50336         More support for FreeMiNT.
50337         * lib/fseeko.c (rpl_fseeko): Complete last commit.
50338         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50339
50340 2009-03-01  Bruno Haible  <bruno@clisp.org>
50341
50342         More support for FreeMiNT.
50343         * lib/fpurge.c (fpurge): Correct last commit.
50344         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50345
50346 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50347
50348         Fix unportable awk script in vc-list-files.
50349         * build-aux/vc-list-files: In the replacement awk script, use
50350         substr with a second argument of 1, not zero.
50351         Report by Simon Josefsson.
50352
50353 2009-02-28  Bruno Haible  <bruno@clisp.org>
50354
50355         More support for FreeMiNT.
50356         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
50357         to FreeMiNT today.
50358         * lib/fwriting.c (fwriting): Likewise.
50359         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
50360
50361 2009-02-28  Bruno Haible  <bruno@clisp.org>
50362
50363         * tests/test-freadseek.c (main): Disable test beyond end of file on
50364         FreeMiNT.
50365         * tests/test-ftello.c (main): Likewise.
50366         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50367
50368 2009-02-28  Bruno Haible  <bruno@clisp.org>
50369
50370         Add tentative support for FreeMiNT.
50371         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
50372         * lib/fpurge.c (fpurge): Likewise.
50373         * lib/freadable.c (freadable): Likewise.
50374         * lib/freading.c (freading): Likewise.
50375         * lib/freadptr.c (freadptr): Likewise.
50376         * lib/freadseek.c (freadptrinc): Likewise.
50377         * lib/fseeko.c (rpl_fseeko): Likewise.
50378         * lib/fseterr.c (fseterr): Likewise.
50379         * lib/fwritable.c (fwritable): Likewise.
50380         * lib/fwriting.c (fwriting): Likewise.
50381         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
50382         Hourihane.
50383         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50384
50385 2009-02-28  Bruno Haible  <bruno@clisp.org>
50386
50387         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
50388         SIGCHLD.
50389         Reported by Jim Meyering.
50390
50391 2009-02-28  Bruno Haible  <bruno@clisp.org>
50392
50393         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
50394         Mention the results of these tests on various platforms.
50395         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
50396         order.
50397         * doc/posix-functions/printf.texi: Likewise.
50398         * doc/posix-functions/snprintf.texi: Likewise.
50399         * doc/posix-functions/sprintf.texi: Likewise.
50400         * doc/posix-functions/vfprintf.texi: Likewise.
50401         * doc/posix-functions/vprintf.texi: Likewise.
50402         * doc/posix-functions/vsnprintf.texi: Likewise.
50403         * doc/posix-functions/vsprintf.texi: Likewise.
50404         * doc/glibc-functions/obstack_printf.texi: Likewise.
50405         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50406
50407 2009-02-28  Bruno Haible  <bruno@clisp.org>
50408
50409         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
50410         Reported by Loïc Minier <lool@dooz.org>.
50411
50412 2009-02-27  Bruno Haible  <bruno@clisp.org>
50413
50414         * gnulib-tool (func_import): Make the sed expression used to create the
50415         sed script for updating the .gitignore file POSIX compliant.
50416         Reported by Eric Blake.
50417
50418 2009-02-27  Bruno Haible  <bruno@clisp.org>
50419
50420         * gnulib-tool (sed): Don't alias as "sed --posix".
50421         Reported by Eric Blake.
50422
50423 2009-02-27  Bruno Haible  <bruno@clisp.org>
50424
50425         Avoid test link errors.
50426         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
50427         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
50428         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
50429         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
50430         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50431
50432 2009-02-27  Bruno Haible  <bruno@clisp.org>
50433
50434         Avoid spurious "(cached)" in configure output.
50435         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
50436         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
50437         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
50438         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
50439         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
50440         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
50441         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
50442         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
50443         Reported by Eric Blake.
50444
50445 2009-02-27  Eric Blake  <ebb9@byu.net>
50446
50447         printf: fix regression in previous patch
50448         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
50449
50450 2009-02-27  Bruno Haible  <bruno@clisp.org>
50451
50452         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
50453         value.
50454         * lib/stdint.in.h: Likewise.
50455         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
50456
50457 2009-02-27  Eric Blake  <ebb9@byu.net>
50458
50459         doc: mention more functions added in cygwin 1.7.0
50460         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
50461         addition.
50462         * doc/posix-functions/open_wmemstream.texi: Likewise.
50463         * doc/posix-functions/wcsnlen.texi: Likewise.
50464         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50465         * doc/posix-functions/wcstod.texi: Likewise.
50466         * doc/posix-functions/wcstof.texi: Likewise.
50467         * doc/posix-functions/wcstoimax.texi: Likewise.
50468         * doc/posix-functions/wcstok.texi: Likewise.
50469         * doc/posix-functions/wcstoumax.texi: Likewise.
50470
50471         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
50472         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
50473         * doc/posix-functions/fprintf.texi: Update.
50474         * doc/posix-functions/printf.texi: Update.
50475         * doc/posix-functions/snprintf.texi: Update.
50476         * doc/posix-functions/sprintf.texi: Update.
50477         * doc/posix-functions/vfprintf.texi: Update.
50478         * doc/posix-functions/vprintf.texi: Update.
50479         * doc/posix-functions/vsnprintf.texi: Update.
50480         * doc/posix-functions/vsprintf.texi: Update.
50481         * doc/glibc-functions/obstack_printf.texi: Update.
50482         * doc/glibc-functions/obstack_vprintf.texi: Update.
50483
50484 2009-02-26  Eric Blake  <ebb9@byu.net>
50485
50486         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
50487         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
50488         compilation bug by using runtime conversion.
50489         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
50490         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
50491         * modules/ceill-tests (Files): Use nan.h.
50492         * modules/floorl-tests (Files): Likewise.
50493         * modules/frexpl-tests (Files): Likewise.
50494         * modules/isnanl-tests (Files): Likewise.
50495         * modules/ldexpl-tests (Files): Likewise.
50496         * modules/roundl-tests (Files): Likewise.
50497         * modules/truncl-tests (Files): Likewise.
50498         * tests/test-ceill.c (main): Use a working NaN.
50499         * tests/test-floorl.c (main): Likewise.
50500         * tests/test-frexpl.c (main): Likewise.
50501         * tests/test-isnan.c (test_long_double): Likewise.
50502         * tests/test-isnanl.h (main): Likewise.
50503         * tests/test-ldexpl.h (main): Likewise.
50504         * tests/test-roundl.h (main): Likewise.
50505         * tests/test-truncl.h (main): Likewise.
50506         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
50507
50508 2009-02-26  Eric Blake  <ebb9@byu.net>
50509             Bruno Haible  <bruno@clisp.org>
50510
50511         Work around a *printf bug with %ls on Solaris.
50512         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
50513         precision is specified, sprintf stops converting the wide string
50514         argument when the number of bytes that have been produced by this
50515         conversion equals or exceeds the precision.
50516         * doc/posix-functions/fprintf.texi: Update.
50517         * doc/posix-functions/printf.texi: Update.
50518         * doc/posix-functions/snprintf.texi: Update.
50519         * doc/posix-functions/sprintf.texi: Update.
50520         * doc/posix-functions/vfprintf.texi: Update.
50521         * doc/posix-functions/vprintf.texi: Update.
50522         * doc/posix-functions/vsnprintf.texi: Update.
50523         * doc/posix-functions/vsprintf.texi: Update.
50524         * doc/glibc-functions/obstack_printf.texi: Update.
50525         * doc/glibc-functions/obstack_vprintf.texi: Update.
50526
50527 2009-02-26  Eric Blake  <ebb9@byu.net>
50528
50529         stdlib: favor compiler check of random.h
50530         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
50531         to avoid an ObjC random.h installed by Swarm.
50532
50533 2009-02-26  Bruno Haible  <bruno@clisp.org>
50534
50535         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
50536         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
50537         Reported by Gary V. Vaughan <gary@gnu.org>.
50538
50539 2009-02-26  Bruno Haible  <bruno@clisp.org>
50540
50541         Fix *printf behaviour regarding the %ls directive.
50542         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
50543         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
50544         NEED_PRINTF_DIRECTIVE_LS.
50545         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
50546         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
50547         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50548         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
50549         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
50550         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
50551         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
50552         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50553         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50554         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50555         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50556         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
50557         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50558         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50559         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50560         * doc/posix-functions/fprintf.texi: Update.
50561         * doc/posix-functions/printf.texi: Update.
50562         * doc/posix-functions/snprintf.texi: Update.
50563         * doc/posix-functions/sprintf.texi: Update.
50564         * doc/posix-functions/vfprintf.texi: Update.
50565         * doc/posix-functions/vprintf.texi: Update.
50566         * doc/posix-functions/vsnprintf.texi: Update.
50567         * doc/posix-functions/vsprintf.texi: Update.
50568         * doc/glibc-functions/obstack_printf.texi: Update.
50569         * doc/glibc-functions/obstack_vprintf.texi: Update.
50570         Reported by Eric Blake.
50571
50572 2009-02-25  Bruno Haible  <bruno@clisp.org>
50573
50574         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
50575         with known value.
50576         Reported by Gary V. Vaughan <gary@gnu.org>.
50577
50578 2009-02-25  Bruno Haible  <bruno@clisp.org>
50579
50580         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
50581         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
50582         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
50583         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
50584         Reported by Gary V. Vaughan <gary@gnu.org>.
50585
50586 2009-02-25  Bruno Haible  <bruno@clisp.org>
50587
50588         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
50589         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
50590         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
50591         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
50592         Reported by Gary V. Vaughan <gary@gnu.org>.
50593
50594 2009-02-25  Eric Blake  <ebb9@byu.net>
50595
50596         tests: skip fseek/ftell tests if ungetc is broken
50597         * m4/ungetc.m4: New file.
50598         * modules/fseek-tests: Split test, so ungetc dependency is
50599         separate from rest of test.
50600         * modules/fseeko-tests: Likewise.
50601         * modules/ftell-tests: Likewise.
50602         * modules/ftello-tests: Likewise.
50603         * tests/test-fseek.c (main): Isolate ungetc dependency.
50604         * tests/test-fseeko.c (main): Likewise.
50605         * tests/test-ftell.c (main): Likewise.
50606         * tests/test-ftello.c (main): Likewise.
50607         * tests/test-fseek2.sh: New file.
50608         * tests/test-fseeko2.sh: Likewise.
50609         * tests/test-ftell2.sh: Likewise.
50610         * tests/test-ftello2.sh: Likewise.
50611
50612 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
50613
50614         test-getaddrinfo: fix usage of skip return code 77
50615         * tests/test-gettaddrinfo.c: Return skip code 77 only
50616         for first occurrence of skip (4x77 is not 77)
50617
50618 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
50619
50620         strtod: avoid C99 decl-after-statement
50621         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
50622
50623 2009-02-24  Eric Blake  <ebb9@byu.net>
50624
50625         strtod: detect HP-UX 11.31 bug
50626         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
50627         Reported by Gary V. Vaughan.
50628
50629 2009-02-23  Bruno Haible  <bruno@clisp.org>
50630
50631         Fix invalid read past end of memory block.
50632         * lib/vasnprintf.c (DCHAR_SET): Define.
50633         (local_wcslen): Define only when needed.
50634         (local_strnlen, local_wcsnlen): New functions.
50635         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
50636         directives that involve a conversion ourselves.
50637         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
50638         wcsnlen, mbrtowc, wcrtomb.
50639         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
50640         * tests/test-vasprintf-posix.c (test_function): Likewise.
50641         * tests/test-snprintf-posix.h (test_function): Likewise.
50642         * tests/test-sprintf-posix.h (test_function): Likewise.
50643         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50644
50645 2009-02-22  Bruno Haible  <bruno@clisp.org>
50646
50647         Implement new clarified decomposition of Hangul syllables.
50648         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
50649         of type LTV, return only a pairwise decomposition.
50650         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
50651         Likewise.
50652         * tests/uninorm/test-decomposition.c (main): Updated expected result.
50653         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
50654         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
50655
50656 2009-02-22  Bruno Haible  <bruno@clisp.org>
50657
50658         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
50659         zero-length results and shrink excess allocated memory.
50660         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
50661         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
50662         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
50663         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
50664         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
50665         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
50666         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
50667         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
50668         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
50669         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
50670         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
50671         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
50672
50673 2009-02-21  Bruno Haible  <bruno@clisp.org>
50674
50675         * doc/gnulib.texi: Include safe-alloc.texi earlier.
50676         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
50677         spaces after a period. Put a space between a macro name and its
50678         argument list. Trivial rewordings.
50679         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
50680         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
50681         (main): Return 0 explicitly.
50682
50683 2009-02-21  Bruno Haible  <bruno@clisp.org>
50684
50685         Tests for module 'uninorm/filter'.
50686         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
50687         * modules/uninorm/filter-tests: New file.
50688
50689         New module 'uninorm/filter'.
50690         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
50691         uninorm_filter_flush, uninorm_filter_free): New declarations.
50692         * lib/uninorm/uninorm-filter.c: New file.
50693         * modules/uninorm/filter: New file.
50694
50695 2009-02-21  Bruno Haible  <bruno@clisp.org>
50696
50697         Tests for module 'uninorm/nfkc'.
50698         * tests/uninorm/test-nfkc.c: New file.
50699         * tests/uninorm/test-u8-nfkc.c: New file.
50700         * tests/uninorm/test-u16-nfkc.c: New file.
50701         * tests/uninorm/test-u32-nfkc.c: New file.
50702         * tests/uninorm/test-u32-nfkc-big.sh: New file.
50703         * tests/uninorm/test-u32-nfkc-big.c: New file.
50704         * modules/uninorm/nfkc-tests: New file.
50705
50706         New module 'uninorm/nfkc'.
50707         * lib/uninorm/nfkc.c: New file.
50708         * modules/uninorm/nfkc: New file.
50709
50710         Tests for module 'uninorm/nfkd'.
50711         * tests/uninorm/test-nfkd.c: New file.
50712         * tests/uninorm/test-u8-nfkd.c: New file.
50713         * tests/uninorm/test-u16-nfkd.c: New file.
50714         * tests/uninorm/test-u32-nfkd.c: New file.
50715         * tests/uninorm/test-u32-nfkd-big.sh: New file.
50716         * tests/uninorm/test-u32-nfkd-big.c: New file.
50717         * modules/uninorm/nfkd-tests: New file.
50718
50719         New module 'uninorm/nfkd'.
50720         * lib/uninorm/nfkd.c: New file.
50721         * modules/uninorm/nfkd: New file.
50722
50723         Tests for module 'uninorm/nfc'.
50724         * tests/uninorm/test-nfc.c: New file.
50725         * tests/uninorm/test-u8-nfc.c: New file.
50726         * tests/uninorm/test-u16-nfc.c: New file.
50727         * tests/uninorm/test-u32-nfc.c: New file.
50728         * tests/uninorm/test-u32-nfc-big.sh: New file.
50729         * tests/uninorm/test-u32-nfc-big.c: New file.
50730         * modules/uninorm/nfc-tests: New file.
50731
50732         New module 'uninorm/nfc'.
50733         * lib/uninorm/nfc.c: New file.
50734         * modules/uninorm/nfc: New file.
50735
50736         Tests for module 'uninorm/nfd'.
50737         * tests/uninorm/test-nfd.c: New file.
50738         * tests/uninorm/test-u8-nfd.c: New file.
50739         * tests/uninorm/test-u16-nfd.c: New file.
50740         * tests/uninorm/test-u32-nfd.c: New file.
50741         * tests/uninorm/test-u32-nfd-big.sh: New file.
50742         * tests/uninorm/test-u32-nfd-big.c: New file.
50743         * tests/uninorm/test-u32-normalize-big.h: New file.
50744         * tests/uninorm/test-u32-normalize-big.c: New file.
50745         * tests/uninorm/NormalizationTest.txt: New file, created from
50746         Unicode 5.1.0 NormalizationTest.txt.
50747         * modules/uninorm/nfd-tests: New file.
50748
50749         New module 'uninorm/nfd'.
50750         * lib/uninorm/nfd.c: New file.
50751         * modules/uninorm/nfd: New file.
50752
50753         New module 'uninorm/u32-normalize'.
50754         * lib/uninorm/u32-normalize.c: New file.
50755         * modules/uninorm/u32-normalize: New file.
50756
50757         New module 'uninorm/u16-normalize'.
50758         * lib/uninorm/u16-normalize.c: New file.
50759         * modules/uninorm/u16-normalize: New file.
50760
50761         New module 'uninorm/u8-normalize'.
50762         * lib/uninorm/u8-normalize.c: New file.
50763         * lib/uninorm/normalize-internal.h: New file.
50764         * lib/uninorm/u-normalize-internal.h: New file.
50765         * modules/uninorm/u8-normalize: New file.
50766
50767         New module 'uninorm/decompose-internal'.
50768         * lib/uninorm/decompose-internal.c: New file.
50769         * modules/uninorm/decompose-internal: New file.
50770
50771         Tests for module 'uninorm/composition'.
50772         * tests/uninorm/test-composition.c: New file.
50773         * modules/uninorm/composition-tests: New file.
50774
50775         New module 'uninorm/composition'.
50776         * lib/uninorm/composition.c: New file.
50777         * lib/uninorm/composition-table.gperf: New file, generated by
50778         gen-uni-tables.
50779         * modules/uninorm/composition: New file.
50780
50781         Tests for module 'uninorm/compat-decomposition'.
50782         * tests/uninorm/test-compat-decomposition.c: New file.
50783         * modules/uninorm/compat-decomposition-tests: New file.
50784
50785         New module 'uninorm/compat-decomposition'.
50786         * lib/uninorm/decompose-internal.h: New file.
50787         * lib/uninorm/compat-decomposition.c: New file.
50788         * modules/uninorm/compat-decomposition: New file.
50789
50790         Tests for module 'uninorm/canonical-decomposition'.
50791         * tests/uninorm/test-canonical-decomposition.c: New file.
50792         * modules/uninorm/canonical-decomposition-tests: New file.
50793
50794         New module 'uninorm/canonical-decomposition'.
50795         * lib/uninorm/canonical-decomposition.c: New file.
50796         * modules/uninorm/canonical-decomposition: New file.
50797
50798         Tests for module 'uninorm/decomposition'.
50799         * tests/uninorm/test-decomposition.c: New file.
50800         * modules/uninorm/decomposition-tests: New file.
50801
50802         New module 'uninorm/decomposition'.
50803         * lib/uninorm/decomposition.c: New file.
50804         * modules/uninorm/decomposition: New file.
50805
50806         New module 'uninorm/decomposition-table'.
50807         * lib/uninorm/decomposition-table.h: New file.
50808         * lib/uninorm/decomposition-table.c: New file.
50809         * lib/uninorm/decomposition-table1.h: New file, generated by
50810         gen-uni-tables.
50811         * lib/uninorm/decomposition-table2.h: New file, generated by
50812         gen-uni-tables.
50813         * modules/uninorm/decomposition-table: New file.
50814
50815         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
50816         (UC_DECOMP_*): New enumeration items.
50817         (get_decomposition): New function.
50818         (struct decomp_table): New type.
50819         (output_decomposition, output_decomposition_tables): New functions.
50820         (unicode_composition_exclusions): New variable.
50821         (fill_composition_exclusions, debug_output_composition_tables): New
50822         functions.
50823         (main): Accept one more argument. Invoke fill_composition_exclusions.
50824         Output decomposition and composition tables.
50825
50826         New module 'uninorm/base'.
50827         * lib/uninorm.h: New file.
50828         * lib/unictype.h: Update comment.
50829         * modules/uninorm/base: New file.
50830
50831 2009-02-21  David Lutterkort  <lutter@redhat.com>
50832
50833         Tests for module 'safe-alloc'.
50834         * tests/test-safe-alloc.c: New file.
50835         * modules/safe-alloc-tests: New file.
50836
50837         New module 'safe-alloc'.
50838         * lib/safe-alloc.h: New file.
50839         * lib/safe-alloc.c: New file.
50840         * m4/safe-alloc.m4: New file.
50841         * modules/safe-alloc: New file.
50842         * doc/safe-alloc.texi: New file.
50843         * doc/gnulib.texi: Include it.
50844         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
50845         safe-alloc.
50846
50847 2009-02-18  Bruno Haible  <bruno@clisp.org>
50848
50849         Fix link error on non-glibc systems.
50850         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
50851         variable.
50852         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50853
50854 2009-02-18  Jim Meyering  <meyering@redhat.com>
50855
50856         fts: avoid used-uninitialized error due to recent change
50857         * lib/fts.c (fts_read): Guard uses of the new member,
50858         parent->fts_n_dirs_remaining, since it's not relevant for
50859         the parent of a directory specified on the command-line.
50860
50861 2009-02-17  James Youngman  <jay@gnu.org>
50862             Bruno Haible  <bruno@clisp.org>
50863
50864         * m4/include_next.m4: Reformulate comment.
50865
50866 2009-02-16  Jim Meyering  <meyering@redhat.com>
50867
50868         fts: add #if guards so that the fts_lgpl module still builds
50869         * lib/fts.c: Guard just-added hash-table-using parts with
50870         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
50871         Reported by Simon Josefsson.
50872
50873 2009-02-15  Bruno Haible  <bruno@clisp.org>
50874
50875         * modules/array-mergesort-tests: New file.
50876         * tests/test-array-mergesort.c: New file.
50877
50878         New module 'array-mergesort'.
50879         * modules/array-mergesort: New file.
50880         * lib/array-mergesort.h: New file.
50881
50882 2009-02-15  Bruno Haible  <bruno@clisp.org>
50883
50884         Fix 2009-02-07 commit.
50885         * lib/gen-uni-tables.c (output_predicate, output_category,
50886         output_combclass, output_bidi_category, output_decimal_digit,
50887         output_digit, output_numeric, output_mirror, output_scripts,
50888         output_ident_category, output_simple_mapping): Fix format directives.
50889         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
50890
50891 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
50892
50893         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
50894         fixes are available from IBM.
50895
50896 2009-02-13  Jim Meyering  <meyering@redhat.com>
50897
50898         fts: arrange not to stat non-directories in more cases
50899         This makes GNU find (when it doesn't need to stat each file)
50900         *much* more efficient at traversing reiserfs file systems.
50901         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
50902         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
50903         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
50904         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
50905         (leaf_optimization_applies): New function.
50906         (LCO_hash, LCO_compare): New helper functions.
50907         (link_count_optimize_ok): New function.
50908         (fts_stat): Initialize new member (if dir).
50909         (fts_read): Decrement parent's fts_n_dirs_remaining count if
50910         we've just stat'ed a directory.  Skip the stat call when possible.
50911         ---
50912         Note this AFS-related exchange:
50913         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
50914         and note find's pioctl call in find/fstype.c.
50915         But that is necessary only if you want to enable the
50916         optimization for AFS, and for now, I don't.
50917
50918         fts: move a function definition "up" (no semantic change)
50919         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
50920         "up" to precede upcoming use of a related function.
50921
50922 2009-02-11  Jim Meyering  <meyering@redhat.com>
50923
50924         fts: correct internal computation of nlinks (optimization-related)
50925         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
50926         whether the current entry is a directory, so don't test it.
50927
50928 2009-02-10  Bruno Haible  <bruno@clisp.org>
50929
50930         Tests for module 'uniwbrk/ulc-wordbreaks'.
50931         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
50932         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
50933         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
50934
50935         Tests for module 'uniwbrk/u32-wordbreaks'.
50936         * modules/uniwbrk/u32-wordbreaks-tests: New file.
50937         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
50938
50939         Tests for module 'uniwbrk/u16-wordbreaks'.
50940         * modules/uniwbrk/u16-wordbreaks-tests: New file.
50941         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
50942
50943         Tests for module 'uniwbrk/u8-wordbreaks'.
50944         * modules/uniwbrk/u8-wordbreaks-tests: New file.
50945         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
50946
50947 2009-02-10  Bruno Haible  <bruno@clisp.org>
50948
50949         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
50950         property.
50951         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
50952         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
50953         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
50954
50955 2009-02-10  Simon Josefsson  <simon@josefsson.org>
50956
50957         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
50958         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
50959
50960 2009-02-10  Bruno Haible  <bruno@clisp.org>
50961
50962         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
50963         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
50964         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
50965         * lib/unilbrk/u8-possible-linebreaks.c: Update.
50966         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
50967         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
50968
50969 2009-02-09  Simon Josefsson  <simon@josefsson.org>
50970
50971         * lib/sockets.h (gl_fd_to_handle): New function.
50972
50973         * tests/test-sockets.c: Call gl_fd_to_handle.
50974
50975 2009-02-09  Bruno Haible  <bruno@clisp.org>
50976
50977         * doc/havelib.texi: Document the conventions on bi-arch systems.
50978
50979 2009-02-08  Bruno Haible  <bruno@clisp.org>
50980
50981         Document the AC_LIB_LINKFLAGS macro.
50982         * doc/havelib.texi: New file, mostly written on 2005-05-24.
50983         * doc/gnulib.texi: Include it.
50984
50985 2009-02-08  Bruno Haible  <bruno@clisp.org>
50986
50987         Fix wrong order of sections, compared to TOC.
50988         * doc/gnulib.texi: Include relocatable-maint.texi after the
50989         "Regular expressions" node, not before.
50990
50991 2009-02-08  Bruno Haible  <bruno@clisp.org>
50992
50993         Tests for module 'unicase/totitle'.
50994         * modules/unicase/totitle-tests: New file.
50995
50996         Tests for module 'unicase/tolower'.
50997         * modules/unicase/tolower-tests: New file.
50998
50999         Tests for module 'unicase/toupper'.
51000         * modules/unicase/toupper-tests: New file.
51001         * tests/unicase/test-mapping-part1.h: New file.
51002         * tests/unicase/test-mapping-part2.h: New file.
51003
51004         New module 'unicase/totitle'.
51005         * modules/unicase/totitle: New file.
51006         * lib/unicase/totitle.c: New file.
51007
51008         New module 'unicase/tolower'.
51009         * modules/unicase/tolower: New file.
51010         * lib/unicase/tolower.c: New file.
51011
51012         New module 'unicase/toupper'.
51013         * modules/unicase/toupper: New file.
51014         * lib/unicase/toupper.c: New file.
51015         * lib/unicase/simple-mapping.h: New file.
51016
51017         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
51018         (mapping_table): New structure.
51019         (output_simple_mapping): New function.
51020         (main): Invoke output_simple_mapping_test and output_simple_mapping.
51021         * modules/gen-uni-tables (Description): Update.
51022         * lib/unicase/toupper.h: New file, automatically generated by
51023         gen-uni-tables.
51024         * lib/unicase/tolower.h: New file, automatically generated by
51025         gen-uni-tables.
51026         * lib/unicase/totitle.h: New file, automatically generated by
51027         gen-uni-tables.
51028         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
51029         gen-uni-tables.
51030         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
51031         gen-uni-tables.
51032         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
51033         gen-uni-tables.
51034
51035         New module 'unicase/base'.
51036         * modules/unicase/base: New file.
51037         * lib/unicase.h: New file.
51038
51039 2009-02-08  Bruno Haible  <bruno@clisp.org>
51040
51041         New module 'uniwbrk/ulc-wordbreaks'.
51042         * modules/uniwbrk/ulc-wordbreaks: New file.
51043         * lib/uniwbrk/ulc-wordbreaks.c: New file.
51044
51045         New module 'uniwbrk/u32-wordbreaks'.
51046         * modules/uniwbrk/u32-wordbreaks: New file.
51047         * lib/uniwbrk/u32-wordbreaks.c: New file.
51048
51049         New module 'uniwbrk/u16-wordbreaks'.
51050         * modules/uniwbrk/u16-wordbreaks: New file.
51051         * lib/uniwbrk/u16-wordbreaks.c: New file.
51052
51053         New module 'uniwbrk/u8-wordbreaks'.
51054         * modules/uniwbrk/u8-wordbreaks: New file.
51055         * lib/uniwbrk/u8-wordbreaks.c: New file.
51056         * lib/uniwbrk/u-wordbreaks.h: New file.
51057
51058         New module 'uniwbrk/table'.
51059         * modules/uniwbrk/table: New file.
51060         * lib/uniwbrk/wbrktable.h: New file.
51061         * lib/uniwbrk/wbrktable.c: New file.
51062
51063         New module 'uniwbrk/wordbreak-property'.
51064         * modules/uniwbrk/wordbreak-property: New file.
51065         * lib/uniwbrk/wordbreak-property.c: New file.
51066
51067         * lib/gen-uni-tables.c (WBP_*): New enum items.
51068         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
51069         (unicode_org_wbp): New variable.
51070         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
51071         New functions.
51072         (wbp_table): New structure.
51073         (output_wbp, output_wbrk_tables): New functions.
51074         (main): Accept additional argument. Invoke fill_org_wbp,
51075         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
51076         output_wbrk_tables.
51077         * modules/gen-uni-tables (Description): Update.
51078         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
51079         gen-uni-tables.
51080
51081         New module 'uniwbrk/base'.
51082         * modules/uniwbrk/base: New file.
51083         * lib/uniwbrk.h: New file.
51084
51085 2009-02-08  Bruno Haible  <bruno@clisp.org>
51086
51087         Update to Unicode 5.1.0.
51088         * lib/gen-uni-tables.c (is_property_alphabetic): Include
51089         U+2185..U+2188.
51090         (is_property_default_ignorable_code_point): Don't include characters
51091         of category Cc or Cs and not-a-characters.
51092         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
51093         U+0D79, U+109E, U+109F, U+A60C.
51094         * lib/unictype/bidi_of.h: Regenerated.
51095         * lib/unictype/blocks.h: Regenerated.
51096         * lib/unictype/categ_C.h: Regenerated.
51097         * lib/unictype/categ_Cf.h: Regenerated.
51098         * lib/unictype/categ_Cn.h: Regenerated.
51099         * lib/unictype/categ_L.h: Regenerated.
51100         * lib/unictype/categ_Ll.h: Regenerated.
51101         * lib/unictype/categ_Lm.h: Regenerated.
51102         * lib/unictype/categ_Lo.h: Regenerated.
51103         * lib/unictype/categ_Lu.h: Regenerated.
51104         * lib/unictype/categ_M.h: Regenerated.
51105         * lib/unictype/categ_Mc.h: Regenerated.
51106         * lib/unictype/categ_Me.h: Regenerated.
51107         * lib/unictype/categ_Mn.h: Regenerated.
51108         * lib/unictype/categ_N.h: Regenerated.
51109         * lib/unictype/categ_Nd.h: Regenerated.
51110         * lib/unictype/categ_Nl.h: Regenerated.
51111         * lib/unictype/categ_No.h: Regenerated.
51112         * lib/unictype/categ_P.h: Regenerated.
51113         * lib/unictype/categ_Pd.h: Regenerated.
51114         * lib/unictype/categ_Pe.h: Regenerated.
51115         * lib/unictype/categ_Pf.h: Regenerated.
51116         * lib/unictype/categ_Pi.h: Regenerated.
51117         * lib/unictype/categ_Po.h: Regenerated.
51118         * lib/unictype/categ_Ps.h: Regenerated.
51119         * lib/unictype/categ_S.h: Regenerated.
51120         * lib/unictype/categ_Sk.h: Regenerated.
51121         * lib/unictype/categ_Sm.h: Regenerated.
51122         * lib/unictype/categ_So.h: Regenerated.
51123         * lib/unictype/categ_of.h: Regenerated.
51124         * lib/unictype/combining.h: Regenerated.
51125         * lib/unictype/ctype_alnum.h: Regenerated.
51126         * lib/unictype/ctype_alpha.h: Regenerated.
51127         * lib/unictype/ctype_graph.h: Regenerated.
51128         * lib/unictype/ctype_lower.h: Regenerated.
51129         * lib/unictype/ctype_print.h: Regenerated.
51130         * lib/unictype/ctype_punct.h: Regenerated.
51131         * lib/unictype/ctype_upper.h: Regenerated.
51132         * lib/unictype/decdigit.h: Regenerated.
51133         * lib/unictype/digit.h: Regenerated.
51134         * lib/unictype/mirror.h: Regenerated.
51135         * lib/unictype/numeric.h: Regenerated.
51136         * lib/unictype/pr_alphabetic.h: Regenerated.
51137         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
51138         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
51139         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
51140         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
51141         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
51142         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
51143         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
51144         * lib/unictype/pr_combining.h: Regenerated.
51145         * lib/unictype/pr_dash.h: Regenerated.
51146         * lib/unictype/pr_decimal_digit.h: Regenerated.
51147         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
51148         * lib/unictype/pr_deprecated.h: Regenerated.
51149         * lib/unictype/pr_diacritic.h: Regenerated.
51150         * lib/unictype/pr_extender.h: Regenerated.
51151         * lib/unictype/pr_format_control.h: Regenerated.
51152         * lib/unictype/pr_grapheme_base.h: Regenerated.
51153         * lib/unictype/pr_grapheme_extend.h: Regenerated.
51154         * lib/unictype/pr_grapheme_link.h: Regenerated.
51155         * lib/unictype/pr_id_continue.h: Regenerated.
51156         * lib/unictype/pr_id_start.h: Regenerated.
51157         * lib/unictype/pr_ideographic.h: Regenerated.
51158         * lib/unictype/pr_ignorable_control.h: Regenerated.
51159         * lib/unictype/pr_lowercase.h: Regenerated.
51160         * lib/unictype/pr_math.h: Regenerated.
51161         * lib/unictype/pr_numeric.h: Regenerated.
51162         * lib/unictype/pr_other_alphabetic.h: Regenerated.
51163         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
51164         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
51165         * lib/unictype/pr_other_id_continue.h: Regenerated.
51166         * lib/unictype/pr_other_lowercase.h: Regenerated.
51167         * lib/unictype/pr_other_math.h: Regenerated.
51168         * lib/unictype/pr_punctuation.h: Regenerated.
51169         * lib/unictype/pr_sentence_terminal.h: Regenerated.
51170         * lib/unictype/pr_soft_dotted.h: Regenerated.
51171         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
51172         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
51173         * lib/unictype/pr_unified_ideograph.h: Regenerated.
51174         * lib/unictype/pr_uppercase.h: Regenerated.
51175         * lib/unictype/pr_xid_continue.h: Regenerated.
51176         * lib/unictype/pr_xid_start.h: Regenerated.
51177         * lib/unictype/pr_zero_width.h: Regenerated.
51178         * lib/unictype/scripts.h: Regenerated.
51179         * lib/unictype/scripts_byname.gperf: Regenerated.
51180         * lib/unictype/sy_java_ident.h: Regenerated.
51181         * lib/unilbrk/lbrkprop1.h: Regenerated.
51182         * lib/unilbrk/lbrkprop2.h: Regenerated.
51183         * tests/unictype/test-categ_C.c: Regenerated.
51184         * tests/unictype/test-categ_Cf.c: Regenerated.
51185         * tests/unictype/test-categ_Cn.c: Regenerated.
51186         * tests/unictype/test-categ_L.c: Regenerated.
51187         * tests/unictype/test-categ_Ll.c: Regenerated.
51188         * tests/unictype/test-categ_Lm.c: Regenerated.
51189         * tests/unictype/test-categ_Lo.c: Regenerated.
51190         * tests/unictype/test-categ_Lu.c: Regenerated.
51191         * tests/unictype/test-categ_M.c: Regenerated.
51192         * tests/unictype/test-categ_Mc.c: Regenerated.
51193         * tests/unictype/test-categ_Me.c: Regenerated.
51194         * tests/unictype/test-categ_Mn.c: Regenerated.
51195         * tests/unictype/test-categ_N.c: Regenerated.
51196         * tests/unictype/test-categ_Nd.c: Regenerated.
51197         * tests/unictype/test-categ_Nl.c: Regenerated.
51198         * tests/unictype/test-categ_No.c: Regenerated.
51199         * tests/unictype/test-categ_P.c: Regenerated.
51200         * tests/unictype/test-categ_Pd.c: Regenerated.
51201         * tests/unictype/test-categ_Pe.c: Regenerated.
51202         * tests/unictype/test-categ_Pf.c: Regenerated.
51203         * tests/unictype/test-categ_Pi.c: Regenerated.
51204         * tests/unictype/test-categ_Po.c: Regenerated.
51205         * tests/unictype/test-categ_Ps.c: Regenerated.
51206         * tests/unictype/test-categ_S.c: Regenerated.
51207         * tests/unictype/test-categ_Sk.c: Regenerated.
51208         * tests/unictype/test-categ_Sm.c: Regenerated.
51209         * tests/unictype/test-categ_So.c: Regenerated.
51210         * tests/unictype/test-ctype_alnum.c: Regenerated.
51211         * tests/unictype/test-ctype_alpha.c: Regenerated.
51212         * tests/unictype/test-ctype_graph.c: Regenerated.
51213         * tests/unictype/test-ctype_lower.c: Regenerated.
51214         * tests/unictype/test-ctype_print.c: Regenerated.
51215         * tests/unictype/test-ctype_punct.c: Regenerated.
51216         * tests/unictype/test-ctype_upper.c: Regenerated.
51217         * tests/unictype/test-decdigit.h: Regenerated.
51218         * tests/unictype/test-digit.h: Regenerated.
51219         * tests/unictype/test-numeric.h: Regenerated.
51220         * tests/unictype/test-pr_alphabetic.c: Regenerated.
51221         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
51222         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
51223         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
51224         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
51225         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
51226         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
51227         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
51228         * tests/unictype/test-pr_combining.c: Regenerated.
51229         * tests/unictype/test-pr_dash.c: Regenerated.
51230         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
51231         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
51232         * tests/unictype/test-pr_deprecated.c: Regenerated.
51233         * tests/unictype/test-pr_diacritic.c: Regenerated.
51234         * tests/unictype/test-pr_extender.c: Regenerated.
51235         * tests/unictype/test-pr_format_control.c: Regenerated.
51236         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
51237         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
51238         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
51239         * tests/unictype/test-pr_id_continue.c: Regenerated.
51240         * tests/unictype/test-pr_id_start.c: Regenerated.
51241         * tests/unictype/test-pr_ideographic.c: Regenerated.
51242         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
51243         * tests/unictype/test-pr_lowercase.c: Regenerated.
51244         * tests/unictype/test-pr_math.c: Regenerated.
51245         * tests/unictype/test-pr_numeric.c: Regenerated.
51246         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
51247         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
51248         Regenerated.
51249         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
51250         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
51251         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
51252         * tests/unictype/test-pr_other_math.c: Regenerated.
51253         * tests/unictype/test-pr_punctuation.c: Regenerated.
51254         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
51255         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
51256         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
51257         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
51258         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
51259         * tests/unictype/test-pr_uppercase.c: Regenerated.
51260         * tests/unictype/test-pr_xid_continue.c: Regenerated.
51261         * tests/unictype/test-pr_xid_start.c: Regenerated.
51262         * tests/unictype/test-pr_zero_width.c: Regenerated.
51263
51264         Update to Unicode 5.1.0.
51265         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
51266         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
51267         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
51268         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
51269         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
51270         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
51271         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
51272         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
51273         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
51274         (nonspacing_table_ind): Update.
51275         * tests/uniwidth/test-uc_width2.sh: Update expected result.
51276
51277         Update to Unicode 5.1.0.
51278         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
51279         code transform.
51280         * lib/uniname/uniname.c (unicode_character_name,
51281         unicode_name_character): Add the range 0x1Fxxx to the code transform.
51282         * lib/uniname/uninames.h: Regenerated.
51283         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
51284
51285 2009-02-07  Bruno Haible  <bruno@clisp.org>
51286
51287         Merge gen-ctype and gen-lbrk into a single program.
51288         * lib/gen-uni-tables.c: New file, incorporating
51289         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
51290         Add directory prefixes to the names of the generated files.
51291         * lib/unictype/gen-ctype.c: Remove file.
51292         * lib/unilbrk/gen-lbrk.c: Remove file.
51293         * modules/gen-uni-tables: New file.
51294         * modules/unictype/gen-ctype: Remove file.
51295         * modules/unilbrk/gen-lbrk: Remove file.
51296
51297 2009-02-07  Bruno Haible  <bruno@clisp.org>
51298
51299         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
51300
51301         New module 'unistr/u32-strcoll'.
51302         * modules/unistr/u32-strcoll: New file.
51303         * lib/unistr/u32-strcoll.c: New file.
51304
51305         New module 'unistr/u16-strcoll'.
51306         * modules/unistr/u16-strcoll: New file.
51307         * lib/unistr/u16-strcoll.c: New file.
51308
51309         New module 'unistr/u8-strcoll'.
51310         * modules/unistr/u8-strcoll: New file.
51311         * lib/unistr/u8-strcoll.c: New file.
51312         * lib/unistr/u-strcoll.h: New file.
51313
51314 2009-02-07  Bruno Haible  <bruno@clisp.org>
51315
51316         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
51317         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51318         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51319         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
51320         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
51321         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
51322
51323 2009-02-07  Bruno Haible  <bruno@clisp.org>
51324
51325         Make 64-bit clean.
51326         * lib/unictype/gen-ctype.c (output_predicate, output_category,
51327         output_combclass, output_bidi_category, output_decimal_digit,
51328         output_digit, output_numeric, output_mirror, output_scripts,
51329         output_ident_category): Use proper width specifier in format strings.
51330
51331 2009-02-07  Bruno Haible  <bruno@clisp.org>
51332
51333         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
51334         failure behaviour.
51335
51336 2009-02-07  Jim Meyering  <meyering@redhat.com>
51337
51338         regex: avoid compilation failure with upcoming gcc-4.4
51339         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
51340         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
51341         "... error: integer overflow in preprocessor expression".
51342
51343 2009-02-05  Ben Pfaff  <blp@gnu.org>
51344
51345         Fix link errors on Windows when close module is used.
51346         * modules/close: Add $(LIB_CLOSE) to Link section.
51347         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
51348         $(LIB_CLOSE) on Windows.
51349
51350 2009-02-05  Jim Meyering  <meyering@redhat.com>
51351
51352         still avoid unused-parameter warnings, but do it cleanly
51353         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
51354         (get_fs_usage): Cast to void instead.
51355         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
51356         (dev_from_mount_options, read_file_system_list): Cast to void.
51357         Prompted by Bruno Haible.
51358
51359 2009-02-04  Jim Meyering  <meyering@redhat.com>
51360
51361         fsusage.c: correct copyright year
51362         * lib/fsusage.c: Reflect year in which the change is pushed into
51363
51364         avoid misc. warnings
51365         * lib/fsusage.c (UNUSED_PARAM): Define.
51366         (get_fs_usage): Mark parameter "disk" as unused.
51367         * lib/getugroups.c (getgrent): Use "void" in prototype.
51368         * lib/mountlist.c: Mark unused parameters.
51369         (read_file_system_list): Declare a local with "const".
51370         * lib/nanosleep.c (getnow): Declare static.
51371         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
51372
51373         dirfd: set errno upon failure
51374         * lib/dirfd.c: Include <errno.h>.
51375         Set errno to ENOTSUP when returning -1.
51376         * modules/dirfd (Depends-on): Add errno.
51377         Suggested by John Kodis <kodis@comcast.net>.
51378
51379 2009-02-01  Bruno Haible  <bruno@clisp.org>
51380
51381         Don't assume sizeof (long) >= sizeof (void *).
51382         * lib/memcmp.c: Include stdint.h.
51383         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
51384         srcp2 to 'const byte *'.
51385         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
51386         types to uintptr_t.
51387         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
51388         * modules/memcmp (Depends-on): Add stdint.
51389         Reported by Ozkan Sezer <sezeroz@gmail.com>.
51390
51391 2009-01-30  Eric Blake  <ebb9@byu.net>
51392
51393         fix more require-before-expand issues
51394         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
51395         expand, AC_PROG_AWK.
51396         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
51397
51398 2009-01-28  Eric Blake  <ebb9@byu.net>
51399
51400         version-etc: use consistent URL formatting
51401         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
51402         Improve formatting.  Use fputs for string without %.
51403
51404 2009-01-28  Jim Meyering  <meyering@redhat.com>
51405
51406         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
51407         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
51408         "underquoted definition of NAME" from autoconf-2.59.
51409
51410 2009-01-28  Bruno Haible  <bruno@clisp.org>
51411
51412         * doc/gnulib.texi: Add "Obsolete modules" to index.
51413
51414 2009-01-28  Jim Meyering  <meyering@redhat.com>
51415
51416         useless-if-before-free: recognize more variants
51417         * build-aux/useless-if-before-free: Also recognize e.g.,
51418         if (NULL != p) free (p);
51419
51420 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
51421
51422         test-getaddrinfo: skip (don't fail) this test when there's no network
51423         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
51424         on the presumption that it means you lack network access.
51425
51426 2009-01-26  Jim Meyering  <meyering@redhat.com>
51427
51428         fflush: avoid warnings on modern systems
51429         * lib/fflush.c (rpl_fflush): Move declarations of locals,
51430         pos and result, into scopes where they're used.
51431
51432 2009-01-26  Eric Blake  <ebb9@byu.net>
51433
51434         Silence warning reintroduced by recent extensions patch.
51435         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
51436         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
51437         autoconf.
51438
51439         Backport improved autoconf semantics of AC_DEFUN_ONCE.
51440         * m4/00gnulib.m4: New file.
51441         * gnulib-tool (func_get_filelist): Always use it.
51442         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
51443         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
51444
51445 2009-01-25  Bruno Haible  <bruno@clisp.org>
51446
51447         Make test-quotearg work on MacOS X and AIX.
51448         * tests/test-quotearg.sh: New file.
51449         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
51450         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
51451         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
51452         include <libintl.h>.
51453         (fake_locale): Remove variable.
51454         (gettext, dgettext, dcgettext): Remove functions.
51455         (main): Instead of setting a fake locale, set a real locale. Call
51456         textdomain and bindtextdomain.
51457         * modules/quotearg-tests (Files): Add the new files.
51458         (Depends-on): Add gettext, setenv, unsetenv.
51459         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51460         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
51461         Augment TESTS_ENVIRONMENT.
51462
51463 2009-01-25  Bruno Haible  <bruno@clisp.org>
51464
51465         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
51466         fr_FR.ISO8859-1 locale on MacOS X.
51467         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
51468         ja_JP.eucJP locale on MacOS X.
51469         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
51470         zh_CN.GB18030 locale on MacOS X.
51471
51472 2009-01-25  Bruno Haible  <bruno@clisp.org>
51473
51474         Avoid link errors on MacOS X 10.3.
51475         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
51476         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
51477
51478 2009-01-25  Bruno Haible  <bruno@clisp.org>
51479
51480         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51481         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
51482         * modules/pipe (Files): Remove m4/posix_spawn.m4.
51483         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51484         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
51485         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51486         posix_spawnattr_init, posix_spawnattr_setsigmask,
51487         posix_spawnattr_setflags, posix_spawnattr_destroy.
51488
51489         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51490         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
51491         * modules/execute (Files): Remove m4/posix_spawn.m4.
51492         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51493         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51494         posix_spawnattr_init, posix_spawnattr_setsigmask,
51495         posix_spawnattr_setflags, posix_spawnattr_destroy.
51496
51497 2009-01-25  Bruno Haible  <bruno@clisp.org>
51498
51499         * lib/glthread/threadlib.c: Include <stdlib.h>.
51500
51501 2009-01-25  Bruno Haible  <bruno@clisp.org>
51502
51503         * lib/glthread/threadlib.c (dummy): New declaration.
51504
51505 2009-01-25  Bruno Haible  <bruno@clisp.org>
51506
51507         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
51508         multibyte characters also for the GB18030 encoding. Don't crash when
51509         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
51510
51511 2009-01-25  Bruno Haible  <bruno@clisp.org>
51512
51513         Avoid redefining 'struct random_data' on OSF/1 5.1.
51514         * lib/stdlib.in.h: Include <random.h> if it exists.
51515         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
51516         HAVE_RANDOM_H. Include <random.h> when testing whether
51517         'struct random_data' exists.
51518         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
51519
51520 2009-01-25  Bruno Haible  <bruno@clisp.org>
51521
51522         Don't install charset.alias on MacOS X >= 10.3.
51523         * lib/localcharset.c (DARWIN7): New macro.
51524         (get_charset_aliases): Hardcode the result for Darwin7.
51525         * modules/localcharset (install-exec-local): Don't install
51526         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
51527
51528 2009-01-25  Bruno Haible  <bruno@clisp.org>
51529
51530         Don't install charset.alias on mingw and Cygwin.
51531         * modules/localcharset (install-exec-local): Don't install
51532         charset.alias on mingw and Cygwin, if the file does not yet exist.
51533         The result for these platforms is hardcoded in localcharset.c.
51534
51535 2009-01-25  Bruno Haible  <bruno@clisp.org>
51536
51537         Make it possible again to use AC_GNU_SOURCE together with gnulib.
51538         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
51539         before requiring AC_USE_SYSTEM_EXTENSIONS.
51540
51541 2009-01-25  Jim Meyering  <meyering@redhat.com>
51542
51543         c-strtod: avoid warnings
51544         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
51545         "assignment discards qualifiers from pointer target type" warnings.
51546
51547 2009-01-24  Bruno Haible  <bruno@clisp.org>
51548
51549         Add support for non-UTF-8 locales on MacOS X.
51550         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
51551         canonical encodings. For Darwin 7 and newer, don't map traditional
51552         encodings to UTF-8.
51553         Reported by Vincent Lefevre <vincent@vinc17.org>
51554         at <http://savannah.gnu.org/bugs/?25235>.
51555
51556 2009-01-24  Bruno Haible  <bruno@clisp.org>
51557
51558         * doc/gnulib.texi (Obsolete modules): New section.
51559         Reported by Mike Frysinger <vapier@gentoo.org>.
51560
51561 2009-01-24  Bruno Haible  <bruno@clisp.org>
51562
51563         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
51564         (%.dvi): New rule.
51565
51566 2009-01-24  Bruno Haible  <bruno@clisp.org>
51567
51568         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
51569         Reported by Eric Blake.
51570
51571 2009-01-24  Bruno Haible  <bruno@clisp.org>
51572
51573         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
51574         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
51575         Reported by Gary V. Vaughan <gary@gnu.org>.
51576
51577 2009-01-24  Bruno Haible  <bruno@clisp.org>
51578
51579         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
51580
51581 2009-01-23  Bruno Haible  <bruno@clisp.org>
51582
51583         Make c-strtod, c-strtold usable in libraries.
51584         * lib/c-strtod.c: Include string.h instead of xalloc.h.
51585         (C_STRTOD): Call strdup instead of xstrdup.
51586         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
51587         * modules/c-strtold (Depends-on): Likewise.
51588         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
51589         * NEWS: Mention the change.
51590         Reported by Michael Gold <mgold@ncf.ca>.
51591
51592 2009-01-23  Jim Meyering  <meyering@redhat.com>
51593
51594         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
51595         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
51596         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
51597
51598 2009-01-23  Simon Josefsson  <simon@josefsson.org>
51599
51600         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
51601         GNU CoreUtils.
51602         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
51603         * modules/version-etc (Description): Update.
51604
51605 2009-01-22  Bruno Haible  <bruno@clisp.org>
51606
51607         Cache the C locale object.
51608         * lib/c-strtod.c (c_locale_cache): New variable.
51609         (c_locale): New function.
51610         (C_STRTOD): Use it, and don't call freelocale.
51611         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
51612         Suggested by Paolo Bonzini.
51613
51614 2009-01-21  Bruno Haible  <bruno@clisp.org>
51615
51616         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
51617         conditions other than overflow.
51618
51619 2009-01-21  Bruno Haible  <bruno@clisp.org>
51620
51621         * lib/c-strtod.c: Include errno.h.
51622         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
51623         value from STRTOD_L and STRTOD.
51624
51625 2009-01-21  Bruno Haible  <bruno@clisp.org>
51626         and Jim Meyering  <meyering@redhat.com>
51627
51628         nanosleep: skip configure test (fail it) for apple universal builds
51629         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
51630         universal builds, assume that nanosleep does not work.
51631         * modules/nanosleep (Depends-on): Add multiarch.
51632
51633         mktime: skip configure test (fail it) for apple universal builds
51634         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
51635         universal builds, assume that mktime does not work.
51636         * modules/mktime (Depends-on): Add multiarch.
51637
51638 2009-01-21  Eric Blake  <ebb9@byu.net>
51639
51640         multiarch: avoid expand-before-require warning
51641         * modules/multiarch (configure.ac): Require, rather than expand,
51642         gl_MULTIARCH.
51643         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
51644         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
51645         enforce that all clients require it.  Partial reversion of
51646         2008-12-29 patch.
51647
51648         error: avoid expand-before-require warning
51649         * modules/errno (configure.ac): Require, rather than expand,
51650         gl_HEADER_ERRNO_H.
51651         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
51652         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
51653         enforce that all clients require it.
51654
51655         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
51656         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
51657         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
51658         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
51659
51660 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
51661
51662         Revert:
51663         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51664
51665         regex: do not depend on obsolete modules.
51666         * modules/regex: Remove memcmp and memmove.
51667
51668 2009-01-20  Bruno Haible  <bruno@clisp.org>
51669
51670         Make the 'link' module link on Windows NT 4.
51671         * lib/link.c (_WIN32_WINNT): Don't define.
51672         (CreateHardLinkFuncType): New type.
51673         (CreateHardLinkFunc, initialized): New variables.
51674         (initialize): New function.
51675         (link): Invoke CreateHardLink indirectly through the function pointer.
51676
51677 2009-01-20  Bruno Haible  <bruno@clisp.org>
51678
51679         Fix compilation failure on mingw.
51680         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
51681
51682 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
51683
51684         * doc/c-strtod.texi: Mention a couple of restrictions.
51685
51686 2009-01-20  Jim Meyering  <meyering@redhat.com>
51687
51688         gettimeofday: move more declarations out of functions
51689         * lib/gettimeofday.c: Move extern declarations of tzset and
51690         gmtime out of containing functions.  Prompted by Bruno Haible.
51691
51692 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51693
51694         regex: do not depend on obsolete modules.
51695         * modules/regex: Remove memcmp and memmove.
51696
51697 2009-01-19  Bruno Haible  <bruno@clisp.org>
51698
51699         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51700         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
51701         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51702         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
51703         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
51704
51705 2009-01-19  Bruno Haible  <bruno@clisp.org>
51706
51707         * tests/test-link.c: Include <errno.h>.
51708         (main): Exit with code 77 when a hard link cannot be created due to
51709         the file system.
51710         * tests/test-link.sh: Skip test when a hard link cannot be created due
51711         to the file system.
51712         Suggested by Eric Blake.
51713
51714 2009-01-19  Martin Lambers  <marlam@marlam.de>
51715
51716         * modules/link-tests: New file.
51717         * tests/test-link.sh: New file.
51718         * tests/test-link.c: New file.
51719
51720 2009-01-19  Eric Blake  <ebb9@byu.net>
51721
51722         doc: mention another function added in cygwin 1.7.0
51723         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
51724         Another new function in cygwin 1.7.
51725
51726 2009-01-19  Bruno Haible  <bruno@clisp.org>
51727
51728         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51729         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
51730         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
51731         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51732         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
51733         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
51734         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
51735         * m4/md4.m4 (gl_MD4): Likewise.
51736         * m4/md5.m4 (gl_MD5): Likewise.
51737         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
51738         * m4/sha1.m4 (gl_SHA1): Likewise.
51739         * m4/sha256.m4 (gl_SHA256): Likewise.
51740         * m4/sha512.m4 (gl_SHA512): Likewise.
51741
51742 2009-01-19  Bruno Haible  <bruno@clisp.org>
51743
51744         * modules/uniname/uniname-tests (Depends-on): Add progname.
51745         * tests/uniname/test-uninames.c: Include progname.h.
51746         (main): Call set_program_name.
51747
51748         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
51749         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
51750         (main): Call set_program_name.
51751
51752         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
51753         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
51754         (main): Call set_program_name.
51755
51756         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
51757         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
51758         (main): Call set_program_name.
51759
51760         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
51761         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
51762         (main): Call set_program_name.
51763
51764         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
51765         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
51766         (main): Call set_program_name.
51767
51768         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
51769         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
51770         (main): Call set_program_name.
51771
51772         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
51773         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
51774         (main): Call set_program_name.
51775
51776         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
51777         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
51778         (main): Call set_program_name.
51779
51780 2009-01-19  Eric Blake  <ebb9@byu.net>
51781
51782         test-unistd: test previous patch
51783         * tests/test-unistd.c: Test *_FILENO macros.
51784
51785         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
51786         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51787         Guarantee a definition.
51788         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
51789         * modules/unistd-safer (Depends-on): Add dependency on unistd.
51790         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
51791         * lib/dup-safer.c (STDERR_FILENO): Likewise.
51792         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51793         Likewise.
51794         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
51795         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
51796         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51797         Likewise.
51798         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
51799         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
51800         (STDERR_FILENO): Likewise.
51801         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
51802         (STDERR_FILENO): Likewise.
51803         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
51804         (STDERR_FILENO): Likewise.
51805         Reported by Elbert Pol.
51806
51807 2009-01-19  Eric Blake  <ebb9@byu.net>
51808
51809         doc: mention more functions added in cygwin 1.7.0
51810         * doc/posix-functions/abort.texi (abort): Update wording related
51811         to cygwin.
51812         * doc/posix-functions/daylight.texi (daylight): Likewise.
51813         * doc/posix-functions/optarg.texi (optarg): Likewise.
51814         * doc/posix-functions/optarg.texi (opterr): Likewise.
51815         * doc/posix-functions/optarg.texi (optind): Likewise.
51816         * doc/posix-functions/optarg.texi (optopt): Likewise.
51817         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
51818         worked in 1.5.x, and was withdrawn in 1.7.
51819         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
51820         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
51821         cygwin versions.
51822         * doc/posix-functions/perror.texi (perror): Likewise.
51823         * doc/posix-functions/printf.texi (printf): Likewise.
51824         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
51825         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
51826         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
51827         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
51828         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
51829         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
51830         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
51831         Likewise.
51832         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
51833         Likewise.
51834         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
51835         this function.
51836         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
51837         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
51838         Likewise.
51839         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
51840         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
51841         * doc/posix-functions/confstr.texi (confstr): Likewise.
51842         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
51843         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
51844         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
51845         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
51846         * doc/posix-functions/fputws.texi (fputws): Likewise.
51847         * doc/posix-functions/fwide.texi (fwide): Likewise.
51848         * doc/posix-functions/getwc.texi (getwc): Likewise.
51849         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
51850         * doc/posix-functions/putwc.texi (putwc): Likewise.
51851         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
51852         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
51853         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
51854         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
51855         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
51856         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
51857         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
51858         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
51859         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
51860         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
51861         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
51862
51863 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51864
51865         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
51866         * lib/ioctl.c: Include <sys/ioctl.h>.
51867
51868 2009-01-19  Simon Josefsson  <simon@josefsson.org>
51869
51870         * modules/getdate-tests (Depends-on): Add progname.
51871         * tests/test-getdate.c: Use progname module, to avoid link errors
51872         on non-glibc systems.
51873
51874 2009-01-18  Simon Josefsson  <simon@josefsson.org>
51875
51876         * modules/filenamecat-tests (Depends-on): Add progname.
51877         * modules/fstrcmp-tests (Depends-on): Likewise.
51878
51879         * tests/test-filenamecat.c: Use progname module, to avoid link
51880         errors on non-glibc systems.
51881         * tests/test-fstrcmp.c: Likewise.
51882
51883 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51884
51885         gettimeofday: avoid warning: nested extern declaration of 'localtime'
51886         * lib/gettimeofday.c: Move extern declaration out of function.
51887
51888 2009-01-18  Bruno Haible  <bruno@clisp.org>
51889
51890         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
51891         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
51892         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
51893
51894 2009-01-18  Bruno Haible  <bruno@clisp.org>
51895
51896         * lib/strftime.c (MEMPCPY): Remove unused macro.
51897         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
51898
51899 2009-01-18  Martin Lambers  <marlam@marlam.de>
51900
51901         New module 'link'.
51902         * lib/unistd.in.h (link): New declaration.
51903         * lib/link.c: New file.
51904         * m4/link.m4: New file.
51905         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
51906         HAVE_LINK.
51907         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
51908         * modules/link: New file.
51909         * doc/posix-functions/link.texi: Mention the new module.
51910
51911 2009-01-18  Bruno Haible  <bruno@clisp.org>
51912
51913         * tests/test-avltree_list.c (main): Call set_program_name.
51914         * tests/test-avltree_oset.c (main): Likewise.
51915         * tests/test-obstack-printf.c: Include progname.h.
51916         (main): Call set_program_name.
51917         * tests/test-quotearg.c: Include progname.h.
51918         (main): Call set_program_name.
51919         * tests/test-xmemdup0.c: Include progname.h.
51920         (main): Call set_program_name.
51921
51922 2009-01-18  Bruno Haible  <bruno@clisp.org>
51923
51924         New module 'alphasort'.
51925         * lib/dirent.in.h (alphasort): New declaration.
51926         * lib/alphasort.c: New file, from glibc with modifications.
51927         * m4/alphasort.m4: New file.
51928         * modules/alphasort: New file.
51929         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
51930         HAVE_ALPHASORT.
51931         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
51932         HAVE_ALPHASORT.
51933         * doc/posix-functions/alphasort.texi: Mention the new module and the
51934         portability problems.
51935
51936 2009-01-18  Bruno Haible  <bruno@clisp.org>
51937
51938         New module 'scandir'.
51939         * lib/dirent.in.h (scandir): New declaration.
51940         * lib/scandir.c: New file, from glibc with modifications.
51941         * m4/scandir.m4: New file.
51942         * modules/scandir: New file.
51943         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
51944         HAVE_SCANDIR.
51945         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
51946         HAVE_SCANDIR.
51947         * doc/posix-functions/scandir.texi: Mention the new module and the
51948         portability problems.
51949
51950 2009-01-17  Bruno Haible  <bruno@clisp.org>
51951
51952         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
51953         Update documentation.
51954         (func_remove_suffix): Escape all dots in the suffix. Update
51955         documentation.
51956         (func_filter_filelist): Update documentation.
51957         Reported by Ralf Wildenhues.
51958
51959 2009-01-17  Bruno Haible  <bruno@clisp.org>
51960
51961         * modules/dprintf-posix-tests: New file.
51962         * tests/test-dprintf-posix.sh: New file.
51963         * tests/test-dprintf-posix.c: New file.
51964
51965         New modules 'dprintf', 'dprintf-posix'.
51966         * lib/stdio.in.h (dprintf): New declaration.
51967         * lib/dprintf.c: New file.
51968         * m4/dprintf.m4: New file.
51969         * m4/dprintf-posix.m4: New file.
51970         * modules/dprintf: New file.
51971         * modules/dprintf-posix: New file.
51972         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
51973         HAVE_DPRINTF, REPLACE_DPRINTF.
51974         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
51975         HAVE_DPRINTF, REPLACE_DPRINTF.
51976         * doc/posix-functions/dprintf.texi: Mention the new modules.
51977
51978 2009-01-17  Bruno Haible  <bruno@clisp.org>
51979
51980         * modules/vdprintf-posix-tests: New file.
51981         * tests/test-vdprintf-posix.sh: New file.
51982         * tests/test-vdprintf-posix.c: New file.
51983
51984         New modules 'vdprintf', 'vdprintf-posix'.
51985         * lib/stdio.in.h (vdprintf): New declaration.
51986         * lib/vdprintf.c: New file.
51987         * m4/vdprintf.m4: New file.
51988         * m4/vdprintf-posix.m4: New file.
51989         * modules/vdprintf: New file.
51990         * modules/vdprintf-posix: New file.
51991         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
51992         HAVE_VDPRINTF, REPLACE_VDPRINTF.
51993         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
51994         HAVE_VDPRINTF, REPLACE_VDPRINTF.
51995         * doc/posix-functions/vdprintf.texi: Mention the new modules.
51996
51997 2009-01-17  Bruno Haible  <bruno@clisp.org>
51998
51999         Fix replacement of fopen on mingw.
52000         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
52001         mingw.
52002
52003 2009-01-17  Bruno Haible  <bruno@clisp.org>
52004
52005         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
52006         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
52007
52008 2009-01-17  Bruno Haible  <bruno@clisp.org>
52009
52010         Avoid test-fflush2.sh failure on mingw.
52011         * tests/test-fflush2.c: Include binary-io.h.
52012         (main): Put standard input into binary mode.
52013         * modules/fflush-tests (Depends-on): Add binary-io.
52014
52015 2009-01-17  Bruno Haible  <bruno@clisp.org>
52016
52017         * lib/wchar.in.h: In another particular situation, include only the
52018         system's <wchar.h> file.
52019         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
52020         Reported by Albert Chin-A-Young <china@thewrittenword.com>
52021         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
52022
52023 2009-01-17  Bruno Haible  <bruno@clisp.org>
52024
52025         Support for stripping executables in --enable-relocatable.
52026         * build-aux/install-reloc: Expect one more argument, or an environment
52027         variable RELOC_STRIP_PROG. If set, strip the destination program and
52028         its wrapper.
52029         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
52030         RELOC_STRIP_PROG.
52031         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
52032         to set RELOCATABLE_STRIP.
52033         * NEWS: Mention the new Makefile requirement.
52034
52035 2009-01-17  Bruno Haible  <bruno@clisp.org>
52036
52037         * build-aux/install-reloc: Remove debugging information left over by
52038         C compiler on MacOS X.
52039
52040 2009-01-17  Bruno Haible  <bruno@clisp.org>
52041
52042         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
52043         * lib/progreloc.c (find_executable): Fix type of pointer passed to
52044         _NSGetExecutablePath.
52045
52046 2009-01-16  Jim Meyering  <meyering@redhat.com>
52047
52048         strerror: avoid warnings about discarding "const"
52049         * lib/strerror.c (rpl_strerror): Instead of returning a const
52050         string from each and every "case", use a variable, and add a single
52051         cast after the switch.
52052
52053 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
52054
52055         * lib/arpa_inet.in.h: Add extern "C" block for C++.
52056
52057 2009-01-16  Bruno Haible  <bruno@clisp.org>
52058
52059         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
52060         array initializer syntax that also works in C++ mode.
52061         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52062
52063 2009-01-16  Jim Meyering  <meyering@redhat.com>
52064
52065         poll: suppress a warning
52066         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
52067         to ignore "...unsigned expression < 0 is always false" warnings.
52068
52069 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
52070
52071         poll: remove declarations of unused variables
52072         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
52073         sockbuf and optlen.
52074
52075 2009-01-15  Bruno Haible  <bruno@clisp.org>
52076
52077         Make fflush-after-ungetc POSIX compliant on BSD systems.
52078         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
52079         (clear_ungetc_buffer): Implement also for other systems.
52080         (rpl_fflush): On glibc systems, invoke
52081         clear_ungetc_buffer_preserving_position. Otherwise, invoke
52082         clear_ungetc_buffer after fetching the stream's position, not before.
52083
52084 2009-01-15  Bruno Haible  <bruno@clisp.org>
52085
52086         Make fflush-after-ungetc POSIX compliant on glibc systems.
52087         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
52088         after ungetc.
52089         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
52090         (rpl_fflush): On glibc systems, simply call the system's fflush
52091         function after clearing the ungetc buffer.
52092         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
52093         Instead, lseek only to the end of file, then use the system's fseeko
52094         for the rest. On glibc systems, reset the EOF indicator bit.
52095
52096 2009-01-15  Jim Meyering  <meyering@redhat.com>
52097
52098         openmp.m4: revert quote-adding change, for portability to older autoconf
52099         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
52100         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
52101         Simon Josefsson noticed the problem when using autoconf-2.61.
52102
52103 2009-01-15  Bruno Haible  <bruno@clisp.org>
52104
52105         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
52106         * tests/test-fflush2.c (ASSERT): Always fail.
52107         (main): Add two tests for fflush() after ungetc(), taking into account
52108         the Austin Group's clarification.
52109         Suggested by Eric Blake.
52110
52111 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
52112
52113         mktime.m4: remove K&R-style function prototypes
52114         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
52115         for the Sun C++ compiler.
52116
52117 2009-01-14  Bruno Haible  <bruno@clisp.org>
52118
52119         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
52120         while including <wchar.h>.
52121         * lib/wchar.in.h: In two particular situations on HP-UX, include only
52122         the system's <wchar.h> file.
52123         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52124
52125 2009-01-14  Bruno Haible  <bruno@clisp.org>
52126
52127         * m4/csharp.m4: Don't mention gettext on the serial number line.
52128         * m4/csharpexec.m4: Likewise.
52129         * m4/eaccess.m4: Likewise.
52130         * m4/javaexec.m4: Likewise.
52131         * m4/sig_atomic_t.m4: Likewise.
52132         * m4/tmpdir.m4: Likewise.
52133         * m4/intldir.m4: Bump gettext version.
52134         * m4/lib-ld.m4: Likewise.
52135
52136 2009-01-14  Bruno Haible  <bruno@clisp.org>
52137
52138         * lib/progname.c (set_program_name): Add more comments.
52139         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
52140
52141 2009-01-14  Simon Josefsson  <simon@josefsson.org>
52142
52143         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
52144         were sys/stat.h does not define it.
52145
52146 2009-01-14  Jim Meyering  <meyering@redhat.com>
52147
52148         many *.m4 files: improve m4 quoting
52149         99% of this change was performed by running the following commands:
52150         git ls-files | grep '\.m4$' | xargs perl -pi \
52151           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
52152           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52153           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52154           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
52155         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
52156         The remainder were to add Copyright dates, increment serial numbers,
52157         undo some changes in comments, exclude m4/intl.m4, and add quotes
52158         around the "1" in ",1" where the unusual spacing prohibited the
52159         above regexps from doing the job.  For more details, see
52160         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
52161         * m4/acl.m4: Modified.
52162         * m4/afs.m4: Likewise.
52163         * m4/alloca.m4: Likewise.
52164         * m4/argp.m4: Likewise.
52165         * m4/argz.m4: Likewise.
52166         * m4/atexit.m4: Likewise.
52167         * m4/bison-i18n.m4: Likewise.
52168         * m4/bison.m4: Likewise.
52169         * m4/byteswap.m4: Likewise.
52170         * m4/c-stack.m4: Likewise.
52171         * m4/c-strtod.m4: Likewise.
52172         * m4/calloc.m4: Likewise.
52173         * m4/canonicalize-lgpl.m4: Likewise.
52174         * m4/chown.m4: Likewise.
52175         * m4/clock_time.m4: Likewise.
52176         * m4/codeset.m4: Likewise.
52177         * m4/copy-file.m4: Likewise.
52178         * m4/csharp.m4: Likewise.
52179         * m4/csharpcomp.m4: Likewise.
52180         * m4/csharpexec.m4: Likewise.
52181         * m4/d-ino.m4: Likewise.
52182         * m4/d-type.m4: Likewise.
52183         * m4/dirfd.m4: Likewise.
52184         * m4/double-slash-root.m4: Likewise.
52185         * m4/eaccess.m4: Likewise.
52186         * m4/eealloc.m4: Likewise.
52187         * m4/environ.m4: Likewise.
52188         * m4/errno_h.m4: Likewise.
52189         * m4/euidaccess.m4: Likewise.
52190         * m4/execute.m4: Likewise.
52191         * m4/fatal-signal.m4: Likewise.
52192         * m4/fchdir.m4: Likewise.
52193         * m4/fcntl_h.m4: Likewise.
52194         * m4/fileblocks.m4: Likewise.
52195         * m4/filenamecat.m4: Likewise.
52196         * m4/findprog.m4: Likewise.
52197         * m4/flexmember.m4: Likewise.
52198         * m4/fnmatch.m4: Likewise.
52199         * m4/fopen.m4: Likewise.
52200         * m4/fpending.m4: Likewise.
52201         * m4/fprintf-posix.m4: Likewise.
52202         * m4/free.m4: Likewise.
52203         * m4/frexp.m4: Likewise.
52204         * m4/frexpl.m4: Likewise.
52205         * m4/fsusage.m4: Likewise.
52206         * m4/ftruncate.m4: Likewise.
52207         * m4/gc-camellia.m4: Likewise.
52208         * m4/gc-random.m4: Likewise.
52209         * m4/gc.m4: Likewise.
52210         * m4/getaddrinfo.m4: Likewise.
52211         * m4/getcwd-abort-bug.m4: Likewise.
52212         * m4/getcwd-path-max.m4: Likewise.
52213         * m4/getdate.m4: Likewise.
52214         * m4/getdomainname.m4: Likewise.
52215         * m4/getgroups.m4: Likewise.
52216         * m4/gethostname.m4: Likewise.
52217         * m4/gethrxtime.m4: Likewise.
52218         * m4/getline.m4: Likewise.
52219         * m4/getloadavg.m4: Likewise.
52220         * m4/getndelim2.m4: Likewise.
52221         * m4/getpass.m4: Likewise.
52222         * m4/gettext.m4: Likewise.
52223         * m4/gettime.m4: Likewise.
52224         * m4/gettimeofday.m4: Likewise.
52225         * m4/gnulib-common.m4: Likewise.
52226         * m4/group-member.m4: Likewise.
52227         * m4/host-os.m4: Likewise.
52228         * m4/iconv.m4: Likewise.
52229         * m4/iconv_open.m4: Likewise.
52230         * m4/inet_ntop.m4: Likewise.
52231         * m4/inet_pton.m4: Likewise.
52232         * m4/inline.m4: Likewise.
52233         * m4/intldir.m4: Likewise.
52234         * m4/intlmacosx.m4: Likewise.
52235         * m4/intmax.m4: Likewise.
52236         * m4/intmax_t.m4: Likewise.
52237         * m4/inttypes.m4: Likewise.
52238         * m4/inttypes_h.m4: Likewise.
52239         * m4/inttypes-pri.m4: Likewise.
52240         * m4/isapipe.m4: Likewise.
52241         * m4/isnand.m4: Likewise.
52242         * m4/isnanf.m4: Likewise.
52243         * m4/isnanl.m4: Likewise.
52244         * m4/javacomp.m4: Likewise.
52245         * m4/javaexec.m4: Likewise.
52246         * m4/jm-winsz1.m4: Likewise.
52247         * m4/jm-winsz2.m4: Likewise.
52248         * m4/lchown.m4: Likewise.
52249         * m4/lcmessage.m4: Likewise.
52250         * m4/ldexpl.m4: Likewise.
52251         * m4/lib-ld.m4: Likewise.
52252         * m4/lib-link.m4: Likewise.
52253         * m4/libsigsegv.m4: Likewise.
52254         * m4/link-follow.m4: Likewise.
52255         * m4/localcharset.m4: Likewise.
52256         * m4/locale-fr.m4: Likewise.
52257         * m4/locale-ja.m4: Likewise.
52258         * m4/locale-tr.m4: Likewise.
52259         * m4/locale-zh.m4: Likewise.
52260         * m4/lock.m4: Likewise.
52261         * m4/longlong.m4: Likewise.
52262         * m4/ls-mntd-fs.m4: Likewise.
52263         * m4/lstat.m4: Likewise.
52264         * m4/malloc.m4: Likewise.
52265         * m4/mathl.m4: Likewise.
52266         * m4/mbrtowc.m4: Likewise.
52267         * m4/mbstate_t.m4: Likewise.
52268         * m4/mbswidth.m4: Likewise.
52269         * m4/memchr.m4: Likewise.
52270         * m4/memcmp.m4: Likewise.
52271         * m4/memcpy.m4: Likewise.
52272         * m4/memmem.m4: Likewise.
52273         * m4/memmove.m4: Likewise.
52274         * m4/mempcpy.m4: Likewise.
52275         * m4/memrchr.m4: Likewise.
52276         * m4/memset.m4: Likewise.
52277         * m4/minmax.m4: Likewise.
52278         * m4/mkdir-slash.m4: Likewise.
52279         * m4/mkdtemp.m4: Likewise.
52280         * m4/mktime.m4: Likewise.
52281         * m4/mmap-anon.m4: Likewise.
52282         * m4/mountlist.m4: Likewise.
52283         * m4/nanosleep.m4: Likewise.
52284         * m4/nls.m4: Likewise.
52285         * m4/nocrash.m4: Likewise.
52286         * m4/open.m4: Likewise.
52287         * m4/openat.m4: Likewise.
52288         * m4/openmp.m4: Likewise.
52289         * m4/pathmax.m4: Likewise.
52290         * m4/perl.m4: Likewise.
52291         * m4/physmem.m4: Likewise.
52292         * m4/pipe.m4: Likewise.
52293         * m4/po.m4: Likewise.
52294         * m4/poll.m4: Likewise.
52295         * m4/posixtm.m4: Likewise.
52296         * m4/posixver.m4: Likewise.
52297         * m4/printf-frexp.m4: Likewise.
52298         * m4/printf-frexpl.m4: Likewise.
52299         * m4/printf-posix.m4: Likewise.
52300         * m4/printf-posix-rpl.m4: Likewise.
52301         * m4/printf.m4: Likewise.
52302         * m4/progtest.m4: Likewise.
52303         * m4/putenv.m4: Likewise.
52304         * m4/readline.m4: Likewise.
52305         * m4/readlink.m4: Likewise.
52306         * m4/readutmp.m4: Likewise.
52307         * m4/realloc.m4: Likewise.
52308         * m4/regex.m4: Likewise.
52309         * m4/relocatable.m4: Likewise.
52310         * m4/relocatable-lib.m4: Likewise.
52311         * m4/rename-dest-slash.m4: Likewise.
52312         * m4/rename.m4: Likewise.
52313         * m4/rmdir-errno.m4: Likewise.
52314         * m4/rmdir.m4: Likewise.
52315         * m4/roundf.m4: Likewise.
52316         * m4/roundl.m4: Likewise.
52317         * m4/rpmatch.m4: Likewise.
52318         * m4/save-cwd.m4: Likewise.
52319         * m4/selinux-selinux-h.m4: Likewise.
52320         * m4/setenv.m4: Likewise.
52321         * m4/settime.m4: Likewise.
52322         * m4/sig2str.m4: Likewise.
52323         * m4/sig_atomic_t.m4: Likewise.
52324         * m4/signalblocking.m4: Likewise.
52325         * m4/signbit.m4: Likewise.
52326         * m4/sigpipe.m4: Likewise.
52327         * m4/sockets.m4: Likewise.
52328         * m4/sockpfaf.m4: Likewise.
52329         * m4/st_dm_mode.m4: Likewise.
52330         * m4/stat-time.m4: Likewise.
52331         * m4/stdbool.m4: Likewise.
52332         * m4/stdint.m4: Likewise.
52333         * m4/stdint_h.m4: Likewise.
52334         * m4/stpcpy.m4: Likewise.
52335         * m4/stpncpy.m4: Likewise.
52336         * m4/strcase.m4: Likewise.
52337         * m4/strchrnul.m4: Likewise.
52338         * m4/strcspn.m4: Likewise.
52339         * m4/strdup.m4: Likewise.
52340         * m4/strftime.m4: Likewise.
52341         * m4/strndup.m4: Likewise.
52342         * m4/strnlen.m4: Likewise.
52343         * m4/strpbrk.m4: Likewise.
52344         * m4/strptime.m4: Likewise.
52345         * m4/strsep.m4: Likewise.
52346         * m4/strtod.m4: Likewise.
52347         * m4/strtoimax.m4: Likewise.
52348         * m4/strtok_r.m4: Likewise.
52349         * m4/strtol.m4: Likewise.
52350         * m4/strtoll.m4: Likewise.
52351         * m4/strtoul.m4: Likewise.
52352         * m4/strtoull.m4: Likewise.
52353         * m4/strtoumax.m4: Likewise.
52354         * m4/strverscmp.m4: Likewise.
52355         * m4/threadlib.m4: Likewise.
52356         * m4/timegm.m4: Likewise.
52357         * m4/tm_gmtoff.m4: Likewise.
52358         * m4/tmpdir.m4: Likewise.
52359         * m4/tmpfile.m4: Likewise.
52360         * m4/tzset.m4: Likewise.
52361         * m4/uintmax_t.m4: Likewise.
52362         * m4/unlinkdir.m4: Likewise.
52363         * m4/unlocked-io.m4: Likewise.
52364         * m4/uptime.m4: Likewise.
52365         * m4/userspec.m4: Likewise.
52366         * m4/utimbuf.m4: Likewise.
52367         * m4/utime.m4: Likewise.
52368         * m4/utimes-null.m4: Likewise.
52369         * m4/utimes.m4: Likewise.
52370         * m4/vararrays.m4: Likewise.
52371         * m4/vasnprintf.m4: Likewise.
52372         * m4/vfprintf-posix.m4: Likewise.
52373         * m4/vprintf-posix.m4: Likewise.
52374         * m4/wait-process.m4: Likewise.
52375         * m4/wchar_t.m4: Likewise.
52376         * m4/wint_t.m4: Likewise.
52377         * m4/write-any-file.m4: Likewise.
52378         * m4/yield.m4: Likewise.
52379
52380 2009-01-13  Bruno Haible  <bruno@clisp.org>
52381
52382         Avoid test-copy-file.sh failures when ACL support insufficient.
52383         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
52384         TESTS_ENVIRONMENT.
52385         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
52386         Reported by Jim Meyering.
52387
52388 2009-01-13  Bruno Haible  <bruno@clisp.org>
52389
52390         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
52391         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
52392         * modules/unistdio/u8-printf-parse (Files): Likewise.
52393         * modules/unistdio/u32-printf-parse (Files): Likewise.
52394         * modules/unistdio/ulc-printf-parse (Files): Likewise.
52395
52396 2009-01-13  Simon Josefsson  <simon@josefsson.org>
52397
52398         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
52399         and m4/inttypes_h.m4 too.
52400
52401 2009-01-12  Eric Blake  <ebb9@byu.net>
52402
52403         tests: IRIX 6.2 cc can't compile -0.0 into .data
52404         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
52405         rather than at compile-time.
52406         * tests/test-floorl.c (minus_zero): Likewise.
52407         * tests/test-frexpl.c (minus_zero): Likewise.
52408         * tests/test-isnan.c (minus_zerol): Likewise.
52409         * tests/test-isnanl.h (minus_zero): Likewise.
52410         * tests/test-ldexpl.c (minus_zero): Likewise.
52411         * tests/test-roundl.c (minus_zero): Likewise.
52412         * tests/test-signbit.c (minus_zerol): Likewise.
52413         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52414         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52415         * tests/test-truncl.c (minus_zero): Likewise.
52416         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52417         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52418         Reported by Tom G. Christensen and Nelson H. F. Beebe.
52419
52420 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52421
52422         regex: fix glibc bug 9697
52423         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
52424         handling.
52425
52426 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52427
52428         regex: fix glibc bug 697
52429         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
52430         being NULL also if there are no backreferences.
52431
52432 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52433
52434         regex: merge glibc changes
52435         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
52436         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
52437         re_string_skip_chars, re_string_reconstruct): Likewise.
52438         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
52439
52440 2009-01-07  Jim Meyering  <meyering@redhat.com>
52441
52442         poll: filter through cppi
52443         * lib/poll.c: Indent cpp directives to reflect nesting.
52444
52445 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
52446
52447         poll: don't return uninitialized
52448         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
52449
52450 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
52451
52452         avoid compile failure on AIX 6.1
52453         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
52454         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
52455
52456 2009-01-04  Jim Meyering  <meyering@redhat.com>
52457
52458         remove duplicate inclusion of <stdio.h>
52459         * tests/test-fprintf-posix.c: Likewise.
52460         * tests/test-printf-posix.c: Likewise.
52461         * tests/test-snprintf-posix.c: Likewise.
52462         * tests/test-sprintf-posix.c: Likewise.
52463         * tests/test-vasprintf-posix.c: Likewise.
52464         * tests/test-vfprintf-posix.c: Likewise.
52465         * tests/test-vprintf-posix.c: Likewise.
52466         * tests/test-vsnprintf-posix.c: Likewise.
52467         * tests/test-vsprintf-posix.c: Likewise.
52468
52469 2009-01-03  Jim Meyering  <meyering@redhat.com>
52470
52471         gnulib-tool: fix sed-based filtering
52472         * gnulib-tool (func_filter_filelist): Remove extra backslash
52473         in sed_fff_filter definition.
52474
52475 2009-01-02  Jim Meyering  <meyering@redhat.com>
52476
52477         strftime: avoid compilation failure on Solaris 2.6
52478         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
52479         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
52480         Don't #define mbrlen or mbsinit, since now they're guaranteed to
52481         be available.  Reported by Tom G. Christensen.  Details in
52482         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
52483
52484 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52485             Bruno Haible  <bruno@clisp.org>
52486
52487         Speed up gnulib-tool by doing more string processing through shell
52488         built-ins.
52489         * gnulib-tool (fast_func_append): New variable.
52490         (func_remove_prefix, func_remove_suffix): New functions.
52491         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
52492         (func_filter_filelist): New function.
52493         (func_get_dependencies): Use func_remove_suffix instead of sed.
52494         (func_get_automake_snippet): Use func_filter_filelist instead of a
52495         subshell and sed invocation.
52496
52497 2009-01-01  Bruno Haible  <bruno@clisp.org>
52498
52499         Fix a security bug.
52500         * gnulib-tool (func_import, import, update): Don't allow the characters
52501         '"', '$', '`', '\' in macro arguments that become part of commands that
52502         are evaluated.
52503
52504 2009-01-01  Bruno Haible  <bruno@clisp.org>
52505
52506         * gnulib-tool (func_reset_sigpipe): Add more comments.
52507
52508 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52509
52510         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
52511         func_emit_tests_Makefile_am, func_import): Abort loops early if we
52512         already know the answer.
52513
52514 2009-01-01  Jim Meyering  <meyering@redhat.com>
52515
52516         * lib/version-etc.c (version_etc_va): Update copyright year.
52517
52518 2008-12-30  Bruno Haible  <bruno@clisp.org>
52519
52520         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
52521         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
52522         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
52523
52524 2008-12-29  Eric Blake  <ebb9@byu.net>
52525
52526         multiarch: avoid autoconf AC_REQUIRE bug
52527         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
52528         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
52529         2.63 and older.
52530         Reported by Bruno Haible, and analyzed in
52531         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
52532
52533 2008-12-29  Bruno Haible  <bruno@clisp.org>
52534
52535         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
52536         files in subdirectories correctly.
52537         Reported by Ralf Wildenhues.
52538
52539 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52540
52541         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
52542         rather than 'join FILE -', for Solaris join.
52543
52544 2008-12-29  Bruno Haible  <bruno@clisp.org>
52545
52546         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
52547         quoting.
52548         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
52549         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
52550         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
52551         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
52552         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
52553         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
52554         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
52555         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
52556         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
52557         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
52558         * m4/nls.m4 (AM_NLS): Likewise.
52559         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
52560         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
52561         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
52562         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
52563         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
52564         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
52565         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
52566         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
52567         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
52568         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52569         * m4/xsize.m4 (gl_XSIZE): Likewise.
52570         Suggested by Jim Meyering.
52571
52572 2008-11-17  Bruce Korb  <bkorb@gnu.org>
52573
52574         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
52575         * lib/parse-duration.c: use a switch instead of cascading if's.
52576
52577 2008-12-29  Eric Blake  <ebb9@byu.net>
52578
52579         wchar.h: supply WEOF on Irix 5.3
52580         * lib/wchar.in.h (wint_t): Also supply WEOF.
52581         * lib/wctype.in.h (wint_t): Likewise.
52582         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
52583         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
52584         Reported by Tom G. Christensen.
52585
52586 2008-12-26  Bruno Haible  <bruno@clisp.org>
52587
52588         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
52589         i486, i586, i686.
52590
52591 2008-12-26  Bruno Haible  <bruno@clisp.org>
52592
52593         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
52594
52595 2008-12-26  Bruno Haible  <bruno@clisp.org>
52596
52597         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
52598         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
52599         not __STDC_CONSTANT_MACROS.
52600         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52601
52602 2008-12-25  Bruno Haible  <bruno@clisp.org>
52603
52604         Add support for universal builds to vasnprintf.
52605         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
52606         universal builds, guess no.
52607         * modules/vasnprintf-posix (Depends-on): Add multiarch.
52608         * modules/vasprintf-posix (Depends-on): Likewise.
52609         * modules/fprintf-posix (Depends-on): Likewise.
52610         * modules/vfprintf-posix (Depends-on): Likewise.
52611         * modules/snprintf-posix (Depends-on): Likewise.
52612         * modules/vsnprintf-posix (Depends-on): Likewise.
52613         * modules/sprintf-posix (Depends-on): Likewise.
52614         * modules/vsprintf-posix (Depends-on): Likewise.
52615         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52616         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52617         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52618         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52619         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52620         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52621         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52622
52623         Add support for universal builds to <inttypes.h>.
52624         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
52625         _SCNu64_PREFIX): In Apple
52626         universal builds, define directly, using _LP64.
52627         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
52628         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
52629         * modules/inttypes (Depends-on): Add multiarch.
52630         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52631
52632         Add support for universal builds to <stdint.h>.
52633         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
52634         universal builds, define directly, using _LP64.
52635         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
52636         Apple universal builds, don't test for the size and suffix of ptrdiff_t
52637         and size_t.
52638         * modules/stdint (Depends-on): Add multiarch.
52639         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52640
52641         New module 'multiarch'.
52642         * modules/multiarch: New file.
52643         * m4/multiarch.m4: New file.
52644
52645 2008-12-25  Bruno Haible  <bruno@clisp.org>
52646
52647         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
52648
52649 2008-12-25  Bruno Haible  <bruno@clisp.org>
52650
52651         * modules/btowc (License): Relicense under LGPLv2+.
52652         * modules/mbsinit (License): Likewise.
52653         * modules/mbrtowc (License): Likewise.
52654         * modules/wcrtomb (License): Likewise.
52655         * modules/streq (License): Likewise.
52656         Reported by David Lutterkort <lutter@redhat.com>.
52657
52658 2008-12-23  Bruno Haible  <bruno@clisp.org>
52659
52660         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
52661
52662 2008-12-23  Bruno Haible  <bruno@clisp.org>
52663
52664         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
52665         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
52666         GETADDRINFO_LIB, not in LIBS.
52667         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
52668         * modules/canon-host (Link): Likewise.
52669         * NEWS: Mention the change.
52670         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
52671         GETADDRINFO_LIB.
52672
52673 2008-12-22  Bruno Haible  <bruno@clisp.org>
52674
52675         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
52676         * doc/posix-functions/iswalpha_l.texi: Likewise.
52677         * doc/posix-functions/iswblank_l.texi: Likewise.
52678         * doc/posix-functions/iswcntrl_l.texi: Likewise.
52679         * doc/posix-functions/iswctype_l.texi: Likewise.
52680         * doc/posix-functions/iswdigit_l.texi: Likewise.
52681         * doc/posix-functions/iswgraph_l.texi: Likewise.
52682         * doc/posix-functions/iswlower_l.texi: Likewise.
52683         * doc/posix-functions/iswprint_l.texi: Likewise.
52684         * doc/posix-functions/iswpunct_l.texi: Likewise.
52685         * doc/posix-functions/iswspace_l.texi: Likewise.
52686         * doc/posix-functions/iswupper_l.texi: Likewise.
52687         * doc/posix-functions/iswxdigit_l.texi: Likewise.
52688         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
52689         * doc/posix-functions/open_wmemstream.texi: Likewise.
52690         * doc/posix-functions/swscanf.texi: Likewise.
52691         * doc/posix-functions/towctrans_l.texi: Likewise.
52692         * doc/posix-functions/towlower.texi: Likewise.
52693         * doc/posix-functions/towlower_l.texi: Likewise.
52694         * doc/posix-functions/towupper.texi: Likewise.
52695         * doc/posix-functions/towupper_l.texi: Likewise.
52696         * doc/posix-functions/vfwprintf.texi: Likewise.
52697         * doc/posix-functions/vfwscanf.texi: Likewise.
52698         * doc/posix-functions/vswscanf.texi: Likewise.
52699         * doc/posix-functions/vwprintf.texi: Likewise.
52700         * doc/posix-functions/vwscanf.texi: Likewise.
52701         * doc/posix-functions/wcpcpy.texi: Likewise.
52702         * doc/posix-functions/wcpncpy.texi: Likewise.
52703         * doc/posix-functions/wcscasecmp.texi: Likewise.
52704         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
52705         * doc/posix-functions/wcscoll_l.texi: Likewise.
52706         * doc/posix-functions/wcsdup.texi: Likewise.
52707         * doc/posix-functions/wcsncasecmp.texi: Likewise.
52708         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
52709         * doc/posix-functions/wcsnlen.texi: Likewise.
52710         * doc/posix-functions/wcsnrtombs.texi: Likewise.
52711         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
52712         * doc/posix-functions/wctrans_l.texi: Likewise.
52713         * doc/posix-functions/wctype_l.texi: Likewise.
52714         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
52715         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
52716         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
52717         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
52718         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
52719         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
52720         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
52721         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
52722         * doc/glibc-functions/wcschrnul.texi: Likewise.
52723         * doc/glibc-functions/wcsftime_l.texi: Likewise.
52724         * doc/glibc-functions/wcstod_l.texi: Likewise.
52725         * doc/glibc-functions/wcstof_l.texi: Likewise.
52726         * doc/glibc-functions/wcstol_l.texi: Likewise.
52727         * doc/glibc-functions/wcstold_l.texi: Likewise.
52728         * doc/glibc-functions/wcstoll_l.texi: Likewise.
52729         * doc/glibc-functions/wcstoq.texi: Likewise.
52730         * doc/glibc-functions/wcstoul_l.texi: Likewise.
52731         * doc/glibc-functions/wcstoull_l.texi: Likewise.
52732         * doc/glibc-functions/wcstouq.texi: Likewise.
52733         * doc/glibc-functions/wmempcpy.texi: Likewise.
52734
52735 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
52736             Eric Blake  <ebb9@byu.net>
52737             Paolo Bonzini  <bonzini@gnu.org>
52738             Bruno Haible  <bruno@clisp.org>
52739
52740         Make c-stack work on Haiku.
52741         * lib/c-stack.c (SA_ONSTACK): Define fallback.
52742         (c_stack_action): Use SA_ONSTACK flag.
52743
52744 2008-12-22  Bruno Haible  <bruno@clisp.org>
52745
52746         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
52747
52748 2008-12-22  Bruno Haible  <bruno@clisp.org>
52749
52750         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
52751         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
52752         being overridden.
52753         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
52754         New macros.
52755         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
52756         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
52757         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
52758         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
52759
52760 2008-12-22  Bruno Haible  <bruno@clisp.org>
52761
52762         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
52763         from test code.
52764
52765 2008-12-22  Eric Blake  <ebb9@byu.net>
52766
52767         Avoid gcc warnings on cygwin.
52768         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
52769         Avoid unused variable.
52770         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
52771         Likewise.
52772
52773 2008-12-22  Bruno Haible  <bruno@clisp.org>
52774
52775         Remove HAVE_MBRTOWC conditionals.
52776         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
52777         (mbscasecmp): Assume mbrtowc function.
52778         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
52779         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
52780         * lib/mbschr.c: Include mbuiter.h unconditionally.
52781         (mbschr): Assume mbrtowc function.
52782         * lib/mbscspn.c: Include mbuiter.h unconditionally.
52783         (mbscspn): Assume mbrtowc function.
52784         * lib/mbslen.c: Include mbuiter.h unconditionally.
52785         (mbslen): Assume mbrtowc function.
52786         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
52787         (mbsncasecmp): Assume mbrtowc function.
52788         * lib/mbsnlen.c: Include mbiter.h unconditionally.
52789         (mbsnlen): Assume mbrtowc function.
52790         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
52791         (mbspbrk): Assume mbrtowc function.
52792         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
52793         (mbspcasecmp): Assume mbrtowc function.
52794         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
52795         (mbsrchr): Assume mbrtowc function.
52796         * lib/mbssep.c: Include mbuiter.h unconditionally.
52797         (mbssep): Assume mbrtowc function.
52798         * lib/mbsspn.c: Include mbuiter.h unconditionally.
52799         (mbsspn): Assume mbrtowc function.
52800         * lib/mbsstr.c: Include mbuiter.h unconditionally.
52801         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
52802         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
52803         (mbstok_r): Assume mbrtowc function.
52804         * lib/propername.c: Include mbuiter.h unconditionally.
52805         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
52806         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
52807         (trim2): Assume mbrtowc function.
52808         * lib/mbswidth.c (mbsinit): Remove fallback definition.
52809         (mbsnwidth): Assume mbrtowc function.
52810         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
52811         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
52812         fallback definitions.
52813         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
52814
52815 2008-12-22  Bruno Haible  <bruno@clisp.org>
52816
52817         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
52818
52819 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
52820
52821         * modules/regex: Request emulations for the mb*/wc* functions we need.
52822         * m4/regex.m4: Don't look for those functions here.
52823         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
52824
52825 2008-12-22  Bruno Haible  <bruno@clisp.org>
52826
52827         * modules/fnmatch (Depends-on): Remove duplicated dependency.
52828
52829 2008-12-21  Bruno Haible  <bruno@clisp.org>
52830
52831         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
52832         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
52833         (Include): Remove conditionalization.
52834         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
52835         (Include): Remove conditionalization.
52836         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
52837         (Include): Remove conditionalization.
52838         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
52839         * m4/mbfile.m4 (gl_MBFILE): Likewise.
52840         * NEWS: Mention the change.
52841         Reported by Alan Hourihane <alanh@fairlite.co.uk>
52842         via Sergey Poznyakoff <gray@gnu.org.ua>.
52843
52844 2008-12-21  Bruno Haible  <bruno@clisp.org>
52845
52846         * MODULES.html.sh (Extended multibyte and wide character utilities
52847         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
52848         wcrtomb, wcsrtombs.
52849         (Support for systems lacking POSIX:2008): Add accept, bind, close,
52850         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
52851         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
52852         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
52853
52854 2008-12-21  Bruno Haible  <bruno@clisp.org>
52855
52856         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
52857
52858 2008-12-21  Bruno Haible  <bruno@clisp.org>
52859
52860         * modules/wcsnrtombs-tests: New file.
52861         * tests/test-wcsnrtombs1.sh: New file.
52862         * tests/test-wcsnrtombs2.sh: New file.
52863         * tests/test-wcsnrtombs3.sh: New file.
52864         * tests/test-wcsnrtombs4.sh: New file.
52865         * tests/test-wcsnrtombs.c: New file.
52866
52867         New module 'wcsnrtombs'.
52868         * lib/wchar.in.h (wcsnrtombs): New declaration.
52869         * lib/wcsnrtombs.c: New file.
52870         * lib/wcsrtombs-state.c: New file.
52871         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
52872         (internal_state): Remove variable.
52873         * m4/wcsnrtombs.m4: New file.
52874         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
52875         compilation units.
52876         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
52877         HAVE_WCSNRTOMBS.
52878         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
52879         HAVE_WCSNRTOMBS.
52880         * modules/wcsnrtombs: New file.
52881         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
52882         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
52883
52884 2008-12-21  Bruno Haible  <bruno@clisp.org>
52885
52886         * modules/wcsrtombs-tests: New file.
52887         * tests/test-wcsrtombs1.sh: New file.
52888         * tests/test-wcsrtombs2.sh: New file.
52889         * tests/test-wcsrtombs3.sh: New file.
52890         * tests/test-wcsrtombs4.sh: New file.
52891         * tests/test-wcsrtombs.c: New file.
52892
52893         New module 'wcsrtombs'.
52894         * lib/wchar.in.h (wcsrtombs): New declaration.
52895         * lib/wcsrtombs.c: New file.
52896         * m4/wcsrtombs.m4: New file.
52897         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
52898         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52899         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
52900         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52901         * modules/wcsrtombs: New file.
52902         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
52903         bugs.
52904
52905 2008-12-21  Bruno Haible  <bruno@clisp.org>
52906
52907         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
52908         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
52909         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
52910         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
52911         if not correct.
52912         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
52913         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
52914         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52915         m4/locale-zh.m4, m4/codeset.m4.
52916         * doc/posix-functions/wcrtomb.texi: Document the bug.
52917
52918 2008-12-21  Bruno Haible  <bruno@clisp.org>
52919
52920         Work around a btowc() bug on IRIX 6.5.
52921         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
52922         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
52923         REPLACE_WTOBC if not.
52924         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
52925         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
52926         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
52927
52928 2008-12-21  Bruno Haible  <bruno@clisp.org>
52929
52930         * modules/wcrtomb-tests: New file.
52931         * tests/test-wcrtomb.sh: New file.
52932         * tests/test-wcrtomb.c: New file.
52933
52934         New module 'wcrtomb'.
52935         * lib/wchar.in.h (wcrtomb): New declaration.
52936         * lib/wcrtomb.c: New file.
52937         * m4/wcrtomb.m4: New file.
52938         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
52939         HAVE_WCRTOMB.
52940         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
52941         HAVE_WCRTOMB.
52942         * modules/wcrtomb: New file.
52943         * doc/posix-functions/wcrtomb.texi: Mention the new module.
52944
52945 2008-12-21  Bruno Haible  <bruno@clisp.org>
52946
52947         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
52948         * modules/mbsrtowcs (Files): Likewise.
52949         * modules/wctob (Files): Likewise.
52950         * modules/c-strcase-tests (Files): Likewise.
52951         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
52952         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
52953         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
52954         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
52955         * modules/vasnprintf-posix-tests (Files): Likewise.
52956
52957 2008-12-21  William Pursell  <bill.pursell@gmail.com>
52958
52959         gitlog-to-changelog: pass all command-line arguments to git-log
52960         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
52961         it is sometimes convenient to filter the commits in various ways.
52962         gitlog-to-changelog only allows --since to specify a start date,
52963         but git-log itself supports many other filtering mechanisms.
52964         At the moment, I want to filter by branch name.  Rather than
52965         adding a --branch option to gitlog-to-changelog, it seems more
52966         flexible to simply pass all options directly to git-log and let
52967         git do the work.  Notice that this effectively makes --since a
52968         redundant option for gitlog-to-changelog, but removing it would
52969         require current usage to change since calls would then require
52970         an additional '--'.
52971
52972 2008-12-21  Bruno Haible  <bruno@clisp.org>
52973
52974         * modules/mbsnrtowcs-tests: New file.
52975         * tests/test-mbsnrtowcs1.sh: New file.
52976         * tests/test-mbsnrtowcs2.sh: New file.
52977         * tests/test-mbsnrtowcs3.sh: New file.
52978         * tests/test-mbsnrtowcs4.sh: New file.
52979         * tests/test-mbsnrtowcs.c: New file.
52980
52981         New module 'mbsnrtowcs'.
52982         * lib/wchar.in.h (mbsnrtowcs): New declaration.
52983         * lib/mbsnrtowcs.c: New file.
52984         * lib/mbsrtowcs-state.c: New file.
52985         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
52986         (internal_state): Remove variable.
52987         * m4/mbsnrtowcs.m4: New file.
52988         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
52989         compilation units.
52990         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
52991         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
52992         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
52993         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
52994         * modules/mbsnrtowcs: New file.
52995         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
52996         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
52997         portability problem.
52998
52999 2008-12-21  Bruno Haible  <bruno@clisp.org>
53000
53001         Work around mbsrtowcs bug.
53002         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
53003         (gl_FUNC_MBSRTOWCS): Invoke it.
53004         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53005         m4/locale-zh.m4.
53006         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
53007
53008 2008-12-21  Bruno Haible  <bruno@clisp.org>
53009
53010         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
53011
53012 2008-12-21  Bruno Haible  <bruno@clisp.org>
53013
53014         Update doc for AIX.
53015         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
53016         16-bit wchar_t type.
53017         * doc/posix-functions/btowc.texi: Likewise.
53018         * doc/posix-functions/fgetwc.texi: Likewise.
53019         * doc/posix-functions/fgetws.texi: Likewise.
53020         * doc/posix-functions/fputwc.texi: Likewise.
53021         * doc/posix-functions/fputws.texi: Likewise.
53022         * doc/posix-functions/fwide.texi: Likewise.
53023         * doc/posix-functions/fwprintf.texi: Likewise.
53024         * doc/posix-functions/fwscanf.texi: Likewise.
53025         * doc/posix-functions/getwchar.texi: Likewise.
53026         * doc/posix-functions/getwc.texi: Likewise.
53027         * doc/posix-functions/iswalnum.texi: Likewise.
53028         * doc/posix-functions/iswalpha.texi: Likewise.
53029         * doc/posix-functions/iswblank.texi: Likewise.
53030         * doc/posix-functions/iswcntrl.texi: Likewise.
53031         * doc/posix-functions/iswctype.texi: Likewise.
53032         * doc/posix-functions/iswdigit.texi: Likewise.
53033         * doc/posix-functions/iswgraph.texi: Likewise.
53034         * doc/posix-functions/iswlower.texi: Likewise.
53035         * doc/posix-functions/iswprint.texi: Likewise.
53036         * doc/posix-functions/iswpunct.texi: Likewise.
53037         * doc/posix-functions/iswspace.texi: Likewise.
53038         * doc/posix-functions/iswupper.texi: Likewise.
53039         * doc/posix-functions/iswxdigit.texi: Likewise.
53040         * doc/posix-functions/mbrtowc.texi: Likewise.
53041         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53042         * doc/posix-functions/mbstowcs.texi: Likewise.
53043         * doc/posix-functions/mbtowc.texi: Likewise.
53044         * doc/posix-functions/putwchar.texi: Likewise.
53045         * doc/posix-functions/putwc.texi: Likewise.
53046         * doc/posix-functions/swprintf.texi: Likewise.
53047         * doc/posix-functions/tolower.texi: Likewise.
53048         * doc/posix-functions/toupper.texi: Likewise.
53049         * doc/posix-functions/towctrans.texi: Likewise.
53050         * doc/posix-functions/ungetwc.texi: Likewise.
53051         * doc/posix-functions/vswprintf.texi: Likewise.
53052         * doc/posix-functions/wcrtomb.texi: Likewise.
53053         * doc/posix-functions/wcscat.texi: Likewise.
53054         * doc/posix-functions/wcschr.texi: Likewise.
53055         * doc/posix-functions/wcscmp.texi: Likewise.
53056         * doc/posix-functions/wcscoll.texi: Likewise.
53057         * doc/posix-functions/wcscpy.texi: Likewise.
53058         * doc/posix-functions/wcscspn.texi: Likewise.
53059         * doc/posix-functions/wcsftime.texi: Likewise.
53060         * doc/posix-functions/wcslen.texi: Likewise.
53061         * doc/posix-functions/wcsncat.texi: Likewise.
53062         * doc/posix-functions/wcsncmp.texi: Likewise.
53063         * doc/posix-functions/wcsncpy.texi: Likewise.
53064         * doc/posix-functions/wcspbrk.texi: Likewise.
53065         * doc/posix-functions/wcsrchr.texi: Likewise.
53066         * doc/posix-functions/wcsrtombs.texi: Likewise.
53067         * doc/posix-functions/wcsspn.texi: Likewise.
53068         * doc/posix-functions/wcsstr.texi: Likewise.
53069         * doc/posix-functions/wcstod.texi: Likewise.
53070         * doc/posix-functions/wcstof.texi: Likewise.
53071         * doc/posix-functions/wcstoimax.texi: Likewise.
53072         * doc/posix-functions/wcstok.texi: Likewise.
53073         * doc/posix-functions/wcstold.texi: Likewise.
53074         * doc/posix-functions/wcstoll.texi: Likewise.
53075         * doc/posix-functions/wcstol.texi: Likewise.
53076         * doc/posix-functions/wcstombs.texi: Likewise.
53077         * doc/posix-functions/wcstoull.texi: Likewise.
53078         * doc/posix-functions/wcstoul.texi: Likewise.
53079         * doc/posix-functions/wcstoumax.texi: Likewise.
53080         * doc/posix-functions/wcswidth.texi: Likewise.
53081         * doc/posix-functions/wcsxfrm.texi: Likewise.
53082         * doc/posix-functions/wctob.texi: Likewise.
53083         * doc/posix-functions/wctomb.texi: Likewise.
53084         * doc/posix-functions/wctrans.texi: Likewise.
53085         * doc/posix-functions/wctype.texi: Likewise.
53086         * doc/posix-functions/wcwidth.texi: Likewise.
53087         * doc/posix-functions/wmemchr.texi: Likewise.
53088         * doc/posix-functions/wmemcmp.texi: Likewise.
53089         * doc/posix-functions/wmemcpy.texi: Likewise.
53090         * doc/posix-functions/wmemmove.texi: Likewise.
53091         * doc/posix-functions/wmemset.texi: Likewise.
53092         * doc/posix-functions/wprintf.texi: Likewise.
53093         * doc/posix-functions/wscanf.texi: Likewise.
53094
53095 2008-12-21  Bruno Haible  <bruno@clisp.org>
53096
53097         Update doc for HP-UX 11.11.
53098         * doc/posix-functions/btowc.texi: Clarify that the function is missing
53099         in HP-UX version 11.00, not in all versions of HP-UX 11.
53100         * doc/posix-functions/fwide.texi: Likewise.
53101         * doc/posix-functions/fwprintf.texi: Likewise.
53102         * doc/posix-functions/fwscanf.texi: Likewise.
53103         * doc/posix-functions/inet_ntop.texi: Likewise.
53104         * doc/posix-functions/inet_pton.texi: Likewise.
53105         * doc/posix-functions/mbrlen.texi: Likewise.
53106         * doc/posix-functions/mbrtowc.texi: Likewise.
53107         * doc/posix-functions/mbsinit.texi: Likewise.
53108         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53109         * doc/posix-functions/swprintf.texi: Likewise.
53110         * doc/posix-functions/swscanf.texi: Likewise.
53111         * doc/posix-functions/towctrans.texi: Likewise.
53112         * doc/posix-functions/vfwprintf.texi: Likewise.
53113         * doc/posix-functions/vswprintf.texi: Likewise.
53114         * doc/posix-functions/vwprintf.texi: Likewise.
53115         * doc/posix-functions/wcrtomb.texi: Likewise.
53116         * doc/posix-functions/wcsrtombs.texi: Likewise.
53117         * doc/posix-functions/wcsstr.texi: Likewise.
53118         * doc/posix-functions/wctob.texi: Likewise.
53119         * doc/posix-functions/wctrans.texi: Likewise.
53120         * doc/posix-functions/wmemchr.texi: Likewise.
53121         * doc/posix-functions/wmemcmp.texi: Likewise.
53122         * doc/posix-functions/wmemcpy.texi: Likewise.
53123         * doc/posix-functions/wmemmove.texi: Likewise.
53124         * doc/posix-functions/wmemset.texi: Likewise.
53125         * doc/posix-functions/wprintf.texi: Likewise.
53126         * doc/posix-functions/wscanf.texi: Likewise.
53127
53128 2008-12-21  Bruno Haible  <bruno@clisp.org>
53129
53130         Work around a portability problem.
53131         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
53132         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
53133
53134 2008-12-20  Bruno Haible  <bruno@clisp.org>
53135
53136         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
53137         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
53138         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
53139         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
53140         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
53141
53142         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
53143         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
53144         set.
53145         (GNULIB_defined_mbstate_t): New macro.
53146         (mbsinit): Redefine if REPLACE_MBSINIT is set.
53147         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
53148         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
53149         reuses the system's mbrtowc function but works around the bugs.
53150         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
53151         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
53152         macros.
53153         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
53154         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
53155         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
53156         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
53157         REPLACE_MBSINIT if mbsinit needs to be overridden.
53158         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
53159         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53160         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
53161         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53162         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53163         m4/locale-zh.m4.
53164         (Depends): Add mbsinit.
53165         * modules/mbsinit (Depends): Add mbrtowc.
53166         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
53167
53168 2008-12-20  Bruno Haible  <bruno@clisp.org>
53169
53170         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
53171         so that there are no conversion errors on AIX.
53172         * tests/test-mbsrtowcs.c (main): LIkewise.
53173
53174 2008-12-20  Bruno Haible  <bruno@clisp.org>
53175
53176         Work around wctob bug on Solaris <= 9.
53177         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
53178         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
53179         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
53180         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
53181         * modules/wctob (Files): Add m4/locale-fr.m4.
53182         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
53183
53184 2008-12-20  Bruno Haible  <bruno@clisp.org>
53185
53186         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
53187         /dev/null.
53188         * tests/test-select-in.sh: Likewise.
53189         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53190
53191 2008-12-20  Bruno Haible  <bruno@clisp.org>
53192
53193         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
53194         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
53195         Cygwin 1.5.x.
53196
53197 2008-12-20  Bruno Haible  <bruno@clisp.org>
53198
53199         Ensure mbstate_t is defined on HP-UX 11.11.
53200         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
53201         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
53202         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
53203         AC_USE_SYSTEM_EXTENSIONS.
53204         * modules/fnmatch (Depends-on): Add extensions.
53205         * modules/mbrlen (Depends-on): Likewise.
53206         * modules/mbrtowc (Depends-on): Likewise.
53207         * modules/mbsinit (Depends-on): Likewise.
53208         * modules/mbsrtowcs (Depends-on): Likewise.
53209         * modules/mbswidth (Depends-on): Likewise.
53210         * modules/quotearg (Depends-on): Likewise.
53211         * modules/strftime (Depends-on): Likewise.
53212
53213 2008-12-20  Bruno Haible  <bruno@clisp.org>
53214
53215         Ensure wctob is declared on IRIX 6.5.
53216         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
53217         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
53218         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
53219         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
53220         of HAVE_WCTOB.
53221         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
53222         HAVE_WCTOB.
53223         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
53224
53225 2008-12-19  Bruno Haible  <bruno@clisp.org>
53226
53227         * modules/mbsrtowcs-tests: New file.
53228         * tests/test-mbsrtowcs1.sh: New file.
53229         * tests/test-mbsrtowcs2.sh: New file.
53230         * tests/test-mbsrtowcs3.sh: New file.
53231         * tests/test-mbsrtowcs4.sh: New file.
53232         * tests/test-mbsrtowcs.c: New file.
53233
53234         New module 'mbsrtowcs'.
53235         * lib/wchar.in.h (mbsrtowcs): New declaration.
53236         * lib/mbsrtowcs.c: New file.
53237         * m4/mbsrtowcs.m4: New file.
53238         * modules/mbsrtowcs: New file.
53239         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
53240         HAVE_MBSRTOWCS.
53241         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
53242         HAVE_MBSRTOWCS.
53243         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
53244
53245 2008-12-19  Bruno Haible  <bruno@clisp.org>
53246
53247         New module 'mbrlen'.
53248         * lib/wchar.in.h (mbrlen): New declaration.
53249         * lib/mbrlen.c: New file.
53250         * m4/mbrlen.m4: New file.
53251         * modules/mbrlen: New file.
53252         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
53253         HAVE_MBRLEN.
53254         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
53255         HAVE_MBRLEN.
53256         * doc/posix-functions/mbrlen.texi: Document the new module.
53257
53258 2008-12-19  Bruno Haible  <bruno@clisp.org>
53259
53260         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
53261         * modules/mbrtowc (Depends-on): Add verify.
53262         Suggested by Paul Eggert.
53263
53264 2008-12-18  Bruno Haible  <bruno@clisp.org>
53265
53266         * modules/mbsinit-tests: New file.
53267         * tests/test-mbsinit.sh: New file.
53268         * tests/test-mbsinit.c: New file.
53269
53270 2008-12-18  Bruno Haible  <bruno@clisp.org>
53271
53272         * modules/mbrtowc-tests: New file.
53273         * tests/test-mbrtowc1.sh: New file.
53274         * tests/test-mbrtowc2.sh: New file.
53275         * tests/test-mbrtowc3.sh: New file.
53276         * tests/test-mbrtowc4.sh: New file.
53277         * tests/test-mbrtowc.c: New file.
53278
53279         New module 'mbrtowc'.
53280         * lib/wchar.in.h (mbstate_t): Override when the system does not have
53281         mbsinit and mbrtowc.
53282         (mbrtowc): New declaration.
53283         * lib/mbrtowc.c: New file.
53284         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
53285         * modules/mbrtowc: New file.
53286         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
53287         HAVE_MBRTOWC.
53288         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
53289         HAVE_MBRTOWC.
53290         * doc/posix-functions/mbrtowc.texi: Document the new module.
53291
53292 2008-12-18  Bruno Haible  <bruno@clisp.org>
53293
53294         New module 'wctob'.
53295         * lib/wchar.in.h (wctob): New declaration.
53296         * lib/wctob.c: New file.
53297         * m4/wctob.m4: New file.
53298         * modules/wctob: New file.
53299         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
53300         HAVE_WCTOB.
53301         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
53302         * doc/posix-functions/wctob.texi: Document the new module.
53303
53304 2008-12-18  Bruno Haible  <bruno@clisp.org>
53305
53306         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
53307         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
53308
53309 2008-12-18  Simon Josefsson  <simon@josefsson.org>
53310
53311         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
53312         G. Christensen" <tgc@jupiterrise.com>.
53313
53314         * lib/flock.c: Need to include errno.h.  Reported by "Tom
53315         G. Christensen" <tgc@jupiterrise.com>.
53316
53317         * lib/flock.c: Need to include string.h.  Reported by "Tom
53318         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
53319         <ebb9@byu.net>.
53320
53321 2008-12-18  Bruno Haible  <bruno@clisp.org>
53322
53323         * m4/locale-ja.m4: New file, from GNU gettext.
53324
53325 2008-12-17  Bruno Haible  <bruno@clisp.org>
53326
53327         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
53328         Suggested by Eric Blake.
53329
53330 2008-12-17  Bruno Haible  <bruno@clisp.org>
53331
53332         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
53333
53334 2008-12-17  Bruno Haible  <bruno@clisp.org>
53335
53336         * lib/mbsinit.c: Include verify.h. Verify an assumption.
53337         * modules/mbsinit (Depends-on): Add verify.
53338         Suggested by Paul Eggert.
53339
53340 2008-12-17  Bruno Haible  <bruno@clisp.org>
53341
53342         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
53343         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
53344         gl_FUNC_MBRTOWC.
53345         * m4/mbiter.m4 (gl_MBITER): LIkewise.
53346         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
53347         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
53348         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
53349         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
53350         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
53351         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
53352         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
53353         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
53354         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
53355         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
53356         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
53357         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
53358         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
53359         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
53360         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53361         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
53362         * modules/trim (configure.ac): Likewise.
53363
53364 2008-12-17  Bruno Haible  <bruno@clisp.org>
53365
53366         * modules/btowc-tests: New file.
53367         * tests/test-btowc1.sh: New file.
53368         * tests/test-btowc2.sh: New file.
53369         * tests/test-btowc.c: New file.
53370
53371         New module 'btowc'.
53372         * lib/wchar.in.h (btowc): New declaration.
53373         * lib/btowc.c: New file.
53374         * m4/btowc.m4: New file.
53375         * modules/btowc: New file.
53376         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
53377         HAVE_BTOWC.
53378         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
53379         * doc/posix-functions/btowc.texi: Document the new module.
53380
53381 2008-12-17  Bruno Haible  <bruno@clisp.org>
53382
53383         New module 'mbsinit'.
53384         * lib/wchar.in.h (mbsinit): New declaration.
53385         * lib/mbsinit.c: New file.
53386         * m4/mbsinit.m4: New file.
53387         * modules/mbsinit: New file.
53388         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
53389         HAVE_MBSINIT.
53390         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
53391         HAVE_MBSINIT.
53392         * doc/posix-functions/mbsinit.texi: Document the new module.
53393
53394 2008-12-16  Bruno Haible  <bruno@clisp.org>
53395
53396         * lib/unistd.in.h: Add comment.
53397         * tests/test-environ.c: Don't include <stdlib.h>.
53398
53399 2008-12-16  Bruno Haible  <bruno@clisp.org>
53400
53401         * lib/parse-duration.h (parse_duration): Document return value
53402         convention.
53403         * lib/parse-duration.c: Include specification header first. Add
53404         comments.
53405         (_): Remove macro.
53406         (parse_year_month_day, parse_hour_minute_second): Move side effects
53407         outside of strchr call.
53408         (parse_non_iso8601): Move side effects outside of isspace call.
53409         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
53410         call.
53411
53412 2008-12-16  Bruno Haible  <bruno@clisp.org>
53413
53414         * tests/test-parse-duration.sh: Produce no output when the test
53415         succeeds.
53416
53417 2008-12-16  Bruno Haible  <bruno@clisp.org>
53418
53419         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
53420         expressions.
53421
53422 2008-12-15  Bruno Haible  <bruno@clisp.org>
53423
53424         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
53425         * doc/glibc-functions/flistxattr.texi: Likewise.
53426         * doc/glibc-functions/fopencookie.texi: Likewise.
53427         * doc/glibc-functions/fremovexattr.texi: Likewise.
53428         * doc/glibc-functions/fsetxattr.texi: Likewise.
53429         * doc/glibc-functions/getxattr.texi: Likewise.
53430         * doc/glibc-functions/lgetxattr.texi: Likewise.
53431         * doc/glibc-functions/listxattr.texi: Likewise.
53432         * doc/glibc-functions/llistxattr.texi: Likewise.
53433         * doc/glibc-functions/lremovexattr.texi: Likewise.
53434         * doc/glibc-functions/lsetxattr.texi: Likewise.
53435         * doc/glibc-functions/removexattr.texi: Likewise.
53436         * doc/glibc-functions/setxattr.texi: Likewise.
53437         * doc/posix-functions/open_memstream.texi: Likewise.
53438
53439 2008-12-15  Eric Blake  <ebb9@byu.net>
53440
53441         Update doc for cygwin 1.7.
53442         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
53443         functions.
53444         * doc/posix-functions/fchmodat.texi: Likewise.
53445         * doc/posix-functions/fchownat.texi: Likewise.
53446         * doc/posix-functions/fdopendir.texi: Likewise.
53447         * doc/posix-functions/fmemopen.texi: Likewise.
53448         * doc/posix-functions/freeaddrinfo.texi: Likewise.
53449         * doc/posix-functions/fstatat.texi: Likewise.
53450         * doc/posix-functions/futimens.texi: Likewise.
53451         * doc/posix-functions/gai_strerror.texi: Likewise.
53452         * doc/posix-functions/getaddrinfo.texi: Likewise.
53453         * doc/posix-functions/getnameinfo.texi: Likewise.
53454         * doc/posix-functions/if_freenameindex.texi: Likewise.
53455         * doc/posix-functions/if_indextoname.texi: Likewise.
53456         * doc/posix-functions/if_nameindex.texi: Likewise.
53457         * doc/posix-functions/if_nametoindex.texi: Likewise.
53458         * doc/posix-functions/insque.texi: Likewise.
53459         * doc/posix-functions/linkat.texi: Likewise.
53460         * doc/posix-functions/llrint.texi: Likewise.
53461         * doc/posix-functions/llrintf.texi: Likewise.
53462         * doc/posix-functions/llrintl.texi: Likewise.
53463         * doc/posix-functions/lockf.texi: Likewise.
53464         * doc/posix-functions/lrintl.texi: Likewise.
53465         * doc/posix-functions/mkdirat.texi: Likewise.
53466         * doc/posix-functions/mkfifoat.texi: Likewise.
53467         * doc/posix-functions/mknodat.texi: Likewise.
53468         * doc/posix-functions/mq_close.texi: Likewise.
53469         * doc/posix-functions/mq_getattr.texi: Likewise.
53470         * doc/posix-functions/mq_notify.texi: Likewise.
53471         * doc/posix-functions/mq_open.texi: Likewise.
53472         * doc/posix-functions/mq_receive.texi: Likewise.
53473         * doc/posix-functions/mq_send.texi: Likewise.
53474         * doc/posix-functions/mq_setattr.texi: Likewise.
53475         * doc/posix-functions/mq_timedreceive.texi: Likewise.
53476         * doc/posix-functions/mq_timedsend.texi: Likewise.
53477         * doc/posix-functions/mq_unlink.texi: Likewise.
53478         * doc/posix-functions/open_memstream.texi: Likewise.
53479         * doc/posix-functions/openat.texi: Likewise.
53480         * doc/posix-functions/posix_fadvise.texi: Likewise.
53481         * doc/posix-functions/posix_fallocate.texi: Likewise.
53482         * doc/posix-functions/posix_madvise.texi: Likewise.
53483         * doc/posix-functions/posix_memalign.texi: Likewise.
53484         * doc/posix-functions/posix_openpt.texi: Likewise.
53485         * doc/posix-functions/readlinkat.texi: Likewise.
53486         * doc/posix-functions/remque.texi: Likewise.
53487         * doc/posix-functions/renameat.texi: Likewise.
53488         * doc/posix-functions/rintl.texi: Likewise.
53489         * doc/posix-functions/sem_unlink.texi: Likewise.
53490         * doc/posix-functions/shm_open.texi: Likewise.
53491         * doc/posix-functions/shm_unlink.texi: Likewise.
53492         * doc/posix-functions/signgam.texi: Likewise.
53493         * doc/posix-functions/sigset.texi: Likewise.
53494         * doc/posix-functions/stpcpy.texi: Likewise.
53495         * doc/posix-functions/stpncpy.texi: Likewise.
53496         * doc/posix-functions/strerror.texi: Likewise.
53497         * doc/posix-functions/strtod.texi: Likewise.
53498         * doc/posix-functions/symlinkat.texi: Likewise.
53499         * doc/posix-functions/unlinkat.texi: Likewise.
53500         * doc/posix-functions/utimensat.texi: Likewise.
53501         * doc/glibc-functions/bindresvport.texi: Likewise.
53502         * doc/glibc-functions/dn_expand.texi: Likewise.
53503         * doc/glibc-functions/exp10.texi: Likewise.
53504         * doc/glibc-functions/exp10f.texi: Likewise.
53505         * doc/glibc-functions/fgetxattr.texi: Likewise.
53506         * doc/glibc-functions/flistxattr.texi: Likewise.
53507         * doc/glibc-functions/fopencookie.texi: Likewise.
53508         * doc/glibc-functions/freeifaddrs.texi: Likewise.
53509         * doc/glibc-functions/fremovexattr.texi: Likewise.
53510         * doc/glibc-functions/fsetxattr.texi: Likewise.
53511         * doc/glibc-functions/getifaddrs.texi: Likewise.
53512         * doc/glibc-functions/getxattr.texi: Likewise.
53513         * doc/glibc-functions/lgetxattr.texi: Likewise.
53514         * doc/glibc-functions/listxattr.texi: Likewise.
53515         * doc/glibc-functions/llistxattr.texi: Likewise.
53516         * doc/glibc-functions/lremovexattr.texi: Likewise.
53517         * doc/glibc-functions/lsetxattr.texi: Likewise.
53518         * doc/glibc-functions/pow10.texi: Likewise.
53519         * doc/glibc-functions/pow10f.texi: Likewise.
53520         * doc/glibc-functions/rcmd_af.texi: Likewise.
53521         * doc/glibc-functions/removexattr.texi: Likewise.
53522         * doc/glibc-functions/res_init.texi: Likewise.
53523         * doc/glibc-functions/res_mkquery.texi: Likewise.
53524         * doc/glibc-functions/res_query.texi: Likewise.
53525         * doc/glibc-functions/res_querydomain.texi: Likewise.
53526         * doc/glibc-functions/res_send.texi: Likewise.
53527         * doc/glibc-functions/rresvport_af.texi: Likewise.
53528         * doc/glibc-functions/setxattr.texi: Likewise.
53529         * doc/glibc-functions/strcasestr.texi: Likewise.
53530
53531 2008-12-15  Bruno Haible  <bruno@clisp.org>
53532
53533         Fix compilation error on OSF/1 4.0.
53534         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
53535         <sys/time.h>, simply delegate to the system header.
53536         Reported by Daniel Richard G. <oss@teragram.com>.
53537
53538 2008-12-15  Bruno Haible  <bruno@clisp.org>
53539
53540         * doc/posix-functions/openat.texi: Mention the 'openat' module.
53541         * doc/posix-functions/fchmodat.texi: Likewise.
53542         * doc/posix-functions/fchownat.texi: Likewise.
53543         * doc/posix-functions/fdopendir.texi: Likewise.
53544         * doc/posix-functions/fstatat.texi: Likewise.
53545         * doc/posix-functions/mkdirat.texi: Likewise.
53546         * doc/posix-functions/unlinkat.texi: Likewise.
53547
53548 2008-12-14  Bruno Haible  <bruno@clisp.org>
53549
53550         Update doc for POSIX:2008.
53551         * doc/posix-functions/faccessat.texi: New file.
53552         * doc/posix-functions/fchmodat.texi: New file.
53553         * doc/posix-functions/fchownat.texi: New file.
53554         * doc/posix-functions/fdopendir.texi: New file.
53555         * doc/posix-functions/fstatat.texi: New file.
53556         * doc/posix-functions/futimens.texi: New file.
53557         * doc/posix-functions/linkat.texi: New file.
53558         * doc/posix-functions/mkdirat.texi: New file.
53559         * doc/posix-functions/mkfifoat.texi: New file.
53560         * doc/posix-functions/mknodat.texi: New file.
53561         * doc/posix-functions/open_wmemstream.texi: New file.
53562         * doc/posix-functions/openat.texi: New file.
53563         * doc/posix-functions/psiginfo.texi: New file.
53564         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
53565         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
53566         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
53567         * doc/posix-functions/readlinkat.texi: New file.
53568         * doc/posix-functions/renameat.texi: New file.
53569         * doc/posix-functions/strerror_l.texi: New file.
53570         * doc/posix-functions/symlinkat.texi: New file.
53571         * doc/posix-functions/unlinkat.texi: New file.
53572         * doc/posix-functions/utimensat.texi: New file.
53573         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53574
53575 2008-12-14  Bruno Haible  <bruno@clisp.org>
53576
53577         Update doc for POSIX:2008.
53578         * doc/posix-functions/alphasort.texi: Renamed from
53579         doc/glibc-functions/alphasort.texi.
53580         * doc/posix-functions/dirfd.texi: Renamed from
53581         doc/glibc-functions/dirfd.texi.
53582         * doc/posix-functions/dprintf.texi: Renamed from
53583         doc/glibc-functions/dprintf.texi.
53584         * doc/posix-functions/duplocale.texi: Renamed from
53585         doc/glibc-functions/duplocale.texi.
53586         * doc/posix-functions/fexecve.texi: Renamed from
53587         doc/glibc-functions/fexecve.texi.
53588         * doc/posix-functions/fmemopen.texi: Renamed from
53589         doc/glibc-functions/fmemopen.texi.
53590         * doc/posix-functions/freelocale.texi: Renamed from
53591         doc/glibc-functions/freelocale.texi.
53592         * doc/posix-functions/getdate_err.texi: Renamed from
53593         doc/glibc-functions/getdate_err.texi.
53594         * doc/posix-functions/isalnum_l.texi: Renamed from
53595         doc/glibc-functions/isalnum_l.texi.
53596         * doc/posix-functions/isalpha_l.texi: Renamed from
53597         doc/glibc-functions/isalpha_l.texi.
53598         * doc/posix-functions/isblank_l.texi: Renamed from
53599         doc/glibc-functions/isblank_l.texi.
53600         * doc/posix-functions/iscntrl_l.texi: Renamed from
53601         doc/glibc-functions/iscntrl_l.texi.
53602         * doc/posix-functions/isdigit_l.texi: Renamed from
53603         doc/glibc-functions/isdigit_l.texi.
53604         * doc/posix-functions/isgraph_l.texi: Renamed from
53605         doc/glibc-functions/isgraph_l.texi.
53606         * doc/posix-functions/islower_l.texi: Renamed from
53607         doc/glibc-functions/islower_l.texi.
53608         * doc/posix-functions/isprint_l.texi: Renamed from
53609         doc/glibc-functions/isprint_l.texi.
53610         * doc/posix-functions/ispunct_l.texi: Renamed from
53611         doc/glibc-functions/ispunct_l.texi.
53612         * doc/posix-functions/isspace_l.texi: Renamed from
53613         doc/glibc-functions/isspace_l.texi.
53614         * doc/posix-functions/isupper_l.texi: Renamed from
53615         doc/glibc-functions/isupper_l.texi.
53616         * doc/posix-functions/iswalnum_l.texi: Renamed from
53617         doc/glibc-functions/iswalnum_l.texi.
53618         * doc/posix-functions/iswalpha_l.texi: Renamed from
53619         doc/glibc-functions/iswalpha_l.texi.
53620         * doc/posix-functions/iswblank_l.texi: Renamed from
53621         doc/glibc-functions/iswblank_l.texi.
53622         * doc/posix-functions/iswcntrl_l.texi: Renamed from
53623         doc/glibc-functions/iswcntrl_l.texi.
53624         * doc/posix-functions/iswctype_l.texi: Renamed from
53625         doc/glibc-functions/iswctype_l.texi.
53626         * doc/posix-functions/iswdigit_l.texi: Renamed from
53627         doc/glibc-functions/iswdigit_l.texi.
53628         * doc/posix-functions/iswgraph_l.texi: Renamed from
53629         doc/glibc-functions/iswgraph_l.texi.
53630         * doc/posix-functions/iswlower_l.texi: Renamed from
53631         doc/glibc-functions/iswlower_l.texi.
53632         * doc/posix-functions/iswprint_l.texi: Renamed from
53633         doc/glibc-functions/iswprint_l.texi.
53634         * doc/posix-functions/iswpunct_l.texi: Renamed from
53635         doc/glibc-functions/iswpunct_l.texi.
53636         * doc/posix-functions/iswspace_l.texi: Renamed from
53637         doc/glibc-functions/iswspace_l.texi.
53638         * doc/posix-functions/iswupper_l.texi: Renamed from
53639         doc/glibc-functions/iswupper_l.texi.
53640         * doc/posix-functions/iswxdigit_l.texi: Renamed from
53641         doc/glibc-functions/iswxdigit_l.texi.
53642         * doc/posix-functions/isxdigit_l.texi: Renamed from
53643         doc/glibc-functions/isxdigit_l.texi.
53644         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
53645         doc/glibc-functions/mbsnrtowcs.texi.
53646         * doc/posix-functions/mkdtemp.texi: Renamed from
53647         doc/glibc-functions/mkdtemp.texi.
53648         * doc/posix-functions/newlocale.texi: Renamed from
53649         doc/glibc-functions/newlocale.texi.
53650         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
53651         doc/glibc-functions/nl_langinfo_l.texi.
53652         * doc/posix-functions/open_memstream.texi: Renamed from
53653         doc/glibc-functions/open_memstream.texi.
53654         * doc/posix-functions/opterr.texi: Renamed from
53655         doc/glibc-functions/opterr.texi.
53656         * doc/posix-functions/optind.texi: Renamed from
53657         doc/glibc-functions/optind.texi.
53658         * doc/posix-functions/optopt.texi: Renamed from
53659         doc/glibc-functions/optopt.texi.
53660         * doc/posix-functions/psignal.texi: Renamed from
53661         doc/glibc-functions/psignal.texi.
53662         * doc/posix-functions/scandir.texi: Renamed from
53663         doc/glibc-functions/scandir.texi.
53664         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
53665         doc/glibc-functions/sched_get_priority_min.texi.
53666         * doc/posix-functions/signgam.texi: Renamed from
53667         doc/glibc-functions/signgam.texi.
53668         * doc/posix-functions/stpcpy.texi: Renamed from
53669         doc/glibc-functions/stpcpy.texi.
53670         * doc/posix-functions/stpncpy.texi: Renamed from
53671         doc/glibc-functions/stpncpy.texi.
53672         * doc/posix-functions/strcasecmp_l.texi: Renamed from
53673         doc/glibc-functions/strcasecmp_l.texi.
53674         * doc/posix-functions/strcoll_l.texi: Renamed from
53675         doc/glibc-functions/strcoll_l.texi.
53676         * doc/posix-functions/strfmon_l.texi: Renamed from
53677         doc/glibc-functions/strfmon_l.texi.
53678         * doc/posix-functions/strftime_l.texi: Renamed from
53679         doc/glibc-functions/strftime_l.texi.
53680         * doc/posix-functions/strncasecmp_l.texi: Renamed from
53681         doc/glibc-functions/strncasecmp_l.texi.
53682         * doc/posix-functions/strndup.texi: Renamed from
53683         doc/glibc-functions/strndup.texi.
53684         * doc/posix-functions/strnlen.texi: Renamed from
53685         doc/glibc-functions/strnlen.texi.
53686         * doc/posix-functions/strsignal.texi: Renamed from
53687         doc/glibc-functions/strsignal.texi.
53688         * doc/posix-functions/strxfrm_l.texi: Renamed from
53689         doc/glibc-functions/strxfrm_l.texi.
53690         * doc/posix-functions/timer_gettime.texi: Renamed from
53691         doc/glibc-functions/timer_gettime.texi.
53692         * doc/posix-functions/tolower_l.texi: Renamed from
53693         doc/glibc-functions/tolower_l.texi.
53694         * doc/posix-functions/toupper_l.texi: Renamed from
53695         doc/glibc-functions/toupper_l.texi.
53696         * doc/posix-functions/towctrans_l.texi: Renamed from
53697         doc/glibc-functions/towctrans_l.texi.
53698         * doc/posix-functions/towlower_l.texi: Renamed from
53699         doc/glibc-functions/towlower_l.texi.
53700         * doc/posix-functions/towupper_l.texi: Renamed from
53701         doc/glibc-functions/towupper_l.texi.
53702         * doc/posix-functions/uselocale.texi: Renamed from
53703         doc/glibc-functions/uselocale.texi.
53704         * doc/posix-functions/vdprintf.texi: Renamed from
53705         doc/glibc-functions/vdprintf.texi.
53706         * doc/posix-functions/wcpcpy.texi:
53707         Renamed from doc/glibc-functions/wcpcpy.texi.
53708         * doc/posix-functions/wcpncpy.texi: Renamed from
53709         doc/glibc-functions/wcpncpy.texi.
53710         * doc/posix-functions/wcscasecmp.texi: Renamed from
53711         doc/glibc-functions/wcscasecmp.texi.
53712         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
53713         doc/glibc-functions/wcscasecmp_l.texi.
53714         * doc/posix-functions/wcscoll_l.texi: Renamed from
53715         doc/glibc-functions/wcscoll_l.texi.
53716         * doc/posix-functions/wcsdup.texi: Renamed from
53717         doc/glibc-functions/wcsdup.texi.
53718         * doc/posix-functions/wcsncasecmp.texi: Renamed from
53719         doc/glibc-functions/wcsncasecmp.texi.
53720         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
53721         doc/glibc-functions/wcsncasecmp_l.texi.
53722         * doc/posix-functions/wcsnlen.texi: Renamed from
53723         doc/glibc-functions/wcsnlen.texi.
53724         * doc/posix-functions/wcsnrtombs.texi: Renamed from
53725         doc/glibc-functions/wcsnrtombs.texi.
53726         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
53727         doc/glibc-functions/wcsxfrm_l.texi.
53728         * doc/posix-functions/wctrans_l.texi: Renamed from
53729         doc/glibc-functions/wctrans_l.texi.
53730         * doc/posix-functions/wctype_l.texi: Renamed from
53731         doc/glibc-functions/wctype_l.texi.
53732         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53733         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
53734         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
53735         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
53736         these subsections.
53737         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
53738         Remove sections.
53739
53740 2008-12-14  Bruno Haible  <bruno@clisp.org>
53741
53742         Update doc for POSIX:2008.
53743         * doc/posix-functions/*.texi: Update URL of POSIX specification.
53744
53745 2008-12-14  Bruno Haible  <bruno@clisp.org>
53746
53747         Update doc for POSIX:2008.
53748         * doc/pastposix-functions/bcmp.texi: Renamed from
53749         doc/posix-functions/bcmp.texi.
53750         * doc/pastposix-functions/bcopy.texi: Renamed from
53751         doc/posix-functions/bcopy.texi.
53752         * doc/pastposix-functions/bsd_signal.texi: Renamed from
53753         doc/posix-functions/bsd_signal.texi.
53754         * doc/pastposix-functions/bzero.texi: Renamed from
53755         doc/posix-functions/bzero.texi.
53756         * doc/pastposix-functions/ecvt.texi: Renamed from
53757         doc/posix-functions/ecvt.texi.
53758         * doc/pastposix-functions/fcvt.texi: Renamed from
53759         doc/posix-functions/fcvt.texi.
53760         * doc/pastposix-functions/ftime.texi: Renamed from
53761         doc/posix-functions/ftime.texi.
53762         * doc/pastposix-functions/gcvt.texi: Renamed from
53763         doc/posix-functions/gcvt.texi.
53764         * doc/pastposix-functions/getcontext.texi: Renamed from
53765         doc/posix-functions/getcontext.texi.
53766         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
53767         doc/posix-functions/gethostbyaddr.texi.
53768         * doc/pastposix-functions/gethostbyname.texi: Renamed from
53769         doc/posix-functions/gethostbyname.texi.
53770         * doc/pastposix-functions/getwd.texi: Renamed from
53771         doc/posix-functions/getwd.texi.
53772         * doc/pastposix-functions/h_errno.texi: Renamed from
53773         doc/posix-functions/h_errno.texi.
53774         * doc/pastposix-functions/index.texi: Renamed from
53775         doc/posix-functions/index.texi.
53776         * doc/pastposix-functions/makecontext.texi: Renamed from
53777         doc/posix-functions/makecontext.texi.
53778         * doc/pastposix-functions/mktemp.texi: Renamed from
53779         doc/posix-functions/mktemp.texi.
53780         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
53781         doc/posix-functions/pthread_attr_getstackaddr.texi.
53782         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
53783         doc/posix-functions/pthread_attr_setstackaddr.texi.
53784         * doc/pastposix-functions/rindex.texi: Renamed from
53785         doc/posix-functions/rindex.texi.
53786         * doc/pastposix-functions/scalb.texi: Renamed from
53787         doc/posix-functions/scalb.texi.
53788         * doc/pastposix-functions/setcontext.texi: Renamed from
53789         doc/posix-functions/setcontext.texi.
53790         * doc/pastposix-functions/swapcontext.texi: Renamed from
53791         doc/posix-functions/swapcontext.texi.
53792         * doc/pastposix-functions/ualarm.texi: Renamed from
53793         doc/posix-functions/ualarm.texi.
53794         * doc/pastposix-functions/usleep.texi: Renamed from
53795         doc/posix-functions/usleep.texi.
53796         * doc/pastposix-functions/vfork.texi: Renamed from
53797         doc/posix-functions/vfork.texi.
53798         * doc/pastposix-functions/wcswcs.texi: Renamed from
53799         doc/posix-functions/wcswcs.texi.
53800         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
53801         (Function Substitutes): Update.
53802
53803 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53804
53805         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
53806         m4/strerror.m4.
53807
53808 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53809             Bruno Haible  <bruno@clisp.org>
53810
53811         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
53812
53813 2008-12-13  Bruno Haible  <bruno@clisp.org>
53814
53815         * modules/strtoull (Depends-on): Remove unistd.
53816
53817 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53818
53819         * modules/strtoull (Depends-on): Add stdlib.
53820
53821 2008-12-11  Simon Josefsson  <simon@josefsson.org>
53822
53823         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
53824
53825 2008-12-10  Jim Meyering  <meyering@redhat.com>
53826
53827         gl_ASSERT: don't say assertions are disabled when they're not
53828         * m4/assert.m4 (gl_ASSERT): Do not make configure report
53829         "checking whether to enable assertions... no", when they are in
53830         fact enabled.  This is solely a bug in the output of configure.
53831         In spite of saying "no", NDEBUG was not defined in that case.
53832         Also, as noted by Eric Blake, leave assertions enabled upon
53833         --enable-assert=INVALID.
53834
53835 2008-12-10  Bruno Haible  <bruno@clisp.org>
53836
53837         Change MODULES.html to refer to POSIX:2008 where possible.
53838         * MODULES.html.sh (POSIX2008_URL): New variable.
53839         (posix_headers): Remove sys/timeb, ucontext.
53840         (posix2001_headers): New variable.
53841         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
53842         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
53843         index, makecontext, mktemp, pthread_attr_getstackaddr,
53844         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
53845         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
53846         (posix2001_functions): New variable.
53847         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
53848         otherwise.
53849
53850 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53851
53852         add missing include to parse-duration.c
53853         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
53854         * modules/parse-duration (Depends-on): Add xalloc.
53855
53856         fix sed script reading maint.mk
53857         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
53858         (syntax-check-rules): Use it.
53859
53860 2008-12-09  Bruno Haible  <bruno@clisp.org>
53861
53862         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
53863         MacOS X 10.4/PowerPC.
53864         Reported by Simon Josefsson.
53865
53866 2008-12-08  Jim Meyering  <meyering@redhat.com>
53867
53868         work around mingw's lack of some S_IF definitions
53869         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
53870         Reported by Simon Josefsson.
53871
53872 2008-12-08  Bruno Haible  <bruno@clisp.org>
53873
53874         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
53875         applied to variables. Needed on MacOS X 10.4/PowerPC.
53876         Reported by Simon Josefsson.
53877
53878 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
53879         and Eric Blake  <ebb9@byu.net>
53880
53881         assert: honor --enable-assert
53882         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
53883         order to honor --enable-assert, rather than treating it as a
53884         synonym for --disable-assert.
53885
53886 2008-12-08  Jim Meyering  <meyering@redhat.com>
53887
53888         * lib/posixtm.c: Remove now-useless declaration of mktime.
53889
53890         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
53891
53892 2008-12-07  Bruno Haible  <bruno@clisp.org>
53893
53894         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
53895         test_once): Mark functions as static.
53896         * tests/test-tls.c (test_tls): Likewise.
53897
53898 2008-12-07  Bruno Haible  <bruno@clisp.org>
53899
53900         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
53901         iconv_register_autodetect.
53902
53903 2008-12-07  Jim Meyering  <meyering@redhat.com>
53904
53905         posixtm.c: avoid a warning
53906         * lib/posixtm.c (posixtime): Don't initialize tm0.
53907         It's no longer needed to placate gcc4's -Wuninitialized,
53908         and the attempt to placate would elicit a new warning.
53909
53910         unicodeio.c: mark unused parameters
53911         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
53912         (fallback_failure_callback): Likewise.
53913
53914 2008-12-07  Bruno Haible  <bruno@clisp.org>
53915
53916         * gnulib-tool (func_create_testdir): When building the tests
53917         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
53918         Reported by Simon Josefsson.
53919
53920 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53921
53922         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
53923
53924 2008-12-06  Bruno Haible  <bruno@clisp.org>
53925
53926         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
53927         Suggested by Eric Blake.
53928
53929 2008-12-06  Bruno Haible  <bruno@clisp.org>
53930
53931         Fix a c-stack test failure on MacOS X.
53932         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
53933         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
53934         handler for SIGBUS as well.
53935         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
53936         install a signal handler for SIGBUS as well.
53937         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
53938
53939 2008-12-06  Bruno Haible  <bruno@clisp.org>
53940
53941         Advocacy documentation.
53942         * doc/gnulib-intro.texi (Benefits): New section.
53943         * doc/gnulib.texi: Update.
53944
53945 2008-12-06  Bruno Haible  <bruno@clisp.org>
53946
53947         Document the 'manywarnings' module.
53948         * doc/manywarnings.texi: New file.
53949         * doc/gnulib.texi: Include it.
53950
53951 2008-12-05  Eric Blake  <ebb9@byu.net>
53952
53953         tests: silence some gcc warnings
53954         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
53955         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
53956         type mismatches.
53957
53958 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53959             Bruno Haible  <bruno@clisp.org>
53960
53961         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
53962
53963 2008-11-29  Jim Meyering  <meyering@redhat.com>
53964
53965         unicodeio.c: mark unused parameters
53966         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
53967         (fallback_failure_callback): Likewise.
53968
53969         fts: fix a thinko
53970         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
53971         (set_stat_type): Return S_IF*-valued "type" directly.
53972         Prompted by James Youngman's spotting a related bug.
53973         Confirmed by further testing through find.
53974
53975         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
53976         * lib/fts.c (D_TYPE): Define.
53977         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
53978         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
53979         (s_ifmt_shift_bits): New function.
53980         (set_stat_type): New function.
53981         (fts_build): When not calling fts_stat, call set_stat_type
53982         to propagate dirent.d_type info to fts_read caller.
53983         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
53984         fts_statp->st_mode type information may be valid.
53985
53986 2008-11-28  Simon Josefsson  <simon@josefsson.org>
53987
53988         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
53989         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
53990         <sds@gnu.org>.
53991
53992 2008-11-20  Bruno Haible  <bruno@clisp.org>
53993
53994         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
53995         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
53996         INCLUDE_NEXT.
53997         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
53998         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
53999         * modules/math (Makefile.am): Substitute
54000         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
54001         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54002
54003 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
54004             Bruno Haible  <bruno@clisp.org>
54005
54006         * lib/stdint.in.h: Define all type macros so that their expansion is
54007         a single typedef'ed token. Fixes a compilation failure in Boost which
54008         does "using ::int8_t;".
54009
54010 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54011
54012         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
54013         gl_MANYWARN_ALL_GCC.
54014         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
54015         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
54016         * modules/manywarnings: New file.
54017         * MODULES.html.sh: Mention manywarnings module.
54018
54019 2008-11-18  Bruno Haible  <bruno@clisp.org>
54020
54021         * doc/gnulib-tool.texi (Unit tests): New section.
54022
54023 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54024
54025         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
54026         paths like 'lib/po/foo.po'.
54027
54028 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54029
54030         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
54031         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
54032
54033 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54034
54035         * m4/warnings.m4: Use CPPFLAGS to really check whether the
54036         parameter works.
54037
54038 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54039
54040         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
54041
54042 2008-11-17  Bruce Korb  <bkorb@gnu.org>
54043
54044         * modules/parse-duration-tests: New file.
54045         * tests/test-parse-duration.sh: New file.
54046         * tests/test-parse-duration.c: New file.
54047
54048         New module 'parse-duration'.
54049         * lib/parse-duration.h: New file.
54050         * lib/parse-duration.c: New file.
54051         * modules/parse-duration: New file.
54052
54053 2008-11-17  Bruno Haible  <bruno@clisp.org>
54054
54055         * tests/test-select-out.sh: Comment out the first pipe test.
54056         Reported by Simon Josefsson.
54057
54058 2008-11-17  Bruno Haible  <bruno@clisp.org>
54059
54060         * modules/getaddrinfo (Depends-on): Add servent, hostent.
54061         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
54062         gl_HOSTENT.
54063
54064 2008-11-17  Bruno Haible  <bruno@clisp.org>
54065
54066         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
54067         -lnetwork and -lnet. Needed for Haiku and BeOS.
54068
54069 2008-11-16  Bruno Haible  <bruno@clisp.org>
54070
54071         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
54072
54073 2008-11-16  Bruno Haible  <bruno@clisp.org>
54074
54075         Avoid test failure on Haiku.
54076         * tests/test-fsync.c: Include <errno.h>.
54077         (main): Don't require that fsync (0) fails.
54078
54079 2008-11-15  Bruno Haible  <bruno@clisp.org>
54080
54081         New module 'hostent'.
54082         * modules/hostent: New file.
54083         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
54084
54085 2008-11-15  Bruno Haible  <bruno@clisp.org>
54086
54087         New module 'servent'.
54088         * modules/servent: New file.
54089         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
54090
54091 2008-11-15  Bruno Haible  <bruno@clisp.org>
54092
54093         Avoid generating same test program with two different rules.
54094         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
54095         test-frexp to test-frexp-nolibm.
54096         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
54097         test-frexpl to test-frexpl-nolibm.
54098
54099 2008-11-15  Bruno Haible  <bruno@clisp.org>
54100
54101         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
54102         $(FREXPL_LIBM).
54103
54104 2008-11-15  Bruno Haible  <bruno@clisp.org>
54105
54106         * lib/netdb.in.h: Activate the definitions also when the system's
54107         <netdb.h> has 'struct addrinfo'.
54108         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
54109         EAI_OVERFLOW or AI_NUMERICSERV.
54110         * doc/posix-headers/netdb.texi: Document the problem.
54111
54112 2008-11-15  Bruno Haible  <bruno@clisp.org>
54113
54114         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
54115
54116         Make the 'sched' module work on platforms where <sched.h> exists but
54117         is incomplete (such as Haiku).
54118         * lib/sched.in.h; Include the system's <sched.h> if it exists.
54119         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
54120         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
54121         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
54122         HAVE_STRUCT_SCHED_PARAM.
54123         * modules/sched (Depends-on): Add include_next.
54124         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
54125         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
54126         * doc/posix-headers/sched.texi: Document the issue.
54127
54128 2008-11-13  Jim Meyering  <meyering@redhat.com>
54129
54130         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
54131         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
54132         test would fail due to the difference in the Report bugs to ...
54133         line.  The expected address is empty, "<>", while the actual
54134         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
54135
54136 2008-11-12  Bruno Haible  <bruno@clisp.org>
54137
54138         lstat: don't compile lstat.c on systems lacking lstat
54139         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
54140         which don't have lstat; this is handled by lib/sys_stat.in.h already.
54141         Reported by Daniel P. Berrange via Jim Meyering.
54142
54143 2008-11-12  Jim Meyering  <meyering@redhat.com>
54144
54145         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
54146
54147 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54148
54149         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
54150         instead.
54151
54152 2008-11-12  Bruno Haible  <bruno@clisp.org>
54153
54154         * lib/unicodeio.c: Include unistr.h.
54155         (utf8_wctomb): Remove function.
54156         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
54157
54158 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54159
54160         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
54161         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
54162         <bruno@clisp.org>.
54163         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
54164
54165 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54166
54167         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
54168         * doc/gnulib.texi: Add section for warnings.
54169
54170 2008-11-11  Bruno Haible  <bruno@clisp.org>
54171
54172         * lib/sockets.h: Add a comment.
54173
54174 2008-11-11  Karl Berry  <karl@gnu.org>
54175
54176         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
54177
54178 2008-11-11  Eric Blake  <ebb9@byu.net>
54179
54180         fdl.texi: avoid git symlinks
54181         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
54182
54183 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54184
54185         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
54186
54187 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54188
54189         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
54190         (gl_WARN_ADD): Substitute $2 if literal.
54191
54192 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54193
54194         * m4/warning.m4: Remove.
54195
54196 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54197
54198         * m4/warnings.m4: Almost complete rewrite. :-)
54199
54200 2008-11-10  Simon Josefsson  <simon@josefsson.org>
54201
54202         * modules/warnings: New module.
54203         * m4/warnings.m4: New file.
54204         * MODULES.html.sh: Mention warnings module.
54205         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
54206         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54207
54208 2008-11-10  Eric Blake  <ebb9@byu.net>
54209
54210         fdl.texi: make a symlink to the latest version
54211         * doc/standards.texi: Revert today's earlier change.
54212         * doc/fdl-1.2.texi: Rename from old fdl.texi...
54213         * doc/fdl.texi: ...and replace this with a symlink to the newer
54214         fdl-1.3.texi.
54215
54216 2008-11-10  Bruno Haible  <bruno@clisp.org>
54217
54218         * tests/test-select-fd.c (main): Accept the result file name as fourth
54219         argument.
54220         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
54221         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
54222
54223 2008-11-10  Bruno Haible  <bruno@clisp.org>
54224
54225         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
54226         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
54227         as autoconf-substituted macros.
54228         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
54229         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
54230         gl_NETDB_H_DEFAULTS. Set these variables.
54231         * modules/netdb (Makefile.am): Substitute these variables.
54232
54233 2008-11-10  Eric Blake  <ebb9@byu.net>
54234
54235         standards.texi: include correct file for FDL 1.3
54236         * doc/standards.texi (GNU Free Documentation License): Change
54237         include file to pull in FDL 1.3, not 1.2.
54238
54239         fdl.texi: revert accidental change to license
54240         * doc/fdl.texi: This is FDL 1.2, not 1.3.
54241
54242 2008-11-10  Bruno Haible  <bruno@clisp.org>
54243
54244         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
54245         cross-compiling guesses also when the native compile gives no result.
54246
54247 2008-11-10  Bruno Haible  <bruno@clisp.org>
54248
54249         * lib/spawni.c (__spawni): Force variable into the stack.
54250
54251 2008-11-10  Bruno Haible  <bruno@clisp.org>
54252
54253         Add support for Haiku.
54254         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
54255         glibc and BeOS, but also on Haiku.
54256         * lib/fpurge.c (fpurge): Likewise.
54257         * lib/freadable.c (freadable): Likewise.
54258         * lib/freadahead.c (freadahead): Likewise.
54259         * lib/freading.c (freading): Likewise.
54260         * lib/freadptr.c (freadptr): Likewise.
54261         * lib/freadseek.c (freadptrinc): Likewise.
54262         * lib/fseeko.c (rpl_fseeko): Likewise.
54263         * lib/fseterr.c (fseterr): Likewise.
54264         * lib/fwritable.c (fwritable): Likewise.
54265         * lib/fwriting.c (fwriting): Likewise.
54266         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
54267
54268 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54269
54270         * lib/config.charset: Treat Haiku like BeOS.
54271
54272 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54273
54274         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
54275         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
54276
54277 2008-11-08  Bruno Haible  <bruno@clisp.org>
54278
54279         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
54280         AC_CACHE_CHECK.
54281
54282 2008-11-08  Bruno Haible  <bruno@clisp.org>
54283
54284         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
54285
54286 2008-11-08  Bruno Haible  <bruno@clisp.org>
54287
54288         * tests/test-select-fd.c: New file.
54289         * tests/test-select-in.sh: New file.
54290         * tests/test-select-out.sh: New file.
54291         * tests/test-select-stdin.c: New file.
54292         * modules/select-tests (Files): Add the new files.
54293         (Depends-on): Add gettimeofday.
54294         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
54295         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
54296         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
54297
54298 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
54299             Bruno Haible  <bruno@clisp.org>
54300
54301         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
54302
54303 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
54304
54305         * build-aux/pmccabe2html: Added support for C++ source files.
54306
54307 2008-11-05  Ben Pfaff  <blp@gnu.org>
54308
54309         Fix lib/close.c build on Windows.
54310         * modules/close (Files): Add lib/w32sock.h.
54311
54312 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
54313
54314         Accept Bison's NEWS format.
54315         * build-aux/announce-gen (print_news_deltas): Tweak
54316         $re_prefix.
54317
54318 2008-11-04  Bruno Haible  <bruno@clisp.org>
54319
54320         * modules/random_r (Maintainer): Add glibc.
54321
54322 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54323
54324         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
54325         by karl@freefriends.org (Karl Berry).
54326         * doc/alloca.texi: Likewise.
54327         * doc/c-ctype.texi: Likewise.
54328         * doc/c-strcase.texi: Likewise.
54329         * doc/c-strcaseeq.texi: Likewise.
54330         * doc/c-strcasestr.texi: Likewise.
54331         * doc/c-strstr.texi: Likewise.
54332         * doc/c-strtod.texi: Likewise.
54333         * doc/c-strtold.texi: Likewise.
54334         * doc/ctime.texi: Likewise.
54335         * doc/error.texi: Likewise.
54336         * doc/fdl.texi: Likewise.
54337         * doc/gcd.texi: Likewise.
54338         * doc/getdate.texi: Likewise.
54339         * doc/gnulib-intro.texi: Likewise.
54340         * doc/gnulib-tool.texi: Likewise.
54341         * doc/gnulib.texi: Likewise.
54342         * doc/inet_ntoa.texi: Likewise.
54343         * doc/maintain.texi: Likewise.
54344         * doc/make-stds.texi: Likewise.
54345         * doc/quote.texi: Likewise.
54346         * doc/regexprops-generic.texi: Likewise.
54347         * doc/standards.texi: Likewise.
54348         * doc/verify.texi: Likewise.
54349         * doc/visibility.texi: Likewise.
54350         * doc/gnulib.texi (GNU Free Documentation License): Include
54351         fdl-1.3.texi instead of fdl.texi.
54352
54353 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54354
54355         * doc/fdl-1.3.texi: New file, from
54356         <http://www.gnu.org/licenses/fdl-1.3.texi>.
54357         * modules/fdl-1.3: Add.
54358         * MODULES.html.sh: Add fdl-1.3.
54359
54360 2008-11-03  Bruno Haible  <bruno@clisp.org>
54361
54362         Make determination of absolute name of header file work with AIX xlc.
54363         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
54364         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
54365         preprocessing.
54366         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54367         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
54368
54369 2008-11-03  Simon Josefsson  <simon@josefsson.org>
54370
54371         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
54372         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
54373         <ludo@gnu.org>.
54374
54375 2008-11-02  Bruno Haible  <bruno@clisp.org>
54376
54377         Mark 'strpbrk' obsolete.
54378         * modules/strpbrk (Status, Notice): New sections.
54379         * modules/strtok_r (Depends-on): Add strpbrk.
54380
54381 2008-11-02  Bruno Haible  <bruno@clisp.org>
54382
54383         Mark 'strdup' obsolete.
54384         * modules/strdup (Status, Notice): New sections.
54385         * modules/findprog (Depends-on): Add strdup.
54386         * modules/getaddrinfo (Depends-on): Likewise.
54387         * modules/localename (Depends-on): Likewise.
54388         * modules/relocatable-lib (Depends-on): Likewise.
54389         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
54390         * modules/relocatable-prog (Depends-on): Likewise.
54391         * modules/trim (Depends-on): Likewise.
54392         * modules/unictype/gen-ctype (Depends-on): Likewise.
54393         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54394
54395 2008-11-02  Bruno Haible  <bruno@clisp.org>
54396
54397         Mark 'strcspn' obsolete.
54398         * modules/strcspn (Status, Notice): New sections.
54399
54400 2008-11-02  Bruno Haible  <bruno@clisp.org>
54401
54402         Mark 'rmdir' obsolete.
54403         * modules/rmdir (Status, Notice): New sections.
54404         * modules/clean-temp (Depends-on): Add rmdir.
54405         * modules/openat (Depends-on): Likewise.
54406
54407 2008-11-02  Bruno Haible  <bruno@clisp.org>
54408
54409         Mark 'raise' obsolete.
54410         * modules/raise (Status, Notice): New sections.
54411         (Include): Specify <signal.h>.
54412         * modules/stdio (Depends-on): Add raise.
54413         * modules/write (Depends-on): Likewise.
54414
54415 2008-11-02  Bruno Haible  <bruno@clisp.org>
54416
54417         Mark 'memset' obsolete.
54418         * modules/memset (Status, Notice): New sections.
54419
54420 2008-11-02  Bruno Haible  <bruno@clisp.org>
54421
54422         Mark 'memmove' obsolete.
54423         * modules/memmove (Status, Notice): New sections.
54424         * modules/argp (Depends-on): Add memmove.
54425         * modules/argz (Depends-on): Likewise.
54426         * modules/canonicalize (Depends-on): Likewise.
54427         * modules/canonicalize-lgpl (Depends-on): Likewise.
54428         * modules/fts (Depends-on): Likewise.
54429         * modules/getcwd (Depends-on): Likewise.
54430         * modules/human (Depends-on): Likewise.
54431         * modules/regex (Depends-on): Likewise.
54432         * modules/striconveh (Depends-on): Likewise.
54433         * modules/trim (Depends-on): Likewise.
54434         * modules/unistr/u8-move (Depends-on): Likewise.
54435         * modules/unistr/u16-move (Depends-on): Likewise.
54436         * modules/unistr/u32-move (Depends-on): Likewise.
54437
54438 2008-11-02  Bruno Haible  <bruno@clisp.org>
54439
54440         Mark 'memcpy' obsolete.
54441         * modules/memcpy (Status, Notice): New sections.
54442
54443 2008-11-02  Bruno Haible  <bruno@clisp.org>
54444
54445         Mark 'memcmp' obsolete.
54446         * modules/memcmp (Status, Notice): New sections.
54447         * modules/argmatch (Depends-on): Add memchr.
54448         * modules/backupfile (Depends-on): Likewise.
54449         * modules/c-strcasestr (Depends-on): Likewise.
54450         * modules/crypto/des (Depends-on): Likewise.
54451         * modules/csharpcomp (Depends-on): Likewise.
54452         * modules/fnmatch (Depends-on): Likewise.
54453         * modules/git-merge-changelog (Depends-on): Likewise.
54454         * modules/isnand (Depends-on): Likewise.
54455         * modules/isnand-nolibm (Depends-on): Likewise.
54456         * modules/isnanf (Depends-on): Likewise.
54457         * modules/isnanf-nolibm (Depends-on): Likewise.
54458         * modules/isnanl (Depends-on): Likewise.
54459         * modules/isnanl-nolibm (Depends-on): Likewise.
54460         * modules/mbchar (Depends-on): Likewise.
54461         * modules/memcoll (Depends-on): Likewise.
54462         * modules/quotearg (Depends-on): Likewise.
54463         * modules/regex (Depends-on): Likewise.
54464         * modules/relocatable-prog (Depends-on): Likewise.
54465         * modules/same (Depends-on): Likewise.
54466         * modules/signbit (Depends-on): Likewise.
54467         * modules/strcasestr-simple (Depends-on): Likewise.
54468         * modules/unictype/gen-ctype (Depends-on): Likewise.
54469         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54470         * modules/uniname/uniname (Depends-on): Likewise.
54471         * modules/unistr/u8-cmp (Depends-on): Likewise.
54472
54473 2008-11-02  Bruno Haible  <bruno@clisp.org>
54474
54475         Mark 'memchr' obsolete.
54476         * modules/memchr (Status, Notice): New sections.
54477         * modules/argp (Depends-on): Add memchr.
54478         * modules/base64 (Depends-on): Likewise.
54479         * modules/c-strcasestr (Depends-on): Likewise.
54480         * modules/chdir-long (Depends-on): Likewise.
54481         * modules/fnmatch (Depends-on): Likewise.
54482         * modules/getsubopt (Depends-on): Likewise.
54483         * modules/git-merge-changelog (Depends-on): Likewise.
54484         * modules/glob (Depends-on): Likewise.
54485         * modules/strcasestr-simple (Depends-on): Likewise.
54486         * modules/strnlen (Depends-on): Likewise.
54487
54488 2008-11-02  Bruno Haible  <bruno@clisp.org>
54489
54490         Mark 'atexit' obsolete.
54491         * modules/atexit (Status, Notice): New sections.
54492         * modules/chdir-long (Depends-on): Add atexit.
54493         * modules/wait-process (Depends-on): Likewise.
54494
54495 2008-11-02  Bruno Haible  <bruno@clisp.org>
54496
54497         * gnulib-tool: New option --with-obsolete.
54498         (func_usage): Document it.
54499         (func_modules_transitive_closure): Drop obsolete dependencies if
54500         incobsolete is not true.
54501         (func_import): Read and save the incobsolete variable to the cache.
54502
54503 2008-11-02  Bruno Haible  <bruno@clisp.org>
54504
54505         * modules/TEMPLATE-EXTENDED: New field 'Status'.
54506         * gnulib-tool: New option --extract-status.
54507         (func_usage): Document it.
54508         (sed_extract_prog): Recognize it.
54509         (func_get_status): New function.
54510
54511 2008-10-30  Simon Josefsson  <simon@josefsson.org>
54512
54513         * modules/sockets (License): Change from LGPL to LGPLv2+.
54514
54515 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54516
54517         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
54518
54519 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54520
54521         * MODULES.html.sh (Support for systems lacking POSIX:2001):
54522         Mention times and sys_times.
54523         * modules/sys_times, modules/sys_times-tests: New modules.
54524         * modules/times, modules/times-tests: Likewise
54525         * m4/sys_times_h.m4: New file.
54526         * lib/sys_times.in.h: Likewise
54527         * lib/times.c: Likewise.
54528         * tests/test-sys_times.c: Likewise.
54529         * tests/test-times.c: Likewise.
54530         * doc/posix-headers/sys_times.texi: Update.
54531         * doc/posix-functions/times.texi: Update.
54532
54533 2008-10-28  Jim Meyering  <meyering@redhat.com>
54534
54535         * modules/tempname (Depends-on): Add lstat.
54536
54537         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
54538
54539 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54540
54541         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
54542         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
54543         using idiom used elsewhere in gnulib.
54544
54545 2008-10-27  Jim Meyering  <meyering@redhat.com>
54546
54547         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
54548
54549 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54550
54551         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
54552         TESTS_ENVIRONMENT, for shell scripts that needs to call built
54553         programs.
54554         * tests/test-argp-2.sh: Use $EXEEXT when needed.
54555
54556 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54557
54558         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
54559
54560 2008-10-27  Bruno Haible  <bruno@clisp.org>
54561
54562         * tests/test-lstat.c: Include <stdio.h>.
54563
54564 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54565
54566         * modules/lstat-tests: New module.
54567         * tests/test-lstat.c: New file.
54568
54569 2008-10-26  Jim Meyering  <meyering@redhat.com>
54570
54571         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
54572
54573 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54574             Bruno Haible  <bruno@clisp.org>
54575
54576         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
54577         * modules/configmake (Include): Add a note that the include must come
54578         after all system headers.
54579         * lib/javaversion.c: Include configmake.h after all other includes.
54580
54581 2008-10-26  Bruno Haible  <bruno@clisp.org>
54582
54583         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
54584         HAVE_STRUCT_RANDOM_DATA to 1.
54585         (gl_STDLIB_H): Simplify.
54586
54587 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54588
54589         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
54590         substitute HAVE_STRUCT_RANDOM_DATA.
54591         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
54592         random_data.
54593         * modules/stdlib (Makefile.am): Substitute
54594         HAVE_STRUCT_RANDOM_DATA.
54595
54596 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54597
54598         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
54599         * doc/gnulib-intro.texi (Copyright): Likewise.
54600
54601 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54602
54603         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
54604         findings.
54605
54606 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
54607             Bruno Haible  <bruno@clisp.org>
54608
54609         * lib/unistd.in.h: Include <winsock2.h>.
54610         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
54611         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
54612         Provide dummy declarations.
54613         (gethostname): Override.
54614         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
54615         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
54616         gl_PREREQ_SYS_H_WINSOCK2.
54617         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
54618         * doc/posix-functions/gethostname.texi: More details.
54619
54620 2008-10-25  Bruno Haible  <bruno@clisp.org>
54621
54622         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
54623         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
54624         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
54625
54626         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
54627         here ...
54628         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
54629         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
54630         gl_UNISTD_H_DEFAULTS.
54631
54632 2008-10-25  Eric Blake  <ebb9@byu.net>
54633
54634         signbit: avoid spurious compiler failure
54635         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
54636         declarations inside function.
54637
54638 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54639             Bruno Haible  <bruno@clisp.org>
54640
54641         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
54642         * modules/random_r (Depends-on): Add stdint.
54643
54644 2008-10-24  Bruno Haible  <bruno@clisp.org>
54645
54646         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
54647         Eggert.
54648         * modules/strerror (License): Likewise.
54649
54650 2008-10-24  Jim Meyering  <meyering@redhat.com>
54651
54652         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
54653         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
54654
54655 2008-10-24  Eric Blake  <ebb9@byu.net>
54656
54657         getgroups: fix compilation when getgroups is available
54658         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
54659         but with <config.h> override of getgroups disabled.
54660
54661 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54662
54663         * doc/gnulib.texi (Header files): Add note about C++ problems.
54664         Explained by Bruno Haible <bruno@clisp.org>.
54665
54666 2008-10-23  Bruno Haible  <bruno@clisp.org>
54667
54668         Define a dummy SA_NODEFER macro on Interix.
54669         * lib/signal.in.h (SA_NODEFER): Define fallback.
54670         Reported by Aleksey Cheusov <cheusov@tut.by> via
54671         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
54672
54673 2008-10-23  Bruno Haible  <bruno@clisp.org>
54674
54675         * modules/freadahead (License): Change to LGPLv2+.
54676         Suggested by Simon Josefsson.
54677
54678 2008-10-23  Jim Meyering  <meyering@redhat.com>
54679
54680         random_r: new module
54681         * modules/random_r: New file.
54682         * m4/random_r.m4: New file.
54683         * lib/random_r.c: New file, from glibc.
54684         * modules/random_r-tests: New file.
54685         * tests/test-random_r.c: New file.
54686         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
54687          Declare.
54688         (RAND_MAX): Define.
54689         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
54690         * modules/stdlib: Substitute them, too.
54691         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
54692         * doc/glibc-functions/initstate_r.texi: Mention the new module.
54693         * doc/glibc-functions/random_r.texi: Likewise.
54694         * doc/glibc-functions/setstate_r.texi: Likewise.
54695         * doc/glibc-functions/srandom_r.texi: Likewise.
54696         * config/srclist.txt: Mention it.
54697
54698 2008-10-23  David Lutterkort  <lutter@redhat.com>
54699
54700         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
54701         link requirement
54702
54703 2008-10-23  Jim Meyering  <meyering@redhat.com>
54704
54705         selinux-h: mark parameters of stub functions as intentionally unused
54706         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
54707         * lib/se-context.in.h: Likewise.
54708
54709 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54710
54711         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
54712
54713 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54714
54715         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
54716
54717 2008-10-22  Eric Blake  <ebb9@byu.net>
54718
54719         glthread/thread: avoid compiler warning
54720         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
54721         Add unreachable abort to silence compiler.
54722
54723 2008-10-22  Eric Blake  <ebb9@byu.net>
54724
54725         netdb: also supply struct addrinfo for cygwin 1.5.x
54726         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
54727         older cygwin.
54728         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
54729         cygwin.
54730         * doc/posix-headers/netdb.texi (netdb.h): Document this.
54731
54732 2008-10-22  Bruno Haible  <bruno@clisp.org>
54733
54734         * users.txt: Update entry about pspp.
54735
54736 2008-10-21  Bruno Haible  <bruno@clisp.org>
54737
54738         Simplification.
54739         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
54740         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
54741
54742         Simplification.
54743         * lib/ioctl.c (ioctl): Don't undefine.
54744         * lib/socket.c (socket): Don't undefine.
54745
54746         Remove unused module indicator macros.
54747         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
54748         GNULIB_$1 as a C macro.
54749
54750         * doc/posix-functions/close.texi: Undo last change.
54751         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
54752         Windows platforms.
54753
54754 2008-10-21  Bruno Haible  <bruno@clisp.org>
54755
54756         Add gethostname() declaration to <unistd.h>.
54757         * lib/unistd.in.h (gethostname): New declaration.
54758         * lib/gethostname.c: Include <unistd.h>.
54759         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
54760         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
54761         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
54762         and HAVE_GETHOSTNAME.
54763         * modules/gethostname (Depends-on): Add unistd.
54764         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54765         (Include): Specify <unistd.h>.
54766         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
54767         HAVE_GETHOSTNAME.
54768         * tests/test-gethostname.c: Include <unistd.h> first.
54769
54770 2008-10-21  Bruno Haible  <bruno@clisp.org>
54771
54772         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
54773         * modules/select-tests (Depends-on): Likewise.
54774         Reported by Simon Josefsson.
54775
54776 2008-10-21  Simon Josefsson  <simon@josefsson.org>
54777
54778         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
54779         * lib/accept.c: New file, based on winsock.c.
54780         * lib/bind.c: New file, based on winsock.c.
54781         * lib/connect.c: New file, based on winsock.c.
54782         * lib/getpeername.c: New file, based on winsock.c.
54783         * lib/getsockname.c: New file, based on winsock.c.
54784         * lib/getsockopt.c: New file, based on winsock.c.
54785         * lib/ioctl.c: New file, based on winsock.c.
54786         * lib/listen.c: New file, based on winsock.c.
54787         * lib/recv.c: New file, based on winsock.c.
54788         * lib/recvfrom.c: New file, based on winsock.c.
54789         * lib/send.c: New file, based on winsock.c.
54790         * lib/sendto.c: New file, based on winsock.c.
54791         * lib/setsockopt.c: New file, based on winsock.c.
54792         * lib/shutdown.c: New file, based on winsock.c.
54793         * lib/socket.c: New file, based on winsock.c.
54794         * lib/w32sock.h: New file, based on winsock.c.
54795         * lib/winsock.c: Remove file.
54796         * modules/accept: Likewise.
54797         * modules/bind: Likewise.
54798         * modules/connect: Likewise.
54799         * modules/getpeername: Likewise.
54800         * modules/getsockname: Likewise.
54801         * modules/getsockopt: Likewise.
54802         * modules/ioctl: Likewise.
54803         * modules/listen: Likewise.
54804         * modules/recv: Likewise.
54805         * modules/recvfrom: Likewise.
54806         * modules/send: Likewise.
54807         * modules/sendto: Likewise.
54808         * modules/setsockopt: Likewise.
54809         * modules/shutdown: Likewise.
54810         * modules/socket: Use socket.c instead of winsock.c.
54811         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
54812         * doc/posix-functions/accept.texi: Doc fix.
54813         * doc/posix-functions/bind.texi: Doc fix.
54814         * doc/posix-functions/close.texi: Doc fix.
54815         * doc/posix-functions/connect.texi: Doc fix.
54816         * doc/posix-functions/getpeername.texi: Doc fix.
54817         * doc/posix-functions/getsockname.texi: Doc fix.
54818         * doc/posix-functions/getsockopt.texi: Doc fix.
54819         * doc/posix-functions/ioctl.texi: Doc fix.
54820         * doc/posix-functions/listen.texi: Doc fix.
54821         * doc/posix-functions/recv.texi: Doc fix.
54822         * doc/posix-functions/recvfrom.texi: Doc fix.
54823         * doc/posix-functions/send.texi: Doc fix.
54824         * doc/posix-functions/sendto.texi: Doc fix.
54825         * doc/posix-functions/setsockopt.texi: Doc fix.
54826         * doc/posix-functions/shutdown.texi: Doc fix.
54827         * doc/posix-functions/socket.texi: Doc fix.
54828
54829 2008-10-20  Bruno Haible  <bruno@clisp.org>
54830
54831         Take into account the role of SIGABRT_COMPAT on Windows 2008.
54832         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
54833         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
54834         as an alias for SIGABRT.
54835         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
54836         (sigaction): Map it to SIGABRT.
54837         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
54838
54839 2008-10-20  Bruno Haible  <bruno@clisp.org>
54840
54841         * lib/fts.c: Don't include lstat.h.
54842         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
54843
54844         Move the lstat() declaration to <sys/stat.h>.
54845         * lib/lstat.h: Remove file.
54846         * lib/sys_stat.in.h: Add special invocation convention.
54847         (lstat): New declaration.
54848         * lib/lstat.c (orig_lstat): New function.
54849         (rpl_lstat): Use orig_lstat instead of lstat.
54850         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
54851         AC_C_INLINE. Set REPLACE_LSTAT.
54852         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
54853         and REPLACE_LSTAT.
54854         * modules/lstat (Files): Remove lib/lstat.h.
54855         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
54856         (Include): Specify <sys/stat.h> instead of lstat.h.
54857         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
54858         REPLACE_LSTAT.
54859         * NEWS: Mention the change.
54860
54861 2008-10-20  Bruno Haible  <bruno@clisp.org>
54862
54863         * modules/posix_spawn-tests: New file.
54864         * tests/test-posix_spawn3.c: New file.
54865
54866 2008-10-20  Bruno Haible  <bruno@clisp.org>
54867
54868         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
54869         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54870         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
54871         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54872         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
54873
54874 2008-10-20  Bruno Haible  <bruno@clisp.org>
54875
54876         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
54877         of posix_spawn on AIX 5.3.
54878
54879 2008-10-20  Bruno Haible  <bruno@clisp.org>
54880
54881         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
54882
54883 2008-10-20  Bruno Haible  <bruno@clisp.org>
54884
54885         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
54886         of AC_LANG_PROGRAM.
54887
54888 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54889
54890         * lib/netdb.in.h: Don't define GNU specific constants until they
54891         are supported or needed.  Reported by Bruno Haible
54892         <bruno@clisp.org>.
54893
54894 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54895
54896         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
54897
54898 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54899
54900         * lib/getaddrinfo.h: Remove file.
54901         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
54902         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
54903         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
54904         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
54905         * modules/netdb: Substitute GNULIB_GETADDRINFO.
54906         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
54907         * tests/test-getaddrinfo.c: Likewise.
54908         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
54909         * NEWS: Mention change.
54910
54911 2008-10-19  Bruno Haible  <bruno@clisp.org>
54912
54913         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
54914
54915 2008-10-19  Bruno Haible  <bruno@clisp.org>
54916
54917         * lib/wait-process.c: Include simply <sys/wait.h>.
54918         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
54919         WIFSTOPPED): Remove fallback definitions.
54920         * modules/wait-process (Depends-on): Add sys_wait.
54921
54922         New module 'sys_wait'.
54923         * modules/sys_wait: New file.
54924         * lib/sys_wait.in.h: New file, partially copied from
54925         lib/wait-process.c.
54926         * m4/sys_wait_h.m4: New file.
54927         * doc/posix-headers/sys_wait.texi: Mention the new module.
54928
54929 2008-10-19  Bruno Haible  <bruno@clisp.org>
54930
54931         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
54932
54933 2008-10-19  Bruno Haible  <bruno@clisp.org>
54934
54935         Assume that waitpid() fills an 'int' status, not a 'union wait'.
54936         * lib/wait-process.c (WAIT_T): Remove type.
54937         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
54938         (wait_subprocess): Update.
54939
54940 2008-10-19  Bruno Haible  <bruno@clisp.org>
54941
54942         New module 'atoll'.
54943         * modules/atoll: New file.
54944         * lib/stdlib.in.h (atoll): New declaration.
54945         * lib/atoll.c: New file, from glibc with modifications.
54946         * m4/atoll.m4: New file.
54947         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
54948         HAVE_ATOLL.
54949         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
54950         * doc/posix-functions/atoll.texi: Mention the new module.
54951
54952 2008-10-19  Bruno Haible  <bruno@clisp.org>
54953
54954         Add strtoull() declaration to <stdlib.h>.
54955         * lib/stdlib.in.h (strtoull): New declaration.
54956         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
54957         Set HAVE_STRTOULL.
54958         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
54959         HAVE_STRTOULL.
54960         * modules/strtoull (Depends-on): Add stdlib.
54961         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54962         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
54963         HAVE_STRTOULL.
54964
54965 2008-10-19  Bruno Haible  <bruno@clisp.org>
54966
54967         Add strtoll() declaration to <stdlib.h>.
54968         * lib/stdlib.in.h (strtoll): New declaration.
54969         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
54970         Set HAVE_STRTOLL.
54971         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
54972         HAVE_STRTOLL.
54973         * modules/strtoll (Depends-on): Add stdlib.
54974         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54975         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
54976
54977 2008-10-19  Bruno Haible  <bruno@clisp.org>
54978
54979         * modules/bcopy (Depends-on): Add strings.
54980         (Include): Specify <strings.h>.
54981
54982 2008-10-19  Bruno Haible  <bruno@clisp.org>
54983
54984         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
54985
54986 2008-10-19  Bruno Haible  <bruno@clisp.org>
54987
54988         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
54989         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
54990         mingw.
54991
54992 2008-10-19  Bruno Haible  <bruno@clisp.org>
54993
54994         * lib/atanl.c: Don't include isnanl.h.
54995         * lib/cosl.c: Likewise.
54996         * lib/ldexpl.c: Likewise.
54997         * lib/logl.c: Likewise.
54998         * lib/sinl.c: Likewise.
54999         * lib/sqrtl.c: Likewise.
55000         * lib/tanl.c: Likewise.
55001
55002         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
55003         * lib/isnanf.h: Remove file.
55004         * lib/isnand.h: Remove file.
55005         * lib/isnanl.h: Remove file.
55006         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
55007         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
55008         macros.
55009         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
55010         HAVE_ISNANF, don't define it as a C macro.
55011         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
55012         HAVE_ISNAND, don't define it as a C macro.
55013         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
55014         HAVE_ISNANL, don't define it as a C macro.
55015         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
55016         HAVE_ISNAN[FDL].
55017         * modules/isnanf (Files): Remove lib/isnanf.h.
55018         (Depends-on): Add math.
55019         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55020         (Include): Specify <math.h> instead of isnanf.h.
55021         * modules/isnand (Files): Remove lib/isnand.h.
55022         (Depends-on): Add math.
55023         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55024         (Include): Specify <math.h> instead of isnand.h.
55025         * modules/isnanl (Files): Remove lib/isnanl.h.
55026         (Depends-on): Add math.
55027         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55028         (Include): Specify <math.h> instead of isnanl.h.
55029         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
55030         HAVE_ISNAN[FDL].
55031         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
55032         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
55033         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
55034         * NEWS: Mention the change.
55035
55036 2008-10-18  Bruno Haible  <bruno@clisp.org>
55037
55038         Add getusershell(), setusershell(), endusershell() declarations to
55039         <unistd.h>.
55040         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
55041         declarations.
55042         * lib/getusershell.c: Include unistd.h.
55043         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
55044         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55045         HAVE_GETUSERSHELL.
55046         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
55047         and HAVE_GETUSERSHELL.
55048         * modules/getusershell (Depends-on): Add unistd, extensions.
55049         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55050         (Include): Specify <unistd.h>.
55051         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
55052         HAVE_GETUSERSHELL.
55053
55054 2008-10-18  Bruno Haible  <bruno@clisp.org>
55055
55056         Add a getloadavg() declaration to <stdlib.h>.
55057         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
55058         getloadavg declaration.
55059         (getloadavg): New declaration.
55060         * lib/getloadavg.c: Include <stdlib.h> first.
55061         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
55062         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
55063         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
55064         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
55065         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55066         * modules/getloadavg (Depends-on): Add stdlib, extensions.
55067         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55068         (Include): Specify <stdlib.h>.
55069         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
55070         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55071
55072 2008-10-18  Bruno Haible  <bruno@clisp.org>
55073
55074         * lib/dirchownmod.c: Don't include lchmod.h.
55075
55076         Move the lchmod() declaration to <sys/stat.h>.
55077         * lib/lchmod.h: Remove file.
55078         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
55079         (lchmod): New declaration, moved here from lib/lchown.h.
55080         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
55081         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
55082         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
55083         and HAVE_LCHMOD.
55084         * modules/lchmod (Files): Remove lib/lchmod.h.
55085         (Depends-on): Add sys_stat, extensions.
55086         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55087         (Include): Specify <sys/stat.h> instead of lchmod.h.
55088         * modules/sys_stat (Depends-on): Add link-warning.
55089         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
55090         definition of GL_LINK_WARNING.
55091         * NEWS: Mention the change.
55092
55093 2008-10-18  Bruno Haible  <bruno@clisp.org>
55094
55095         * lib/fchdir.c: Don't include dirfd.h.
55096         * lib/fts.c: Likewise.
55097         * lib/getcwd.c: Likewise.
55098         * lib/glob.c: Likewise.
55099
55100         Move the dirfd() declaration to <dirent.h>.
55101         * lib/dirfd.h: Remove file.
55102         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
55103         (dirfd): New declaration.
55104         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
55105         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
55106         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
55107         HAVE_DECL_DIRFD.
55108         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
55109         HAVE_DECL_DIRFD.
55110         * modules/dirfd (Files): Remove lib/dirfd.h.
55111         (Depends-on): Add dirent, extensions.
55112         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
55113         (Include): Specify <dirent.h> instead of dirfd.h.
55114         * modules/dirent (Depends-on): Add link-warning.
55115         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
55116         definition of GL_LINK_WARNING.
55117         * NEWS: Mention the change.
55118
55119 2008-10-18  Bruno Haible  <bruno@clisp.org>
55120
55121         Move the euidaccess() declaration to <unistd.h>.
55122         * lib/euidaccess.h: Remove file.
55123         * lib/unistd.in.h (euidaccess): New declaration.
55124         * lib/euidaccess.c: Don't include euidaccess.h.
55125         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
55126         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
55127         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
55128         and HAVE_EUIDACCESS.
55129         * modules/euidaccess (Files): Remove lib/euidaccess.h.
55130         (Depends-on): Add unistd.
55131         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55132         (Include): Specify <unistd.h> instead of euidaccess.h.
55133         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
55134         HAVE_EUIDACCESS.
55135         * NEWS: Mention the change.
55136
55137 2008-10-18  Bruno Haible  <bruno@clisp.org>
55138
55139         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
55140
55141         Move the getdomainname() declaration to <unistd.h>.
55142         * lib/getdomainname.h: Remove file.
55143         * lib/unistd.in.h (getdomainname): New declaration.
55144         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
55145         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
55146         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55147         HAVE_GETDOMAINNAME.
55148         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55149         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
55150         * modules/getdomainname (Files): Remove lib/getdomainname.h.
55151         (Depends-on): Add unistd, extensions.
55152         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55153         (Includes): Specify <unistd.h> instead of getdomainname.h.
55154         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
55155         HAVE_GETDOMAINNAME.
55156         * NEWS: Mention the change.
55157
55158 2008-10-18  Bruno Haible  <bruno@clisp.org>
55159
55160         * modules/dirent: New file.
55161         * m4/dirent_h.m4: New file.
55162         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
55163         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
55164         * modules/fchdir (Files): Remove lib/dirent.in.h.
55165         (Depends-on): Add dirent.
55166         (Makefile.am): Move rules to modules/dirent.
55167         * doc/posix-headers/dirent.texi: Mention the new module.
55168
55169 2008-10-18  Bruno Haible  <bruno@clisp.org>
55170
55171         Avoid -Wunused-parameter warnings in public gnulib header files.
55172         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
55173         macro.
55174         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
55175
55176 2008-10-18  Bruno Haible  <bruno@clisp.org>
55177
55178         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
55179         * doc/glibc-functions/error.texi: Mention the module 'error'.
55180         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
55181         * doc/glibc-functions/getdomainname.texi: Mention the module
55182         'getdomainname'.
55183         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
55184         * doc/glibc-functions/getpagesize.texi: Mention the module
55185         'getpagesize'.
55186         * doc/glibc-functions/getusershell.texi: Mention the module
55187         'getusershell'.
55188         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
55189         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
55190         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
55191         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
55192         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
55193         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
55194         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
55195         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
55196         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
55197         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
55198         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
55199         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
55200         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
55201         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
55202
55203 2008-10-17  Bruno Haible  <bruno@clisp.org>
55204
55205         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
55206         HP-UX and IRIX, use -0.0L.
55207         * tests/test-ceill.c (minus_zero): Likewise.
55208         * tests/test-floorl.c (minus_zero): Likewise.
55209         * tests/test-frexpl.c (minus_zero): Likewise.
55210         * tests/test-isnan.c (minus_zerol): Likewise.
55211         * tests/test-isnanl.h (minus_zero): Likewise.
55212         * tests/test-ldexpl.c (minus_zero): Likewise.
55213         * tests/test-roundl.c (minus_zero): Likewise.
55214         * tests/test-signbit.c (minus_zerol): Likewise.
55215         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
55216         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
55217         * tests/test-truncl.c (minus_zero): Likewise.
55218         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
55219         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
55220         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
55221         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
55222
55223 2008-10-17  Bruno Haible  <bruno@clisp.org>
55224
55225         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
55226         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
55227         that it gets activated only for gcc >= 3.0.
55228         * lib/dirent.in.h: Likewise.
55229         * lib/errno.in.h: Likewise.
55230         * lib/fcntl.in.h: Likewise.
55231         * lib/float.in.h: Likewise.
55232         * lib/iconv.in.h: Likewise.
55233         * lib/inttypes.in.h: Likewise.
55234         * lib/locale.in.h: Likewise.
55235         * lib/math.in.h: Likewise.
55236         * lib/netdb.in.h: Likewise.
55237         * lib/netinet_in.in.h: Likewise.
55238         * lib/search.in.h: Likewise.
55239         * lib/signal.in.h: Likewise.
55240         * lib/spawn.in.h: Likewise.
55241         * lib/stdarg.in.h: Likewise.
55242         * lib/stdint.in.h: Likewise.
55243         * lib/stdio.in.h: Likewise.
55244         * lib/stdlib.in.h: Likewise.
55245         * lib/string.in.h: Likewise.
55246         * lib/strings.in.h: Likewise.
55247         * lib/sys_file.in.h: Likewise.
55248         * lib/sys_ioctl.in.h: Likewise.
55249         * lib/sys_select.in.h: Likewise.
55250         * lib/sys_socket.in.h: Likewise.
55251         * lib/sys_stat.in.h: Likewise.
55252         * lib/sys_time.in.h: Likewise.
55253         * lib/sysexits.in.h: Likewise.
55254         * lib/time.in.h: Likewise.
55255         * lib/unistd.in.h: Likewise.
55256         * lib/wchar.in.h: Likewise.
55257         * lib/wctype.in.h: Likewise.
55258         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55259
55260 2008-10-17  Jim Meyering  <meyering@redhat.com>
55261
55262         ignore-value: don't depend on inline module
55263         * modules/ignore-value (Depends-on): Remove 'inline'.
55264         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
55265         Suggestion from Bruno Haible.
55266
55267 2008-10-17  Bruno Haible  <bruno@clisp.org>
55268
55269         New implementation of condition variables for Win32.
55270         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
55271         (gl_linked_waitqueue_t): New type.
55272         (gl_cond_t): Use it.
55273         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
55274         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
55275         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
55276         (glthread_cond_init_func, glthread_cond_wait_func,
55277         glthread_cond_timedwait_func, glthread_cond_signal_func,
55278         glthread_cond_broadcast_func, glthread_cond_destroy_func):
55279         Reimplemented on the basis of gl_linked_waitqueue_t.
55280         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
55281         gl_waitqueue_t.
55282         (gl_rwlock_t): Update.
55283         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
55284
55285 2008-10-17  Simon Josefsson  <simon@josefsson.org>
55286
55287         * modules/recvfrom (Depends-on): Add dependency on getpeername.
55288         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55289
55290 2008-10-17  Jim Meyering  <meyering@redhat.com>
55291
55292         ignore-value: new module
55293         * modules/ignore-value: New file.
55294         * lib/ignore-value.h: New file.
55295         * MODULES.html.sh (Compiler warning management): New section,
55296         just for this module.  More to come.
55297
55298 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55299
55300         open-safer.c: avoid 'signed and unsigned in conditional...' warning
55301         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
55302         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
55303
55304 2008-10-16  Jim Meyering  <meyering@redhat.com>
55305
55306         openat-die.c: avoid 'no previous prototype' warning
55307         * lib/openat-die.c: Include "openat.h".
55308         Reported by Reuben Thomas <rrt@sc3d.org>.
55309
55310 2008-10-16  Simon Josefsson  <simon@josefsson.org>
55311
55312         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
55313         * lib/netdb.in.h: Fix typo.
55314         Reported by Bruno Haible  <bruno@clisp.org>
55315
55316         * lib/netdb.in.h: Include sys/socket.h for platforms without
55317         netdb.h, to get structures like hostent on MinGW.
55318         * modules/netdb (Depends-on): Add sys_socket.
55319
55320 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55321
55322         * modules/netdb, modules/netdb-tests: New file.
55323         * m4/netdb_h.m4: New file.
55324         * lib/netdb.in.h: Add, currently just an empty file pending
55325         definitions.
55326         * tests/test-netdb.c: New file.
55327         * doc/posix-headers/netdb.texi: Mention that we replace it if
55328         needed.
55329         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55330         netdb.
55331
55332 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55333
55334         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
55335         with code.
55336
55337 2008-10-13  Bruno Haible  <bruno@clisp.org>
55338
55339         * lib/glthread/cond.c (glthread_cond_wait_func,
55340         glthread_cond_timedwait_func): Add a comment.
55341
55342 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55343
55344         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
55345         * tests/test-select.c: Likewise,
55346
55347 2008-10-13  Bruno Haible  <bruno@clisp.org>
55348
55349         * lib/glthread/cond.c (glthread_cond_wait_func,
55350         glthread_cond_timedwait_func): Fix variable name.
55351         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55352
55353 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
55354
55355         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
55356         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
55357         struct sockaddr.sa_len.
55358         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
55359
55360 2008-10-13  Simon Josefsson  <simon@josefsson.org>
55361
55362         * build-aux/pmccabe2html: Add css and css_url parameters.
55363
55364 2008-10-12  Bruno Haible  <bruno@clisp.org>
55365
55366         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
55367         calling aclx_get.
55368         Reported by Rainer Tammer <tammer@tammer.net>.
55369
55370 2008-10-12  Bruno Haible  <bruno@clisp.org>
55371
55372         Use msvcrt aware primitives for creation/termination of Win32 threads.
55373         * lib/glthread/thread.c: Include <process.h>.
55374         (glthread_create_func): Use _beginthreadex instead of CreateThread.
55375         (wrapper_func): Update signature.
55376         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
55377
55378 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55379             Bruno Haible  <bruno@clisp.org>
55380
55381         Provide a Win32 implementation of the 'cond' module.
55382         * lib/glthread/cond.h [USE_WIN32]: New implementation.
55383         * lib/glthread/cond.c (glthread_cond_init_func,
55384         glthread_cond_wait_func, glthread_cond_timedwait_func,
55385         glthread_cond_signal_func, glthread_cond_broadcast_func,
55386         glthread_cond_destroy_func) [USE_WIN32]: New functions.
55387         * modules/cond (Dependencies): Add gettimeofday.
55388
55389 2008-10-11  Bruno Haible  <bruno@clisp.org>
55390
55391         Make sleep work on older versions of mingw.
55392         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
55393         only whether it exists.
55394         * doc/posix-functions/sleep.texi: Mention the problem with older
55395         versions of mingw.
55396
55397 2008-10-11  Bruno Haible  <bruno@clisp.org>
55398
55399         New module 'shutdown'.
55400         * modules/shutdown: New file.
55401         * lib/sys_socket.in.h (shutdown): New declaration.
55402         * lib/winsock.c (shutdown): New function.
55403         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
55404         GNULIB_SHUTDOWN.
55405         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
55406         * doc/posix-functions/shutdown.texi: Document the new module.
55407
55408 2008-10-11  Jim Meyering  <meyering@redhat.com>
55409
55410         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
55411
55412 2008-10-11  Bruno Haible  <bruno@clisp.org>
55413
55414         New module 'fclose'.
55415         * modules/fclose: New file.
55416         * lib/stdio.in.h (fclose): New declaration.
55417         * lib/fclose.c: New file.
55418         * m4/fclose.m4: New file.
55419         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
55420         REPLACE_FCLOSE.
55421         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
55422         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
55423         REPLACE_FCLOSE.
55424         * modules/close (Depends-on): fclose.
55425         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
55426
55427 2008-10-11  Bruno Haible  <bruno@clisp.org>
55428
55429         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
55430         set errno and don't call _close.
55431
55432 2008-10-10  Bruno Haible  <bruno@clisp.org>
55433
55434         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
55435         ACL, not afterwards. Fixes test failure on Cygwin.
55436
55437 2008-10-09  Ben Pfaff  <blp@gnu.org>
55438
55439         * build-aux/announce-gen: Fix gnulib version related part of usage
55440         message.  Die with a useful error message if no tarballs are
55441         found.
55442
55443 2008-10-10  Jim Meyering  <meyering@redhat.com>
55444
55445         bootstrap: use git's --depth=N option only if it's supported
55446         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
55447         recognize the --depth option.  Reported by Pádraig Brady.
55448
55449 2008-10-09  Bruno Haible  <bruno@clisp.org>
55450
55451         New module 'ioctl'.
55452         * modules/ioctl: New file.
55453         * lib/sys_socket.in.h (ioctl): Remove declaration.
55454         * lib/winsock.c: Include <sys/ioctl.h>.
55455         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
55456         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55457         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
55458         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
55459         * doc/posix-functions/ioctl.texi: Mention the new module.
55460
55461 2008-10-09  Bruno Haible  <bruno@clisp.org>
55462
55463         New module 'sys_ioctl'.
55464         * lib/sys_ioctl.in.h: New file.
55465         * m4/sys_ioctl_h.m4: New file.
55466         * modules/sys_ioctl: New file.
55467         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
55468
55469 2008-10-09  Bruno Haible  <bruno@clisp.org>
55470
55471         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
55472         * lib/winsock.c: Include <stdarg.h>.
55473         (rpl_ioctl): Change to second argument 'int' and then varargs.
55474
55475 2008-10-09  Bruno Haible  <bruno@clisp.org>
55476
55477         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
55478         when the sys_socket module is present and the system has <winsock2.h>.
55479
55480 2008-10-09  Bruno Haible  <bruno@clisp.org>
55481
55482         * doc/posix-functions/close.texi: Mention module 'close' instead of
55483         module 'sys_socket'.
55484
55485 2008-10-09  Bruno Haible  <bruno@clisp.org>
55486
55487         * doc/glibc-headers/sys_ioctl.texi: New file.
55488         * doc/gnulib.texi: Include it.
55489
55490 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55491             Bruno Haible  <bruno@clisp.org>
55492
55493         Combine the two replacements of 'close'.
55494         * lib/sys_socket.in.h (close): Define to a reminder to include
55495         <unistd.h>.
55496         (_gl_close_fd_maybe_socket): New declaration.
55497         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
55498         * lib/winsock.c (close): Remove undefinition.
55499         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
55500         needed for the gnulib module 'close'.
55501         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
55502         define to an error symbol or to a warning, if suitable.
55503         * lib/close.c: Include <sys/socket.h>.
55504         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
55505         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
55506         UNISTD_H_HAVE_WINSOCK2_H.
55507         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
55508         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55509         UNISTD_H_HAVE_WINSOCK2_H.
55510         * modules/sys_socket (Files): Add m4/unistd_h.m4.
55511         (configure.ac): Set a module indicator.
55512         (Makefile.am): Substitute GNULIB_CLOSE.
55513         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
55514         * modules/poll-tests (Depends-on): Add close.
55515         * modules/select-tests (Depends-on): Likewise.
55516
55517 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55518             Bruno Haible  <bruno@clisp.org>
55519
55520         New module 'close'.
55521         * modules/close: New file.
55522         * lib/unistd.in.h (close): Move declaration out of the
55523         FCHDIR_REPLACEMENT scope.
55524         (_gl_unregister_fd): New declaration.
55525         * lib/close.c: New file.
55526         * lib/fchdir.c (rpl_close): Remove function.
55527         * m4/close.m4: New file.
55528         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55529         close.
55530         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
55531         REPLACE_CLOSE.
55532         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
55533         REPLACE_CLOSE.
55534         * modules/fchdir (Depends-on): Add close.
55535
55536 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55537             Bruno Haible  <bruno@clisp.org>
55538
55539         * lib/fcntl.in.h (open): Simplify conditionals.
55540         (_gl_register_fd): New declaration.
55541         * lib/fchdir.c (rpl_open): Remove function.
55542         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
55543         also.
55544         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
55545         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55546         open.
55547
55548 2008-10-09  Jim Meyering  <meyering@redhat.com>
55549
55550         GNUmakefile: use the more name-space-friendly "_version"
55551         * top/GNUmakefile (_dummy): Update.
55552         (_version): Rename from "version".
55553
55554 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55555             Bruno Haible  <bruno@clisp.org>
55556
55557         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
55558         rpl_close.
55559         (_gl_register_fd): New function, extracted from rpl_open.
55560         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
55561         (rpl_open, rpl_opendir): Use _gl_register_fd.
55562
55563 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55564
55565         Fix organization of 'open' replacement.
55566         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
55567         (gl_FUNC_OPEN): Use it.
55568         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
55569
55570 2008-10-08  Bruno Haible  <bruno@clisp.org>
55571
55572         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
55573
55574 2008-10-08  Simon Josefsson  <simon@josefsson.org>
55575
55576         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
55577         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
55578         listen).
55579
55580 2008-10-08  Eric Blake  <ebb9@byu.net>
55581
55582         GNUmakefile: add 'make version' target
55583         * top/GNUmakefile (_curr-ver): Split version update rules...
55584         (version): ...into a target.
55585
55586 2008-10-07  Bruno Haible  <bruno@clisp.org>
55587
55588         Use a more portable replacement expression for -0.0L.
55589         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
55590         instead of -0.0L. Fix m4 quotation.
55591
55592         * tests/test-signbit.c: Include <float.h>.
55593         (minus_zero): New variable.
55594         (test_signbitl): Use minus_zero instead of -zero.
55595         * modules/signbit-tests (Depends-on): Add float.
55596
55597         * tests/test-ceill.c: Include <float.h>.
55598         (zero): Remove variable.
55599         (minus_zero): New variable.
55600         (main): Use minus_zero instead of -zero.
55601         * modules/ceill-tests (Depends-on): Add float.
55602
55603         * tests/test-floorl.c: Include <float.h>.
55604         (zero): Remove variable.
55605         (minus_zero): New variable.
55606         (main): Use minus_zero instead of -zero.
55607         * modules/floorl-tests (Depends-on): Add float.
55608
55609         * tests/test-roundl.c: Include <float.h>.
55610         (zero): Remove variable.
55611         (minus_zero): New variable.
55612         (main): Use minus_zero instead of -zero.
55613         * modules/roundl-tests (Depends-on): Add float.
55614
55615         * tests/test-truncl.c: Include <float.h>.
55616         (zero): Remove variable.
55617         (minus_zero): New variable.
55618         (main): Use minus_zero instead of -zero.
55619         * modules/truncl-tests (Depends-on): Add float.
55620
55621         * tests/test-frexpl.c (zero): Remove variable.
55622         (minus_zero): New variable.
55623         (main): Use minus_zero instead of -zero.
55624         * modules/frexpl-tests (Depends-on): Add float.
55625
55626         * tests/test-isnan.c (zerol): Remove variable.
55627         (minus_zerol): New variable.
55628         (test_long_double): Use minus_zerol instead of -zerol.
55629         * modules/isnan-tests (Depends-on): Add float.
55630
55631         * tests/test-isnanl.h (zero): Remove variable.
55632         (minus_zero): New variable.
55633         (main): Use minus_zero instead of -zero.
55634         * modules/isnanl-nolibm-tests (Depends-on): Add float.
55635         * modules/isnanl-tests (Depends-on): Add float.
55636
55637         * tests/test-ldexpl.c (zero): Remove variable.
55638         (minus_zero): New variable.
55639         (main): Use minus_zero instead of -zero.
55640         * modules/ldexpl-tests (Depends-on): Add float.
55641
55642         * tests/test-snprintf-posix.h (zerol): Remove variable.
55643         (minus_zerol): New variable.
55644         (test_function): Use minus_zerol instead of -zerol.
55645         * modules/snprintf-posix-tests (Depends-on): Add float.
55646         * modules/vsnprintf-posix-tests (Depends-on): Add float.
55647
55648         * tests/test-sprintf-posix.h (zerol): Remove variable.
55649         (minus_zerol): New variable.
55650         (test_function): Use minus_zerol instead of -zerol.
55651         * modules/sprintf-posix-tests (Depends-on): Add float.
55652         * modules/vsprintf-posix-tests (Depends-on): Add float.
55653
55654         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
55655         (minus_zerol): New variable.
55656         (test_function): Use minus_zerol instead of -zerol.
55657         * modules/vasnprintf-posix-tests (Depends-on): Add float.
55658
55659         * tests/test-vasprintf-posix.c (zerol): Remove variable.
55660         (minus_zerol): New variable.
55661         (test_function): Use minus_zerol instead of -zerol.
55662         * modules/vasprintf-posix-tests (Depends-on): Add float.
55663
55664 2008-10-07  Simon Josefsson  <simon@josefsson.org>
55665
55666         * MODULES.html.sh (Support for building documentation): Mention
55667         pmccabe2html.  Sort entries.
55668
55669         Add pmccabe2html module, from gnupdf.
55670         * build-aux/pmccabe.css: New file.
55671         * build-aux/pmccabe2html: New file.
55672         * m4/pmccabe2html.m4: New file.
55673         * modules/pmccabe2html: New file.
55674
55675 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
55676
55677         flock: new module
55678         * MODULES.html.sh: Add to list of modules.
55679         * lib/flock.c: flock implementation for Windows and Unix systems
55680         which have fcntl.
55681         * doc/glibc-functions/flock.texi: Update documentation.
55682         * lib/sys_file.in.h: <sys/file.h> header file.
55683         * m4/flock.m4: M4 macros.
55684         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
55685         * modules/flock: flock module.
55686         * modules/flock-tests: flock tests module.
55687         * modules/sys_file: sys/file.h module.
55688         * tests/test-flock.c: test suite for flock.
55689
55690 2008-10-06  Jim Meyering  <meyering@redhat.com>
55691
55692         bootstrap: check for LT_INIT more portably still ;-)
55693         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
55694         Spotted by Bruno Haible.
55695
55696 2008-10-06  Eric Blake  <ebb9@byu.net>
55697
55698         test-signbit: avoid tripping Irix cc bug on -0.0L
55699         * tests/test-signbit.c (minus_zerol): Delete, and replace with
55700         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
55701         entire testsuite consistent and avoids an Irix 6.2 bug.
55702
55703 2008-10-05  Bruno Haible  <bruno@clisp.org>
55704             Jim Meyering  <jim@meyering.net>
55705
55706         Add an option for ignoring EPIPE during close_stdout.
55707         * lib/closeout.h: Include <stdbool.h>.
55708         (close_stdout_set_ignore_EPIPE): New declaration.
55709         * lib/closeout.c: Include <stdbool.h>.
55710         (ignore_EPIPE): New variable.
55711         (close_stdout_set_ignore_EPIPE): New function.
55712         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
55713         * lib/close-stream.c (close_stream): Mention the possible EPIPE
55714         failure.
55715         * modules/closeout (Depends-on): Add stdbool.
55716
55717 2008-10-05  Bruno Haible  <bruno@clisp.org>
55718
55719         * modules/accept: New file.
55720         * modules/bind: New file.
55721         * modules/connect: New file.
55722         * modules/getpeername: New file.
55723         * modules/getsockname: New file.
55724         * modules/getsockopt: New file.
55725         * modules/listen: New file.
55726         * modules/recv: New file.
55727         * modules/recvfrom: New file.
55728         * modules/send: New file.
55729         * modules/sendto: New file.
55730         * modules/setsockopt: New file.
55731         * modules/socket: New file.
55732         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
55733         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
55734         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
55735         the particular module is requested. Add a link warning when the
55736         particular module is not requested.
55737         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
55738         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
55739         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
55740         the particular module is requested.
55741         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
55742         gl_SYS_SOCKET_H_DEFAULTS): New macros.
55743         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
55744         * modules/sys_socket (Depends-on): Add link-warning.
55745         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
55746         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
55747         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
55748         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
55749         GL_LINK_WARNING.
55750         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
55751         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
55752         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
55753         * doc/posix-functions/getpeername.texi: Mention the new module
55754         'getpeername'.
55755         * doc/posix-functions/getsockname.texi: Mention the new module
55756         'getsockname'.
55757         * doc/posix-functions/getsockopt.texi: Mention the new module
55758         'getsockopt'.
55759         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
55760         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
55761         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
55762         * doc/posix-functions/send.texi: Mention the new module 'send'.
55763         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
55764         * doc/posix-functions/setsockopt.texi: Mention the new module
55765         'setsockopt'.
55766         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
55767         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
55768         listen, connect, accept.
55769         * modules/select-tests (Depends-on): Likewise.
55770
55771 2008-10-05  Bruno Haible  <bruno@clisp.org>
55772
55773         * lib/winsock.c (strerror): Remove unused #undef.
55774         (rpl_close): Remove unused local variable.
55775
55776         * modules/sys_socket (Depends-on); Add errno.
55777
55778 2008-10-05  Bruno Haible  <bruno@clisp.org>
55779
55780         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
55781         (select): Add a link warning when the 'select' module is not used.
55782         * modules/sys_select (Depends-on): Add link-warning.
55783         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
55784         Suggested by Paolo Bonzini.
55785
55786 2008-10-05  Jim Meyering  <meyering@redhat.com>
55787
55788         bootstrap: check for LT_INIT more portably
55789         * build-aux/bootstrap: Avoid using grep -E, since it's not
55790         portable enough.  Suggestion from Bruno Haible.
55791
55792 2008-10-05  Bruno Haible  <bruno@clisp.org>
55793
55794         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
55795         as being fixed by gnulib.
55796
55797 2008-10-05  Bruno Haible  <bruno@clisp.org>
55798
55799         * modules/select-tests: New file, mostly copied from
55800         modules/sys_select-tests.
55801         * tests/test-select.c: New file, mostly copied from
55802         tests/test-sys_select.c.
55803         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
55804         * modules/sys_select-tests (Depends-on): Remove all dependencies.
55805         (Makefile.am): Remove test_sys_select_LDADD.
55806
55807         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
55808         to an undefined symbol, for an error message.
55809         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
55810         (gl_SYS_SELECT_H_DEFAULTS): New macro.
55811         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
55812         winsock-select.c here.
55813         * modules/sys_select (Files): Remove lib/winsock-select.c.
55814         (Depends-on): Remove alloca.
55815         (Makefile.am): Substitute GNULIB_SELECT.
55816         * modules/select: New file.
55817         * doc/posix-functions/select.texi: Update.
55818
55819 2008-10-05  Bruno Haible  <bruno@clisp.org>
55820
55821         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
55822         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
55823         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
55824         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
55825         getdtablesize.
55826         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
55827         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
55828
55829 2008-10-05  Bruno Haible  <bruno@clisp.org>
55830
55831         * modules/getdtablesize-tests: New file.
55832         * tests/test-getdtablesize.c: New file.
55833
55834         New module 'getdtablesize'.
55835         * lib/unistd.in.h (getdtablesize): New declaration.
55836         * lib/getdtablesize.c: New file.
55837         * m4/getdtablesize.m4: New file.
55838         * modules/getdtablesize: New file.
55839         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55840         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
55841         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
55842         HAVE_GETDTABLESIZE.
55843         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
55844
55845 2008-10-05  Bruno Haible  <bruno@clisp.org>
55846
55847         * modules/sched (Makefile.am): Fix typo.
55848         Reported by Simon Josefsson.
55849
55850 2008-10-05  Jim Meyering  <meyering@redhat.com>
55851
55852         bootstrap: check for LT_INIT, too
55853         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
55854         are deprecated.  Suggestion from Ralf Wildenhues.
55855
55856 2008-10-05  Bruno Haible  <bruno@clisp.org>
55857
55858         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
55859         overriding them by ours.
55860         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
55861
55862 2008-10-05  Jim Meyering  <meyering@redhat.com>
55863
55864         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
55865         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
55866         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
55867
55868 2008-10-04  Bruno Haible  <bruno@clisp.org>
55869
55870         * modules/dup2 (License): Change to LGPLv2+.
55871         * modules/sleep (License): Likewise.
55872         * modules/perror (License): Likewise.
55873         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
55874         Blake.
55875         * modules/signal (License): Likewise.
55876         * modules/sigprocmask (License): Likewise.
55877         * modules/raise (License): Change to LGPLv2+, with approval by Jim
55878         Meyering.
55879
55880 2008-10-04  Bruno Haible  <bruno@clisp.org>
55881
55882         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
55883         Reported by Rainer Tammer <tammer@tammer.net>.
55884
55885 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
55886             Bruno Haible  <bruno@clisp.org>
55887
55888         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
55889         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
55890         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
55891
55892 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
55893
55894         filevercmp: new module
55895         * lib/filevercmp.h: New function filevercmp comparing version strings.
55896         * lib/filevercmp.c: Implementation of filevercmp function.
55897         * modules/filevercmp: Module metadata.
55898         * tests/test-filevercmp.c: Unit test for new module.
55899         * modules/filevercmp-tests: Unit test metadata.
55900         * MODULES.html.sh: Add filevercmp module.
55901
55902 2008-10-03  Bruno Haible  <bruno@clisp.org>
55903
55904         * lib/c-ctype.h: Add comment.
55905         Reported by Jim Meyering.
55906
55907 2008-10-02  Bruno Haible  <bruno@clisp.org>
55908
55909         * modules/posix_spawn-internal (Depends-on): Add 'open'.
55910
55911 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55912
55913         * build-aux/bootstrap: Allow renaming bootstrap, and change the
55914         name of bootstrap.conf accordingly.
55915
55916 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55917
55918         * build-aux/bootstrap: Install git-merge-changelog configuration
55919         items into .gitconfig if needed.
55920
55921 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55922
55923         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
55924         git repository, and initialize/update it accordingly.
55925
55926 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
55927
55928         * modules/fsync-tests: New file.
55929         * tests/test-fsync.c: New file.
55930
55931         New module 'fsync'.
55932         * lib/fsync.c: New file.
55933         * m4/fsync.m4: New file.
55934         * modules/fsync: New file.
55935         * lib/unistd.in.h (fsync): New declaration.
55936         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
55937         GNULIB_FSYNC and HAVE_FSYNC.
55938         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
55939         * MODULES.html.sh (posix_functions): Add fsync.
55940         * doc/posix-functions/fsync.texi: Mention the new module.
55941
55942 2008-10-02  Jim Meyering  <meyering@redhat.com>
55943
55944         fts.c: sync with similar code from coreutils' remove.c
55945         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
55946         Guard also with "#if defined __linux__", since for now at least,
55947         this code is Linux-kernel-specific.
55948
55949 2008-10-02  Jim Meyering  <meyering@redhat.com>
55950
55951         fts: bug fixes
55952         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
55953         Include <sys/vfs.h>, not <sys/statfs.h>.
55954
55955         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
55956         Include <sys/vfs.h>, not <sys/statfs.h>.
55957
55958 2008-10-01  Bruno Haible  <bruno@clisp.org>
55959
55960         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
55961         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
55962         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
55963         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
55964         * doc/posix-functions/posix_spawnp.texi: Likewise.
55965         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
55966         whether posix_spawn actually works.
55967         * m4/pipe.m4 (gl_PIPE): Likewise.
55968         * modules/execute (Files): Add m4/posix_spawn.m4.
55969         * modules/pipe (Files): Add m4/posix_spawn.m4.
55970         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
55971
55972 2008-10-01  Jim Meyering  <meyering@redhat.com>
55973
55974         remove trailing spaces
55975         * NEWS: Likewise.
55976         * lib/poll.c (poll): Likewise.
55977         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
55978         * lib/winsock.c (rpl_close): Likewise.
55979         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
55980         * modules/yield: Likewise.
55981         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
55982         * tests/test-sys_select.c (connect_to_socket): Likewise.
55983
55984         fts.c: adjust a new interface to be more generally useful
55985         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
55986         (fts_build): Adjust caller.
55987
55988 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55989
55990         * modules/cond-tests: New file.
55991         * tests/test-cond.c: New file.
55992
55993 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55994             Bruno Haible  <bruno@clisp.org>
55995
55996         * modules/cond (Dependencies): Add errno, time.
55997         * lib/glthread/cond.h: Include <time.h>.
55998         (gl_cond_define, gl_cond_define_initialized): Use the same definition
55999         across platforms.
56000
56001 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56002             Bruno Haible  <bruno@clisp.org>
56003
56004         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
56005
56006 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56007             Bruno Haible  <bruno@clisp.org>
56008
56009         * modules/tls-tests (Depends-on): Add thread, yield.
56010         (configure.ac): Remove all checks.
56011         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
56012         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56013         gl_thread_self): Remove definitions. Include glthread/thread.h and
56014         glthread/yield.h instead.
56015         (test_tls): Pass an additional NULL argument to gl_thread_join.
56016
56017 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56018             Bruno Haible  <bruno@clisp.org>
56019
56020         * modules/lock-tests (Depends-on): Add thread, yield.
56021         (configure.ac): Remove all checks.
56022         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
56023         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56024         gl_thread_self): Remove definitions. Include glthread/thread.h and
56025         glthread/yield.h instead.
56026         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
56027         additional NULL argument to gl_thread_join.
56028
56029 2008-09-30  Bruno Haible  <bruno@clisp.org>
56030
56031         Fix the Win32 implementation of the 'thread' module.
56032         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
56033         pointer type.
56034         (gl_thread_self): Invoke gl_thread_self_func.
56035         (gl_thread_self_func): New declaration.
56036         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
56037         (do_init_self_key, init_self_key): New functions.
56038         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
56039         Remove some fields.
56040         (running_threads, running_lock): Remove variables.
56041         (get_current_thread_handle): New function.
56042         (gl_thread_self_func, wrapper_func, glthread_create_func,
56043         glthread_join_func, gl_thread_exit_func): Largely rewritten and
56044         simplified.
56045
56046 2008-09-30  Bruno Haible  <bruno@clisp.org>
56047
56048         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
56049         files.
56050
56051 2008-09-30  Jim Meyering  <meyering@redhat.com>
56052
56053         fts.m4: correct the test for statfs.f_type
56054         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
56055         when checking for statfs.f_type.
56056
56057 2008-09-15  Simon Josefsson  <simon@josefsson.org>
56058
56059         tests: avoid some compiler warnings
56060         * tests/test-memchr.c (main): Pass NULL indirectly.
56061         * tests/test-getdate.c (main): Remove unused variable 'ret'.
56062
56063 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
56064
56065         getdate.y: disallow countable dayshifts like "4 yesterday ago"
56066         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
56067         exactly specified dayshifts.
56068         (dayshift): New rule.
56069         (rel): Add dayshift.
56070         (relative_time_table) [tomorrow, yesterday, today, now]:
56071         Use tDAY_SHIFT in place of tDAY_UNIT.
56072         * tests/test-getdate.c: Add tests for now-disallowed countable
56073         dayshifts, e.g., "4 yesterday ago".
56074
56075 2008-09-29  Bruno Haible  <bruno@clisp.org>
56076
56077         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
56078         * tests/test-posix_spawn1.in.sh: Renamed from
56079         tests/test-posix_spawn.in.sh.
56080         * tests/test-posix_spawn2.c: New file.
56081         * tests/test-posix_spawn2.in.sh: New file.
56082         * modules/posix_spawnp-tests (Files): Update.
56083         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
56084
56085 2008-09-29  Bruno Haible  <bruno@clisp.org>
56086
56087         Propagate effects of putenv/setenv/unsetenv to child processes.
56088         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
56089         * lib/pipe.c (create_pipe): Likewise.
56090
56091 2008-09-29  Bruno Haible  <bruno@clisp.org>
56092
56093         Enable use of shell scripts as executables in mingw.
56094         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
56095         run the program as a shell script.
56096         * lib/pipe.c (create_pipe): Likewise.
56097         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
56098         resulting array.
56099
56100 2008-09-29  Eric Blake  <ebb9@byu.net>
56101
56102         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
56103
56104 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
56105
56106         * doc/posix-functions/accept.texi: Update mingw problems.
56107         * doc/posix-functions/bind.texi: Update mingw problems.
56108         * doc/posix-functions/close.texi: Update mingw problems.
56109         * doc/posix-functions/connect.texi: Update mingw problems.
56110         * doc/posix-functions/getpeername.texi: Update mingw problems.
56111         * doc/posix-functions/getsockname.texi: Update mingw problems.
56112         * doc/posix-functions/getsockopt.texi: Update mingw problems.
56113         * doc/posix-functions/ioctl.texi: Update mingw problems.
56114         * doc/posix-functions/listen.texi: Update mingw problems.
56115         * doc/posix-functions/recv.texi: Update mingw problems.
56116         * doc/posix-functions/recvfrom.texi: Update mingw problems.
56117         * doc/posix-functions/select.texi: Update mingw problems.
56118         * doc/posix-functions/send.texi: Update mingw problems.
56119         * doc/posix-functions/sendto.texi: Update mingw problems.
56120         * doc/posix-functions/setsockopt.texi: Update mingw problems.
56121         * doc/posix-functions/socket.texi: Update mingw problems.
56122
56123 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
56124             Bruno Haible  <bruno@clisp.org>
56125
56126         * lib/sys_select.in.h: Include sys/time.h.
56127         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
56128         * modules/sys_select: Depend on sys_time.
56129         * tests/test-sys_select.c: Test that sys/select.h defines struct
56130         timeval fully.
56131
56132 2008-09-29  Bruno Haible  <bruno@clisp.org>
56133
56134         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
56135         * lib/sys_select.in.h: Likewise.
56136
56137 2008-09-29  Bruno Haible  <bruno@clisp.org>
56138
56139         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
56140
56141 2008-09-29  Bruno Haible  <bruno@clisp.org>
56142
56143         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
56144         Set LIBSOCKET instead of augmenting LIBS.
56145         * modules/sockets (Link): New section.
56146         * modules/sockets-tests (test_sockets_LDADD): New variable.
56147         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
56148         * modules/poll-tests (test_poll_LDADD): New variable.
56149         * NEWS: Document the change.
56150
56151 2008-09-29  Bruno Haible  <bruno@clisp.org>
56152
56153         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
56154         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
56155         ARPA_INET_H directly.
56156         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56157
56158 2008-09-28  Bruno Haible  <bruno@clisp.org>
56159
56160         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
56161         from gl_HEADER_SYS_SOCKET.
56162         (gl_HEADER_SYS_SOCKET): Invoke it.
56163         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56164
56165 2008-09-28  Bruno Haible  <bruno@clisp.org>
56166
56167         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
56168         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
56169         Needed on OSF/1 4.0.
56170
56171 2008-09-28  Bruno Haible  <bruno@clisp.org>
56172
56173         Override open more carefully.
56174         * lib/open.c (orig_open): New function.
56175         (rpl_open): Use orig_open instead of open.
56176         * lib/fcntl.in.h: Add special invocation convention.
56177         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
56178         (gl_FUNC_OPEN): Invoke it.
56179
56180         Override freopen more carefully.
56181         * lib/freopen.c (orig_freopen): New function.
56182         (rpl_freopen): Use orig_freopen instead of freopen.
56183         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
56184         (gl_FUNC_FREOPEN): Invoke it.
56185
56186         Override fopen more carefully.
56187         * lib/fopen.c (orig_fopen): New function.
56188         (rpl_fopen): Use orig_fopen instead of fopen.
56189         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
56190         (gl_FUNC_FOPEN): Invoke it.
56191         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
56192
56193 2008-09-28  Bruno Haible  <bruno@clisp.org>
56194
56195         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
56196         SIGPIPE.
56197
56198 2008-09-28  Bruno Haible  <bruno@clisp.org>
56199
56200         * tests/test-sigaction.c (handler, main): Disable the check whether
56201         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
56202         glibc systems with LinuxThreads.
56203
56204 2008-09-28  Bruno Haible  <bruno@clisp.org>
56205
56206         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
56207
56208         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
56209         with AIX xlc.
56210         * lib/fcntl.in.h (open): Likewise.
56211         Reported by Rainer Tammer <tammer@tammer.net>.
56212
56213 2008-09-28  Bruno Haible  <bruno@clisp.org>
56214
56215         * modules/posix_spawnp-tests: New file.
56216         * tests/test-posix_spawn.c: New file.
56217         * tests/test-posix_spawn.in.sh: New file.
56218
56219         New module 'posix_spawnp'.
56220         * modules/posix_spawnp: New file.
56221         * lib/spawnp.c: New file, from GNU libc with modifications.
56222         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
56223
56224         New module 'posix_spawn'.
56225         * modules/posix_spawn: New file.
56226         * lib/spawn.c: New file, from GNU libc with modifications.
56227         * doc/posix-functions/posix_spawn.texi: Mention the new module.
56228
56229         New module 'posix_spawnattr_destroy'.
56230         * modules/posix_spawnattr_destroy: New file.
56231         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
56232         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
56233         module.
56234
56235         New module 'posix_spawnattr_setsigmask'.
56236         * modules/posix_spawnattr_setsigmask: New file.
56237         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
56238         modifications.
56239         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
56240         new module.
56241
56242         New module 'posix_spawnattr_getsigmask'.
56243         * modules/posix_spawnattr_getsigmask: New file.
56244         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
56245         modifications.
56246         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
56247         new module.
56248
56249         New module 'posix_spawnattr_setsigdefault'.
56250         * modules/posix_spawnattr_setsigdefault: New file.
56251         * lib/spawnattr_setdefault.c: New file, from GNU libc with
56252         modifications.
56253         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
56254         new module.
56255
56256         New module 'posix_spawnattr_getsigdefault'.
56257         * modules/posix_spawnattr_getsigdefault: New file.
56258         * lib/spawnattr_getdefault.c: New file, from GNU libc with
56259         modifications.
56260         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
56261         new module.
56262
56263         New module 'posix_spawnattr_setschedpolicy'.
56264         * modules/posix_spawnattr_setschedpolicy: New file.
56265         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
56266         modifications.
56267         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
56268         new module.
56269
56270         New module 'posix_spawnattr_getschedpolicy'.
56271         * modules/posix_spawnattr_getschedpolicy: New file.
56272         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
56273         modifications.
56274         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
56275         new module.
56276
56277         New module 'posix_spawnattr_setschedparam'.
56278         * modules/posix_spawnattr_setschedparam: New file.
56279         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
56280         modifications.
56281         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
56282         new module.
56283
56284         New module 'posix_spawnattr_getschedparam'.
56285         * modules/posix_spawnattr_getschedparam: New file.
56286         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
56287         modifications.
56288         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
56289         new module.
56290
56291         New module 'posix_spawnattr_setpgroup'.
56292         * modules/posix_spawnattr_setpgroup: New file.
56293         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
56294         modifications.
56295         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
56296         module.
56297
56298         New module 'posix_spawnattr_getpgroup'.
56299         * modules/posix_spawnattr_getpgroup: New file.
56300         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
56301         modifications.
56302         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
56303         module.
56304
56305         New module 'posix_spawnattr_setflags'.
56306         * modules/posix_spawnattr_setflags: New file.
56307         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
56308         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
56309         module.
56310
56311         New module 'posix_spawnattr_getflags'.
56312         * modules/posix_spawnattr_getflags: New file.
56313         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
56314         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
56315         module.
56316
56317         New module 'posix_spawnattr_init'.
56318         * modules/posix_spawnattr_init: New file.
56319         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
56320         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
56321         module.
56322
56323         New module 'posix_spawn_file_actions_destroy'.
56324         * modules/posix_spawn_file_actions_destroy: New file.
56325         * lib/spawn_faction_destroy.c: New file, from GNU libc with
56326         modifications.
56327         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
56328         the new module.
56329
56330         New module 'posix_spawn_file_actions_addopen'.
56331         * modules/posix_spawn_file_actions_addopen: New file.
56332         * lib/spawn_faction_addopen.c: New file, from GNU libc with
56333         modifications.
56334         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
56335         the new module.
56336
56337         New module 'posix_spawn_file_actions_adddup2'.
56338         * modules/posix_spawn_file_actions_adddup2: New file.
56339         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
56340         modifications.
56341         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
56342         the new module.
56343
56344         New module 'posix_spawn_file_actions_addclose'.
56345         * modules/posix_spawn_file_actions_addclose: New file.
56346         * lib/spawn_faction_addclose.c: New file, from GNU libc with
56347         modifications.
56348         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
56349         the new module.
56350
56351         New module 'posix_spawn_file_actions_init'.
56352         * modules/posix_spawn_file_actions_init: New file.
56353         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
56354         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
56355         new module.
56356
56357         New module 'posix_spawn-internal'.
56358         * modules/posix_spawn-internal: New file.
56359         * lib/spawn_int.h: New file, from GNU libc with modifications.
56360         * lib/spawni.c: New file, from GNU libc with modifications.
56361         * m4/posix_spawn.m4: New file.
56362
56363         New module 'spawn'.
56364         * modules/spawn: New file.
56365         * lib/spawn.in.h: New file, from GNU libc with modifications.
56366         * m4/spawn_h.m4: New file.
56367         * doc/posix-headers/spawn.texi: Mention the new module.
56368
56369 2008-09-28  Bruno Haible  <bruno@clisp.org>
56370
56371         * modules/sched-tests: New file.
56372         * tests/test-sched.c: New file.
56373
56374         New module 'sched'.
56375         * modules/sched: New file.
56376         * lib/sched.in.h: New file.
56377         * m4/sched_h.m4: New file.
56378         * doc/posix-headers/sched.texi: Mention the new module.
56379
56380 2008-09-27  Eric Blake  <ebb9@byu.net>
56381
56382         Fix previous patch, and tweak references to $0.
56383         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
56384         (func_version, func_gnulib_dir): Don't call this program
56385         gnulib-tool.
56386         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
56387         with using $0 in function.
56388         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
56389         (func_fatal_error): Reuse the name the user invoked us with.
56390
56391 2008-09-27  Bruno Haible  <bruno@clisp.org>
56392
56393         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
56394         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
56395         (gl_ICONV_H): Not here.
56396         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
56397         instead of assigning ICONV_H directly.
56398
56399         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
56400         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
56401         WCHAR_H directly.
56402
56403 2008-09-27  Bruno Haible  <bruno@clisp.org>
56404
56405         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
56406         * modules/arpa_inet (Depends-on): Add link-warning.
56407         (Makefile.am): Insert the definition of GL_LINK-WARNING.
56408         * modules/unistd (Makefile.am): Likewise.
56409
56410 2008-09-26  Bruno Haible  <bruno@clisp.org>
56411
56412         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
56413         variables.
56414         (func_version): Essentially copied from gnulib-tool.
56415         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
56416         func_readlink): Copied from gnulib-tool.
56417
56418 2008-09-26  Bruno Haible  <bruno@clisp.org>
56419
56420         * gnulib-tool (func_version): Change directory to $gnulib_dir before
56421         invoking git-version-gen.
56422
56423 2008-09-26  Bruno Haible  <bruno@clisp.org>
56424
56425         * posix-modules: Update to directory names changed on 2008-01-19.
56426         Remove commas in output before splitting into words. No more need to
56427         avoid 'ftruncate' since 2007-02-19.
56428
56429 2008-09-26  Bruno Haible  <bruno@clisp.org>
56430
56431         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
56432
56433 2008-09-26  Bruno Haible  <bruno@clisp.org>
56434
56435         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
56436         * modules/fwriteerror (Depends-on): Add errno.
56437
56438 2008-09-26  Bruno Haible  <bruno@clisp.org>
56439
56440         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
56441         * tests/test-vc-list-files-cvs.sh: Likewise.
56442
56443 2008-09-26  Bruno Haible  <bruno@clisp.org>
56444
56445         * doc/posix-headers/sys_resource.texi: Reorder items.
56446
56447 2008-09-26  Jim Meyering  <meyering@redhat.com>
56448
56449         fts: tweak inode comparison function
56450         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
56451         inode numbers, as documented.
56452
56453         fts: sort dirent entries on inode number before traversing
56454         This avoids a quadratic, seek-related performance penalty when
56455         operating on a directory containing many entries (measurable at 10k;
56456         3.5 hours at 2 million entries with a cold cache) on certain types
56457         of file systems, including ext3 and ext4, but not tmpfs.
56458         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
56459         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
56460         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
56461         (fs_handles_readdir_ordered_dirents_efficiently): New function.
56462         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
56463         (fts_build): Set the stat.st_ino member from D_INO.
56464         If it is likely to be useful, sort dirent entries on inode number.
56465
56466         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
56467         and the struct statfs.f_type member.
56468         * modules/fts (Depends-on): Add d-ino.
56469
56470 2008-09-26  Bruno Haible  <bruno@clisp.org>
56471
56472         * modules/sigpipe-die (Depends-on): Add sigpipe.
56473
56474         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
56475         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
56476         and GNULIB_STDIO_H_SIGPIPE are set.
56477         * lib/stdio-write.c: New file.
56478         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
56479         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56480         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56481         REPLACE_STDIO_WRITE_FUNCS.
56482         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
56483         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56484         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56485         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56486         * modules/stdio (Files): Add lib/stdio-write.c.
56487         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
56488         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56489         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56490         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56491         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
56492         REPLACE_FPRINTF_POSIX.
56493         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
56494         REPLACE_PRINTF_POSIX.
56495         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
56496         REPLACE_VFPRINTF_POSIX.
56497         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
56498         REPLACE_VPRINTF_POSIX.
56499         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
56500         SIGPIPE issue.
56501         * doc/posix-functions/fputc.texi: Likewise.
56502         * doc/posix-functions/fputs.texi: Likewise.
56503         * doc/posix-functions/fwrite.texi: Likewise.
56504         * doc/posix-functions/printf.texi: Likewise.
56505         * doc/posix-functions/putc.texi: Likewise.
56506         * doc/posix-functions/putchar.texi: Likewise.
56507         * doc/posix-functions/puts.texi: Likewise.
56508         * doc/posix-functions/vfprintf.texi: Likewise.
56509         * doc/posix-functions/vprintf.texi: Likewise.
56510
56511         * modules/safe-write (Depends-on): Add write.
56512
56513         * modules/sigpipe-tests: New file.
56514         * tests/test-sigpipe.c: New file.
56515         * tests/test-sigpipe.sh: New file.
56516
56517         * modules/write: New file.
56518         * lib/unistd.in.h: Include <sys/types.h>.
56519         (write): New declaration.
56520         * lib/write.c: New file.
56521         * m4/write.m4: New file.
56522         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56523         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
56524         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
56525         GNULIB_WRITE, REPLACE_WRITE.
56526         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
56527         and the SIGPIPE issue.
56528
56529         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
56530         (raise): New declaration.
56531         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
56532         (ext_signal): New function.
56533         (rpl_raise): New function.
56534         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
56535         GNULIB_SIGNAL_H_SIGPIPE.
56536         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
56537         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
56538
56539         * modules/sigpipe: New file.
56540         * m4/sigpipe.m4: New file.
56541
56542 2008-09-25  Derek Price  <derek@ximbiot.com>
56543             Bruno Haible  <bruno@clisp.org>
56544
56545         * gnulib-tool (func_import): Report all license incompatibilities, not
56546         just the first one.
56547
56548 2008-09-25  Bruno Haible  <bruno@clisp.org>
56549
56550         * gnulib-tool (func_import): When computing the edits, consider not
56551         only the Makefile.ams that exist but also those that will be generated.
56552
56553 2008-09-25  Simon Josefsson  <simon@josefsson.org>
56554
56555         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
56556         fixes gnulib-tool --test warning about duplicate dependency.
56557
56558 2008-09-25  Bruno Haible  <bruno@clisp.org>
56559
56560         * gnulib-tool: Don't ask the user to perform edits in the generated
56561         Makefile.ams.
56562         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
56563         apply to the Makefile.am being generated.
56564         (func_emit_tests_Makefile_am): Execute edits that apply to the
56565         Makefile.am being generated.
56566         (func_import): Setup list of Makefile.am edits before emitting the
56567         Makefile.ams, not at the end.
56568         (func_create_testdir): Update.
56569         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56570
56571 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56572
56573         * gnulib-tool (func_import): Store the --tests-base option in the
56574         comment in gnulib-cache.m4.
56575
56576 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
56577
56578         * NEWS: Document increased portability that sys_select now provides.
56579
56580         * lib/sys_select.in.h: Install select wrapper.
56581         * lib/sys_socket.in.h: Use more descriptive name when there is no
56582         select wrapper.
56583         * lib/winsock-select.c: New.
56584         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
56585         Require gl_HEADER_SYS_SOCKET.
56586         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
56587         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
56588         * tests/test-sys_select.c: Add functional tests.
56589
56590 2008-09-24  Eric Blake  <ebb9@byu.net>
56591
56592         open, fopen: close fd leak in last patch
56593         * lib/open.c (rpl_open): Close fd before returning error.
56594         * lib/fopen.c (rpl_fopen): Close fd before returning error.
56595         * doc/posix-functions/open.texi (open): Document that Irix also
56596         has the bug.
56597         * doc/posix-functions/fopen.texi (fopen): Likewise.
56598         Reported by Paolo Bonzini.
56599
56600 2008-09-24  Bruno Haible  <bruno@clisp.org>
56601
56602         Ensure that a filename ending in a slash cannot be used to access a
56603         non-directory.
56604         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
56605         to check whether it's really a directory.
56606         * lib/fopen.c: Include fcntl.h, unistd.h.
56607         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
56608         and fdopen().
56609         * modules/fopen (Depends-on): Add unistd.
56610         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
56611         * tests/test-fopen.c (main): Likewise.
56612         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
56613         * doc/posix-functions/fopen.texi: Likewise.
56614         Reported by Eric Blake.
56615
56616 2008-09-23  Eric Blake  <ebb9@byu.net>
56617
56618         c-stack: avoid compiler optimizations when provoking overflow
56619         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
56620         recursion harder to optimize, to ensure a stack overflow occurs.
56621         * tests/test-c-stack.c (recurse): Likewise.
56622         Borrowed from libsigsegv.
56623
56624         c-stack: work around Irix sigaltstack bug
56625         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
56626         whether sigaltstack uses wrong end of stack_t (copied in part from
56627         libsigsegv).
56628         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
56629         Irix bug, without requiring an over-allocation.
56630         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
56631         bug.
56632
56633         fopen: document mingw bug on directories
56634         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
56635         not allowing a stream visiting a directory, even though reading
56636         from such a stream is not portable.
56637
56638 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56639
56640         * lib/poll.c: Rewrite.
56641         * modules/poll: Depend on alloca.
56642
56643 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56644
56645         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
56646         instead define prototypes for a full set of wrappers.  Ensure
56647         that Cygwin does not use the compatibility code, which is only
56648         for MinGW.
56649         * lib/winsock.c: New.
56650         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
56651         * modules/sys_socket: Add lib/winsock.c.
56652
56653         * modules/poll-tests: Add errno and perror.
56654         * tests/test-poll.c: Use ioctl, not ioctlsocket.
56655
56656 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56657
56658         * tests/test-poll.c: Downgrade minimum needed Winsock version.
56659
56660 2008-09-23  Bruno Haible  <bruno@clisp.org>
56661
56662         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
56663         * doc/glibc-functions/*: Likewise.
56664
56665 2008-09-23  Simon Josefsson  <simon@josefsson.org>
56666
56667         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
56668         success.
56669
56670 2008-09-22  Eric Blake  <ebb9@byu.net>
56671             Bruno Haible  <bruno@clisp.org>
56672
56673         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
56674         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
56675         supply %A but mishandle pseudo-NaN.
56676         Reported by Simon Josefsson.
56677
56678 2008-09-21  Bruno Haible  <bruno@clisp.org>
56679
56680         * tests/test-lock.c (main): Tweak skip message.
56681         * tests/test-tls.c (main): Likewise.
56682
56683 2008-09-21  Bruno Haible  <bruno@clisp.org>
56684
56685         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
56686         whether 'struct sigaction' has sa_sigaction here...
56687         (gl_PREREQ_SIG_HANDLER_H): ... not here.
56688         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
56689
56690 2008-09-21  Bruno Haible  <bruno@clisp.org>
56691
56692         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
56693         section.
56694         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
56695         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
56696         the new section.
56697         (Support for obsolete systems lacking POSIX:2001): New section.
56698         (String handling <string.h>): Move strdup to the new section.
56699         Suggested by Simon Josefsson and Paolo Bonzini.
56700
56701 2008-09-21  Bruno Haible  <bruno@clisp.org>
56702
56703         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
56704         exponents in %e and %g results on 'long double'. Needed for mingw's
56705         improved *printf functions.
56706         * tests/test-vasprintf-posix.c (test_function): Likewise.
56707         * tests/test-snprintf-posix.h (test_function): Likewise.
56708         * tests/test-sprintf-posix.h (test_function): Likewise.
56709         Reported by Eric Blake.
56710
56711 2008-09-21  Bruno Haible  <bruno@clisp.org>
56712
56713         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
56714         * tests/test-sprintf-posix.h (test_function): Likewise.
56715
56716 2008-09-21  Bruno Haible  <bruno@clisp.org>
56717
56718         * modules/getpass (Depends-on): Add strdup-posix.
56719
56720         New module 'strdup-posix'.
56721         * modules/strdup-posix: New file.
56722         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
56723         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
56724         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56725         REPLACE_STRDUP.
56726         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
56727         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
56728         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56729         strdup-posix.
56730
56731         * modules/strdup (Depends-on): Remove malloc-posix.
56732
56733 2008-09-20  Bruno Haible  <bruno@clisp.org>
56734
56735         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
56736         Wildenhues.
56737
56738 2008-09-20  Bruno Haible  <bruno@clisp.org>
56739
56740         Ensure that wint_t gets defined on IRIX 5.3.
56741         * lib/wchar.in.h (wint_t): Define if not defined by the system.
56742         * lib/wctype.in.h (wint_t): Likewise.
56743         (__wctype_wint_t): Remove type.
56744         (isw*): Use wint_t instead of __wctype_wint_t.
56745         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
56746         * modules/wchar (Files): Add m4/wint_t.m4.
56747         (Makefile.am): Substitute HAVE_WINT_T.
56748         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
56749         * tests/test-wctype.c: Check that wint_t is defined.
56750         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
56751         * doc/posix-headers/wctype.texi: Likewise.
56752         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
56753
56754 2008-09-18  Bruno Haible  <bruno@clisp.org>
56755
56756         * gnulib-tool (func_exit): Update comment.
56757
56758 2008-09-18  Simon Josefsson  <simon@josefsson.org>
56759
56760         * modules/getaddrinfo (Depends-on): Remove strdup, this module
56761         assumes strdup exists and does not depend on strdup to return
56762         ENOMEM on out of memory conditions.
56763
56764 2008-09-18  Bruno Haible  <bruno@clisp.org>
56765
56766         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
56767         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
56768         digits for the exponent.
56769
56770 2008-09-18  Jim Meyering  <meyering@redhat.com>
56771             Bruno Haible  <bruno@clisp.org>
56772
56773         * lib/vasnprintf.c (decimal_point_char): Define also if
56774         NEED_PRINTF_INFINITE_LONG_DOUBLE.
56775
56776 2008-09-16  Bruno Haible  <bruno@clisp.org>
56777         and Eric Blake  <ebb9@byu.net>
56778
56779         vasnprintf: support Irix 5.3
56780         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
56781         that mishandle long double infinity.
56782         Reported by Tom G. Christensen.
56783
56784 2008-09-16  Bruno Haible  <bruno@clisp.org>
56785
56786         * doc/glibc-functions/scandir.texi: Mention the function is missing on
56787         Solaris 9.
56788         * doc/glibc-functions/alphasort.texi: Likewise.
56789         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
56790
56791 2008-09-16  Jim Meyering  <meyering@redhat.com>
56792
56793         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
56794         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
56795         a umask modification leak out of a subshell.  Otherwise, the
56796         opensolaris /bin/sh would be accepted and thus cause unwarranted
56797         failures in the coreutils test suite.
56798
56799 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
56800
56801         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
56802         to succeed.
56803
56804 2008-09-16  Jim Meyering  <meyering@redhat.com>
56805
56806         avoid spurious test failure when library is built without ACL support
56807         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
56808         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
56809         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
56810         * tests/test-copy-acl.sh: Likewise.
56811
56812 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56813
56814         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
56815         based on character occurrence counts.
56816
56817 2008-09-15  Eric Blake  <ebb9@byu.net>
56818
56819         tests: avoid some compiler warnings
56820         * tests/test-memchr.c (main): Pass NULL indirectly.
56821         * tests/test-closein.c (main): Avoid unused variable.
56822
56823 2008-09-15  Bruno Haible  <bruno@clisp.org>
56824
56825         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
56826         are missing on OpenBSD 4.0 individually.
56827         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56828
56829 2008-09-15  Bruno Haible  <bruno@clisp.org>
56830
56831         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
56832         * doc/posix-functions/strerror.texi: Mention also Cygwin.
56833         * doc/posix-functions/perror.texi: Likewise.
56834         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
56835         is missing.
56836         Reported by Eric Blake.
56837
56838         * lib/errno.in.h: Use replacement values >= 2000.
56839         Reported by Eric Blake.
56840
56841 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56842
56843         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
56844         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
56845         limit.
56846         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
56847         compareseq was aborted.
56848
56849 2008-09-14  Bruno Haible  <bruno@clisp.org>
56850
56851         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
56852         yvec_edit_count.
56853         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
56854         (fstrcmp_bounded): Simplify result computation accordingly.
56855
56856 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56857
56858         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
56859         (fstrcmp): Define in terms of fstrcmp_bounded.
56860         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
56861         lower_bound argument.
56862         Return quickly if the result is certainly < lower_bound.
56863         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
56864
56865 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56866
56867         * lib/diffseq.h (EARLY_ABORT): New macro.
56868         (compareseq): Change return type to bool. Return true when EARLY_ABORT
56869         evaluates to true.
56870
56871 2008-09-14  Bruno Haible  <bruno@clisp.org>
56872
56873         * modules/perror-tests: New file.
56874         * tests/test-perror.sh: New file.
56875         * tests/test-perror.c: New file.
56876
56877         New module 'perror'.
56878         * lib/stdio.in.h (perror): New declaration.
56879         * lib/perror.c: New file.
56880         * m4/perror.m4: New file.
56881         * modules/perror: New file.
56882         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
56883         * doc/posix-functions/perror.texi: Mention the perror module.
56884         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
56885         REPLACE_PERROR.
56886         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
56887         REPLACE_PERROR.
56888
56889 2008-09-14  Bruno Haible  <bruno@clisp.org>
56890
56891         * modules/stdio (Makefile.am): Reorder to match the order in
56892         lib/stdio.in.h.
56893         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56894
56895 2008-09-13  Bruno Haible  <bruno@clisp.org>
56896
56897         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
56898
56899 2008-09-13  Bruno Haible  <bruno@clisp.org>
56900
56901         Extend strerror to cover the added errno values.
56902         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
56903         (rpl_strerror): Provide error messages for the added errno values and
56904         for the WSA* values.
56905         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
56906         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
56907         strerror.
56908         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
56909         * modules/strerror (Depends-on): Add errno.
56910         * doc/posix-functions/strerror.texi: Document the change.
56911         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
56912         and EOVERFLOW.
56913
56914 2008-09-13  Bruno Haible  <bruno@clisp.org>
56915
56916         * modules/EOVERFLOW: Remove file.
56917         * m4/eoverflow.m4: Remove file.
56918         * modules/EOVERFLOW-tests: Remove file.
56919         * tests/test-EOVERFLOW.c: Remove file.
56920         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
56921         * modules/ftell (Depends-on): Likewise.
56922         * modules/getdelim (Depends-on): Likewise.
56923         * modules/getugroups (Depends-on): Likewise.
56924         * modules/poll (Depends-on): Likewise.
56925         * modules/snprintf (Depends-on): Likewise.
56926         * modules/sprintf-posix (Depends-on): Likewise.
56927         * modules/vasnprintf (Depends-on): Likewise.
56928         * modules/vasprintf (Depends-on): Likewise.
56929         * modules/vfprintf-posix (Depends-on): Likewise.
56930         * modules/vsnprintf (Depends-on): Likewise.
56931         * modules/vsprintf-posix (Depends-on): Likewise.
56932         * modules/xvasprintf (Depends-on): Likewise.
56933         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56934         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
56935         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
56936         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
56937         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56938         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
56939         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
56940         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
56941         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56942         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
56943         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
56944         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
56945         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56946         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
56947         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
56948         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
56949         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56950         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
56951         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
56952         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
56953         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56954         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
56955         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
56956         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
56957         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
56958         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56959         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
56960         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
56961         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
56962         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
56963         * MODULES.html.sh: Remove EOVERFLOW.
56964         * NEWS: Mention the change.
56965
56966 2008-09-13  Bruno Haible  <bruno@clisp.org>
56967
56968         * modules/errno-tests: New file.
56969         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
56970
56971         * lib/errno.in.h: New file.
56972         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
56973         * modules/errno: New file.
56974         * doc/posix-headers/errno.texi: Update documentation.
56975         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
56976
56977 2008-09-13  Bruno Haible  <bruno@clisp.org>
56978
56979         * tests/test-poll.c: Use #if for native Windows, rather than testing
56980         __MSVCRT__.
56981
56982 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56983             Bruno Haible  <bruno@clisp.org>
56984
56985         * lib/glob.c: Don't include <pwd.h> on native Windows.
56986         (WINDOWS32): New macro.
56987         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
56988
56989 2008-09-13  Bruno Haible  <bruno@clisp.org>
56990
56991         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
56992         (ETIMEDOUT): Remove macro.
56993         (glthread_cond_timedwait_multithreaded): New declaration.
56994         (glthread_cond_timedwait): Use it.
56995         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
56996         (glthread_cond_timedwait_multithreaded): New function.
56997
56998 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
56999
57000         * modules/poll-tests: Do not check for io.h.
57001         * tests/test-poll.c: Check for __MSVCRT__ instead.
57002
57003 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57004
57005         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
57006         * modules/poll-tests: Add inet_pton, stdbool, sockets.
57007         * tests/test-poll.c: Use them.  Use _pipe on Windows.
57008
57009 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57010
57011         * modules/poll-tests: New.
57012         * tests/test-poll.c: New.
57013
57014 2008-09-12  Eric Blake  <ebb9@byu.net>
57015
57016         frexp: test for NetBSD failure on -0.0
57017         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
57018         not all, bugs from NetBSD 3.0 have been fixed.
57019         * doc/posix-functions/frexp.texi (frexp): Document bug.
57020         Reported by Thomas Klausner.
57021
57022         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
57023         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
57024         literal -0.0.
57025         Reported by Jonathan C. Patschke <jp@centtech.com>.
57026
57027 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57028
57029         * lib/glthread/cond.h: Use dummy implementation also if
57030         USE_WIN32_THREADS.
57031
57032 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57033
57034         * modules/fnmatch-posix (License): Change to LGPLv2+.
57035         * modules/fnmatch-gnu (License): Likewise.
57036
57037 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57038
57039         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
57040
57041 2008-09-11  Jim Meyering  <meyering@redhat.com>
57042
57043         * users.txt: Add gtk-vnc.
57044
57045 2008-09-08  Simon Josefsson  <simon@josefsson.org>
57046
57047         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
57048         rotate amounts.
57049
57050         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
57051         required for 16-bit and 8-bit rotates.
57052         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
57053         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
57054         UINT8_MAX instead of hard-coded constants.
57055         Suggested by Paul Eggert.
57056
57057 2008-09-07  Bruno Haible  <bruno@clisp.org>
57058
57059         * tests/test-striconveh.c (main): Check behaviour when converting from
57060         UTF-7.
57061
57062         Make striconveh work better with stateful encodings.
57063         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
57064         that iconv does not increment the inptr when returning -1/EINVAL.
57065
57066 2008-09-07  Bruno Haible  <bruno@clisp.org>
57067
57068         * build-aux/config.rpath: Update according to libtool-2.2.6.
57069         * build-aux/config.libpath: Likewise.
57070
57071 2008-09-06  Bruno Haible  <bruno@clisp.org>
57072
57073         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
57074         * lib/freadptr.c (freadptr): Likewise.
57075         * lib/freadseek.c (freadptrinc): Likewise.
57076         Reported by Simon Josefsson.
57077
57078 2008-09-06  Bruno Haible  <bruno@clisp.org>
57079
57080         * modules/freadptr (License): Change to LGPLv2+.
57081         * modules/freadseek (License): Likewise.
57082         Suggested by Eric Blake.
57083
57084         * modules/memchr2 (License): Change to LGPLv2+.
57085         Approved by Eric Blake.
57086
57087 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57088             Bruno Haible  <bruno@clisp.org>
57089
57090         Make gnulib-tool work with native 'sed' on AIX.
57091         * gnulib-tool (sed_noop): New variable.
57092         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
57093         func_add_or_update, func_create_testdir): Use it to initialize sed
57094         script variables.
57095         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57096
57097 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
57098             Bruno Haible  <bruno@clisp.org>
57099
57100         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
57101         also works after #include directives.
57102
57103 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
57104
57105         getdate.y: reject an out-of-range timezone value
57106         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
57107         the range [-24...+24].  When specified with only one or two digits,
57108         * tests/test-getdate.c: Tests for the fix.
57109         * doc/getdate.texi: Document this change.
57110
57111 2008-09-03  Bruno Haible  <bruno@clisp.org>
57112
57113         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
57114
57115 2008-09-02  Simon Josefsson  <simon@josefsson.org>
57116
57117         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
57118         <bruce.korb@gmail.com> with ideas from Ben Pfaff
57119         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
57120         Blake <ebb9@byu.net>.
57121
57122         * tests/test-bitrotate.c: Add more test vectors.
57123
57124 2008-09-02  Eric Blake  <ebb9@byu.net>
57125
57126         vasnprintf-posix: handle large precision via %.*d
57127         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
57128         when handling it ourselves.
57129         * tests/test-vasnprintf-posix.c (test_function): Add test.
57130         * tests/test-snprintf-posix.h (test_function): Likewise.
57131         * tests/test-sprintf-posix.h (test_function): Likewise.
57132         * tests/test-vasprintf-posix.c (test_function): Likewise.
57133         Reported by Alain Guibert.
57134
57135 2008-09-01  Eric Blake  <ebb9@byu.net>
57136
57137         c-stack: make configure-time check more robust
57138         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
57139         successful sigaction call.
57140         Reported by Tom G. Christensen.
57141
57142 2008-09-01  Bruno Haible  <bruno@clisp.org>
57143
57144         New module 'findprog-lgpl'.
57145         * modules/findprog-lgpl: New file.
57146         * lib/findprog-lgpl.c: New file.
57147         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
57148         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
57149         to decide whether to use strdup or xstrdup, concatenated_filename or
57150         xconcatenated_filename.
57151
57152 2008-09-01  Bruno Haible  <bruno@clisp.org>
57153
57154         Split module 'concat-filename' into 'concat-filename' (LGPL) and
57155         'xconcat-filename' (GPL).
57156         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
57157         (License): Change to LGPLv2+.
57158         * modules/xconcat-filename: New file.
57159         * lib/concat-filename.h (concatenated_filename): Change specification.
57160         (xconcatenated_filename): New declaration.
57161         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
57162         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
57163         memory situations.
57164         * lib/xconcat-filename.c: New file.
57165         * NEWS: Mention the change.
57166         * lib/findprog.c: Include concat-filename.h, not filename.h.
57167         (find_in_path): Use xconcatenated_filename instead of
57168         concatenated_filename.
57169         * lib/javacomp.c: Include concat-filename.h, not filename.h.
57170         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
57171         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
57172         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
57173         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
57174         instead of concatenated_filename.
57175         * lib/javaexec.c: Include concat-filename.h, not filename.h.
57176         (execute_java_class): Use xconcatenated_filename instead of
57177         concatenated_filename.
57178         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
57179         * modules/javacomp (Depends-on): Likewise.
57180         * modules/javaexec (Depends-on): Likewise.
57181
57182 2008-09-01  Bruno Haible  <bruno@clisp.org>
57183
57184         Split module 'filename' into 'filename' and 'concat-filename'.
57185         * modules/filename: Keep only lib/filename.h.
57186         (License): Change to LGPLv2+.
57187         * modules/concat-filename: New file, extracted from modules/filename.
57188         * lib/filename.h (concatenated_filename): Remove declaration.
57189         * lib/concat-filename.h: New file, extracted from lib/filename.h.
57190         * lib/concat-filename.c: Include concat-filename.h.
57191         * NEWS: Mention the change.
57192
57193 2008-09-01  Simon Josefsson  <simon@josefsson.org>
57194
57195         * lib/bitrotate.h (rotl8, rotr8): Add.
57196
57197         * modules/bitrotate (configure.ac): Need
57198         AC_REQUIRE([AC_C_INLINE]).
57199         (Description): Mention stdint.h.  Reported by Bruno Haible
57200         <bruno@clisp.org>.
57201
57202         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
57203         Paolo Bonzini <bonzini@gnu.org>.
57204
57205 2008-08-31  Bruno Haible  <bruno@clisp.org>
57206
57207         Assume Solaris specific bi-arch conventions on Solaris systems.
57208         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
57209         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
57210         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
57211         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
57212         like acl_libdirstem.
57213         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
57214         acl_libdirstem.
57215         * NEWS: Mention the change.
57216         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
57217
57218 2008-08-31  Jim Meyering  <meyering@redhat.com>
57219
57220         * lib/strftime.h: Add comments describing the two added arguments.
57221
57222         remove duplicate #include directives
57223         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
57224         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
57225
57226 2008-08-31  Bruno Haible  <bruno@clisp.org>
57227
57228         New module 'sigpipe-die'.
57229         * modules/sigpipe-die: New file.
57230         * lib/sigpipe-die.h: New file.
57231         * lib/sigpipe-die.c: New file.
57232         * MODULES.html.sh (Signal handling): Add sigpipe-die.
57233
57234 2008-08-31  Bruno Haible  <bruno@clisp.org>
57235
57236         Don't override previously installed signal handlers.
57237         * lib/fatal-signal.c (saved_sigactions): New variable.
57238         (uninstall_handlers): Reset the signal to the saved handler, not
57239         to SIG_DFL (except when ignored).
57240         (install_handlers): Save the previous handlers.
57241
57242 2008-08-30  Bruno Haible  <bruno@clisp.org>
57243
57244         * gnulib-tool (func_reset_sigpipe): New function.
57245         (func_get_automake_snippet, func_modules_transitive_closure,
57246         func_import): Invoke it before a join command that reads from stdin,
57247         to avoid "echo: write error: Broken pipe" error messages on stderr.
57248         Reported by Sam Steingold <sds@gnu.org>.
57249
57250 2008-08-30  Bruno Haible  <bruno@clisp.org>
57251
57252         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
57253         Code copied from m4/open.m4.
57254         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
57255         access and the filename ends in a slash. Code copied from lib/open.c.
57256         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
57257         * tests/test-fopen.c (main): Check against bug with trailing slash.
57258
57259 2008-08-29  Bruno Haible  <bruno@clisp.org>
57260
57261         Avoid some "gcc -pedantic" warnings.
57262         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
57263         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
57264         * lib/dirent.in.h: Likewise.
57265         * lib/fcntl.in.h: Likewise.
57266         * lib/float.in.h: Likewise.
57267         * lib/iconv.in.h: Likewise.
57268         * lib/inttypes.in.h: Likewise.
57269         * lib/locale.in.h: Likewise.
57270         * lib/math.in.h: Likewise.
57271         * lib/netinet_in.in.h: Likewise.
57272         * lib/search.in.h: Likewise.
57273         * lib/signal.in.h: Likewise.
57274         * lib/stdarg.in.h: Likewise.
57275         * lib/stdint.in.h: Likewise.
57276         * lib/stdio.in.h: Likewise.
57277         * lib/stdlib.in.h: Likewise.
57278         * lib/string.in.h: Likewise.
57279         * lib/strings.in.h: Likewise.
57280         * lib/sys_select.in.h: Likewise.
57281         * lib/sys_socket.in.h: Likewise.
57282         * lib/sys_stat.in.h: Likewise.
57283         * lib/sys_time.in.h: Likewise.
57284         * lib/sysexits.in.h: Likewise.
57285         * lib/time.in.h: Likewise.
57286         * lib/unistd.in.h: Likewise.
57287         * lib/wchar.in.h: Likewise.
57288         * lib/wctype.in.h: Likewise.
57289         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
57290         * modules/fchdir (Makefile.am): Likewise.
57291         * modules/fcntl (Makefile.am): Likewise.
57292         * modules/float (Makefile.am): Likewise.
57293         * modules/iconv_open (Makefile.am): Likewise.
57294         * modules/inttypes (Makefile.am): Likewise.
57295         * modules/locale (Makefile.am): Likewise.
57296         * modules/math (Makefile.am): Likewise.
57297         * modules/netinet_in (Makefile.am): Likewise.
57298         * modules/search (Makefile.am): Likewise.
57299         * modules/signal (Makefile.am): Likewise.
57300         * modules/stdarg (Makefile.am): Likewise.
57301         * modules/stdint (Makefile.am): Likewise.
57302         * modules/stdio (Makefile.am): Likewise.
57303         * modules/stdlib (Makefile.am): Likewise.
57304         * modules/string (Makefile.am): Likewise.
57305         * modules/strings (Makefile.am): Likewise.
57306         * modules/sys_select (Makefile.am): Likewise.
57307         * modules/sys_socket (Makefile.am): Likewise.
57308         * modules/sys_stat (Makefile.am): Likewise.
57309         * modules/sys_time (Makefile.am): Likewise.
57310         * modules/sysexits (Makefile.am): Likewise.
57311         * modules/time (Makefile.am): Likewise.
57312         * modules/unistd (Makefile.am): Likewise.
57313         * modules/wchar (Makefile.am): Likewise.
57314         * modules/wctype (Makefile.am): Likewise.
57315         Reported by Reuben Thomas <rrt@sc3d.org>.
57316
57317 2008-08-29  Bruno Haible  <bruno@clisp.org>
57318
57319         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
57320         any more.
57321
57322 2008-08-29  Simon Josefsson  <simon@josefsson.org>
57323
57324         * MODULES.html.sh (Misc): Add bitrotate.
57325
57326         * modules/bitrotate: New file.
57327
57328         * lib/bitrotate.h: New file.
57329
57330         * modules/bitrotate-tests: New file.
57331
57332         * tests/test-bitrotate.c: New file.
57333
57334         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
57335         on the bitrotate module.
57336
57337         * lib/arctwo.c: Use new bitrotate module.
57338
57339 2008-08-29  Jim Meyering  <meyering@redhat.com>
57340
57341         bootstrap: merge changes from coreutils
57342         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
57343         of copied files.  Remove a kludge, now that this is fixed.
57344         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
57345         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
57346         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
57347
57348 2008-08-29  Bruno Haible  <bruno@clisp.org>
57349
57350         * MODULES.html.sh: Remove --cvs-urls option.
57351
57352 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
57353
57354         maint.mk: adjust to file name change
57355         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
57356
57357 2008-08-28  Jim Meyering  <meyering@redhat.com>
57358
57359         * modules/getndelim2 (License): Relicense to LGPLv2+.
57360         Approved by Richard Stallman for the version of 1995, and by
57361         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
57362
57363 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
57364
57365         * lib/getdelim.c (flockfile, funlockfile): Make all of them
57366         dummy if one is not available.  Do not touch them if
57367         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
57368         (getc_maybe_unlocked): New.
57369         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
57370
57371 2008-08-26  Eric Blake  <ebb9@byu.net>
57372
57373         doc/INSTALL: resync from autoconf
57374         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
57375         (INSTALL_PRELUDE): Delete; this is done more efficiently by
57376         moving...
57377         * install.texi [!autoconf]: ...here.  Resync from autoconf.
57378         * INSTALL: Regenerate.
57379         * INSTALL.ISO: New file.
57380         * INSTALL.UTF-8: Likewise.
57381
57382 2008-08-26  Jim Meyering  <meyering@redhat.com>
57383
57384         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
57385         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
57386         these definitions conditional, so that they may be overridden, too.
57387
57388 2008-08-26  Bruno Haible  <bruno@clisp.org>
57389
57390         Generate INSTALL file variants with prettier quotes.
57391         * doc/Makefile (INSTALL_PRELUDE): New macro.
57392         (INSTALL): Use it.
57393         (INSTALL.ISO, INSTALL.UTF-8): New rules.
57394
57395 2008-08-26  Bruno Haible  <bruno@clisp.org>
57396
57397         Run makeinfo in an English locale.
57398         * doc/Makefile (MAKEINFO): New variable.
57399
57400 2008-08-26  Bruno Haible  <bruno@clisp.org>
57401
57402         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
57403         Suggested by Eric Blake.
57404
57405 2008-08-25  Bruno Haible  <bruno@clisp.org>
57406
57407         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
57408
57409 2008-08-25  Eric Blake  <ebb9@byu.net>
57410
57411         c-stack: test that stack overflow can be caught
57412         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
57413         that platform allows handling stack overflow; at least OS/2 EMX
57414         has sigaltstack, but crashes before transferring control to
57415         handler on stack overflow.
57416         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
57417         check for HAVE_STACK_OVERFLOW_HANDLING.
57418         Reported by Elbert Pol.
57419
57420 2008-08-25  Bruno Haible  <bruno@clisp.org>
57421
57422         * doc/posix-functions/strftime.texi: Fix description of strftime
57423         module.
57424
57425 2008-08-24  Bruno Haible  <bruno@clisp.org>
57426
57427         * tests/uniwidth/test-uc_width2.c: New file.
57428         * tests/uniwidth/test-uc_width2.sh: New file.
57429         * modules/uniwidth/width-tests (Files): Add the new files.
57430         (TESTS): Add uniwidth/test-uc_width2.sh.
57431         (TESTS_ENVIRONMENT): New variable.
57432         (check_PROGRAMS): Add test-uc_width2.
57433         (test_uc_width2_SOURCES): New variable.
57434
57435         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
57436         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
57437         not 0x00AB.
57438         Reported by Alexander V. Lukyanov <lav@netis.ru>.
57439
57440 2008-08-22  Eric Blake  <ebb9@byu.net>
57441
57442         test-lock, test-tls: mention why a test is skipped
57443         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
57444         skipped.
57445         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
57446
57447         count-one-bits: relax license
57448         * modules/count-one-bits (License): Relicense to LGPLv2+.
57449         Suggested by Ludovic Courtès, approved by Ben Pfaff.
57450
57451 2008-08-22  Andreas Schwab  <schwab@suse.de>
57452
57453         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
57454         Remove spurious space in assignment.
57455
57456 2008-08-21  Simon Josefsson  <simon@josefsson.org>
57457
57458         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
57459         Paul Eggert <eggert@CS.UCLA.EDU>.
57460
57461 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
57462
57463         * modules/gettext: Add m4/threadlib.m4.
57464
57465 2008-08-19  Eric Blake  <ebb9@byu.net>
57466
57467         test-c-stack: fix compilation failure on FreeBSD 5.0
57468         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
57469         headers before <sys/resource.h>.
57470         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
57471         the bug.
57472         Reported by Nelson H. F. Beebe.
57473
57474         strverscmp: migrate from "strverscmp.h" to <string.h>
57475         * modules/string (Makefile.am): Add new hooks.
57476         * modules/strverscmp (Files): Remove strverscmp.h.
57477         (Depends-on): Add string.
57478         (configure.ac): Add indicator.
57479         (Include): Mention new header.
57480         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
57481         defaults.
57482         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
57483         results.
57484         * lib/strverscmp.h: Delete.
57485         * lib/string.in.h (strverscmp): Provide declaration, when needed.
57486         * tests/test-strverscmp.c (includes): Adjust client.
57487         * lib/check-version.c (includes): Likewise.
57488         * NEWS: Document the change.
57489
57490         strverscmp: add unit test
57491         * modules/strverscmp-tests: New file.
57492         * tests/test-strverscmp.c: Likewise.
57493
57494 2008-08-19  Simon Josefsson  <simon@josefsson.org>
57495
57496         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
57497         regarding Windows crypto stuff, from Mono.
57498
57499 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
57500
57501         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
57502         if present, for intel RND.  Return error on failures.
57503
57504 2008-08-18  Ben Pfaff  <blp@gnu.org>
57505
57506         gitlog-to-changelog: give better diagnostic for failed pipe-open
57507         * build-aux/gitlog-to-changelog: Improve error message: suggest
57508         that the version of Git may be too old.
57509
57510 2008-08-18  Simon Josefsson  <simon@josefsson.org>
57511
57512         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
57513         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
57514
57515 2008-08-18  Bruno Haible  <bruno@clisp.org>
57516
57517         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
57518         pthread_in_use().
57519
57520 2008-08-18  Bruno Haible  <bruno@clisp.org>
57521
57522         * lib/glthread/threadlib.c: Include <pthread.h>.
57523
57524 2008-08-18  Bruno Haible  <bruno@clisp.org>
57525
57526         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
57527         glthread_recursive_lock_* macros.
57528         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
57529         Fix syntax error.
57530
57531 2008-08-18  Bruno Haible  <bruno@clisp.org>
57532
57533         * lib/glthread/thread.c: Avoid forcing a context switch right after
57534         thread creation.
57535
57536 2008-08-17  Bruno Haible  <bruno@clisp.org>
57537
57538         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
57539         * lib/glthread/thread.h: Provide Win32 specific implementation.
57540         * modules/thread (Files): Add lib/glthread/thread.c.
57541         (Depends-on): Add lock.
57542         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
57543
57544 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57545
57546         New module 'yield'.
57547         * modules/yield: New file.
57548         * lib/glthread/yield.h: New file.
57549         * m4/yield.m4: New file.
57550         * MODULES.html.sh (Multithreading): Add yield.
57551
57552 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57553
57554         New module 'thread'.
57555         * modules/thread: New file.
57556         * lib/glthread/thread.h: New file.
57557         * m4/thread.m4: New file.
57558         * MODULES.html.sh (Multithreading): Add thread.
57559
57560 2008-08-17  Bruno Haible  <bruno@clisp.org>
57561
57562         * lib/glthread/lock.h: Include <stdlib.h> always.
57563         * lib/glthread/tls.h: Likewise.
57564         * lib/glthread/cond.h: Likewise.
57565
57566 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57567
57568         New module 'cond'.
57569         * modules/cond: New file.
57570         * lib/glthread/cond.h: New file.
57571         * lib/glthread/cond.c: New file.
57572         * m4/cond.m4: New file.
57573         * MODULES.html.sh (Multithreading): Add cond.
57574
57575 2008-08-16  Eric Blake  <ebb9@byu.net>
57576
57577         c-stack: fix regression on Irix 5.3 from 2008-06-21
57578         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
57579         sa_sigaction...
57580         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
57581         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
57582         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
57583         * modules/signal (Makefile.am): Use the value.
57584         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
57585         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
57586         * doc/posix-headers/signal.texi (signal.h): Document this
57587         portability issue.
57588         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
57589         Reported by Tom G. Christensen.
57590
57591 2008-08-17  Bruno Haible  <bruno@clisp.org>
57592
57593         New module 'threadlib'.
57594         * modules/threadlib: New file.
57595         * lib/glthread/threadlib.c: New file, extracted from
57596         lib/glthread/lock.c.
57597         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
57598         functions.
57599         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
57600         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
57601         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
57602         macros.
57603         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
57604         (gl_DISABLE_THREADS): Remove macro.
57605         * modules/lock (Files): Remove build-aux/config.rpath.
57606         (Depends-on): Remove havelib. Add threadlib.
57607         (configure.ac-early): Remove section.
57608         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
57609         * modules/tls (Depends-on): Remove lock. Add threadlib.
57610         (Link): New section, copied from threadlib.
57611         * MODULES.html.sh (Multithreading): Add threadlib.
57612
57613 2008-08-14  Bruno Haible  <bruno@clisp.org>
57614
57615         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
57616         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
57617         glthread_rwlock_unlock, glthread_rwlock_destroy,
57618         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
57619         glthread_recursive_lock_destroy): Define as macros always.
57620         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
57621         glthread_lock_lock.
57622         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
57623         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
57624         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
57625         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
57626         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
57627         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
57628         (glthread_recursive_lock_lock_func): Renamed from
57629         glthread_recursive_lock_lock.
57630         (glthread_recursive_lock_unlock_func): Renamed from
57631         glthread_recursive_lock_unlock.
57632         (glthread_recursive_lock_destroy_func): Renamed from
57633         glthread_recursive_lock_destroy.
57634
57635 2008-08-14  Bruno Haible  <bruno@clisp.org>
57636
57637         * lib/glthread/lock.h: Renamed from lib/lock.h.
57638         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
57639         * lib/glthread/tls.h: Renamed from lib/tls.h.
57640         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
57641         * lib/fstrcmp.c: Update includes.
57642         * lib/strsignal.c: Update includes.
57643         * modules/lock (Files, Makefile.am): Update.
57644         (Include): Change to "glthread/lock.h".
57645         * modules/tls (Files, Makefile.am): Update.
57646         (Include): Change to "glthread/tls.h".
57647         * tests/test-lock.c: Update includes.
57648         * tests/test-tls.c: Update includes.
57649         * NEWS: Mention the renamed header files.
57650
57651 2008-08-11  Jim Meyering  <meyering@redhat.com>
57652
57653         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
57654
57655 2008-08-11  Eric Blake  <ebb9@byu.net>
57656
57657         test-c-stack: avoid C99-ism
57658         * tests/test-c-stack.c (main): Fix whitespace, move declaration
57659         before statement.
57660         Reported by Alain Guibert.
57661
57662 2008-08-10  Jim Meyering  <meyering@redhat.com>
57663
57664         ensure that return value of uinttostr et al are not ignored
57665         * lib/inttostr.h (__GNUC_PREREQ): Define.
57666         (__attribute_warn_unused_result__): Define.
57667         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
57668
57669 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
57670
57671         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
57672         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
57673
57674 2008-08-07  Jim Meyering  <meyering@redhat.com>
57675
57676         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
57677
57678         * modules/mkstemp (License): Relicense under LGPLv2+.
57679         * modules/tempname (License): Likewise.
57680
57681 2008-08-06  Bruno Haible  <bruno@clisp.org>
57682
57683         * lib/poll.c (poll): Further micro-optimization.
57684
57685 2008-08-06  Jim Meyering  <meyering@redhat.com>
57686
57687         inet_pton.c: use locale-independent tolower
57688         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
57689         (inet_pton6): Use c_tolower rather than tolower.
57690         * modules/inet_pton (Depends-on): Add c-ctype.
57691
57692 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
57693
57694         * lib/poll.c (poll): Avoid division when timeout is 0, cache
57695         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
57696
57697 2008-08-06  Jim Meyering  <meyering@redhat.com>
57698
57699         * modules/inet_pton (License): Relicense under LGPLv2+.
57700
57701 2008-08-03  Bruno Haible  <bruno@clisp.org>
57702
57703         Additional non-aborting API for lock and tls.
57704         * lib/lock.h: Include <errno.h>.
57705         (glthread_lock_init): New macro/function.
57706         (gl_lock_init): Define as wrapper around glthread_lock_init.
57707         (glthread_lock_lock): New macro/function.
57708         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
57709         (glthread_lock_unlock): New macro/function.
57710         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
57711         (glthread_lock_destroy): New macro/function.
57712         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
57713         (glthread_rwlock_init): New macro/function.
57714         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
57715         (glthread_rwlock_rdlock): New macro/function.
57716         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
57717         (glthread_rwlock_wrlock): New macro/function.
57718         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
57719         (glthread_rwlock_unlock): New macro/function.
57720         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
57721         (glthread_rwlock_destroy): New macro/function.
57722         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
57723         (glthread_recursive_lock_init): New macro/function.
57724         (gl_recursive_lock_init): Define as wrapper around
57725         glthread_recursive_lock_init.
57726         (glthread_recursive_lock_lock): New macro/function.
57727         (gl_recursive_lock_lock): Define as wrapper around
57728         glthread_recursive_lock_lock.
57729         (glthread_recursive_lock_unlock): New macro/function.
57730         (gl_recursive_lock_unlock): Define as wrapper around
57731         glthread_recursive_lock_unlock.
57732         (glthread_recursive_lock_destroy): New macro/function.
57733         (gl_recursive_lock_destroy): Define as wrapper around
57734         glthread_recursive_lock_destroy.
57735         (glthread_once): New macro/function.
57736         (gl_once): Define as wrapper around glthread_once.
57737         Update function declarations.
57738         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
57739         glthread_rwlock_init. Return error code.
57740         (glthread_rwlock_rdlock_multithreaded): Renamed from
57741         glthread_rwlock_rdlock. Return error code.
57742         (glthread_rwlock_wrlock_multithreaded): Renamed from
57743         glthread_rwlock_wrlock. Return error code.
57744         (glthread_rwlock_unlock_multithreaded): Renamed from
57745         glthread_rwlock_unlock. Return error code.
57746         (glthread_rwlock_destroy_multithreaded): Renamed from
57747         glthread_rwlock_destroy. Return error code.
57748         (glthread_recursive_lock_init_multithreaded): Renamed from
57749         glthread_recursive_lock_init. Return error code.
57750         (glthread_recursive_lock_lock_multithreaded): Renamed from
57751         glthread_recursive_lock_lock. Return error code.
57752         (glthread_recursive_lock_unlock_multithreaded): Renamed from
57753         glthread_recursive_lock_unlock. Return error code.
57754         (glthread_recursive_lock_destroy_multithreaded): Renamed from
57755         glthread_recursive_lock_destroy. Return error code.
57756         (glthread_once_call): Make static.
57757         (glthread_once_multithreaded): Renamed from glthread_once.
57758         * lib/tls.h: Include <errno.h>.
57759         (glthread_tls_key_init): New macro/function.
57760         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
57761         (glthread_tls_set): New macro/function.
57762         (gl_tls_set): Define as wrapper around glthread_tls_set.
57763         (glthread_tls_key_destroy): New macro/function.
57764         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
57765         Update function declarations.
57766         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
57767         glthread_tls_get.
57768         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
57769
57770 2008-08-04  Eric Blake  <ebb9@byu.net>
57771
57772         gnumakefile: use space, not TAB, outside of targets
57773         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
57774
57775 2008-08-02  Jim Meyering  <meyering@redhat.com>
57776
57777         getdate.y: avoid locale-dependent date parsing failure
57778         In Turkish locales, getdate would fail to recognize keywords
57779         containing a lowercase "i".  The solution is not to rely on
57780         locale-sensitive case-conversion.
57781         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
57782         (lookup_word): Use c_toupper in place of toupper.
57783         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
57784         Reported by Vefa Bicakci <bicave@superonline.com> in
57785         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
57786         * modules/getdate (Depends-on): Add c-ctype.
57787
57788 2008-08-02  Bruno Haible  <bruno@clisp.org>
57789
57790         * gnulib-tool (func_import): When updating or creating a .gitignore
57791         file, prepend each added line with a slash, and ignore leading slashes
57792         from the existing lines.
57793         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57794
57795 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57796
57797         Portability fix for GNU make 3.79.1.
57798         * top/GNUmakefile: Avoid 'else COND', which older GNU make
57799         versions do not understand.
57800
57801 2008-08-01  Bruno Haible  <bruno@clisp.org>
57802
57803         Work around bug of HP-UX 10.20 cc with -0.0 literal.
57804         * tests/test-isnanf.h (zero): New variable.
57805         (main): Avoid literal -0.0f.
57806         * tests/test-isnand.h (zero): New variable.
57807         (main): Avoid literal -0.0.
57808         * tests/test-isnanl.h (zero): New variable.
57809         (main): Avoid literal -0.0L.
57810         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
57811         (test_float, test_double, test_long_double): Avoid literals -0.0f,
57812         -0.0, -0.0L.
57813         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
57814         (test_signbitd): Avoid literal -0.0.
57815         (test_signbitl): Avoid literal -0.0L.
57816         * tests/test-ceilf1.c (zero): New variable.
57817         (main): Avoid literal -0.0f.
57818         * tests/test-ceill.c (zero): New variable.
57819         (main): Avoid literal -0.0L.
57820         * tests/test-floorf1.c (zero): New variable.
57821         (main): Avoid literal -0.0f.
57822         * tests/test-floorl.c (zero): New variable.
57823         (main): Avoid literal -0.0L.
57824         * tests/test-roundf1.c (zero): New variable.
57825         (main): Avoid literal -0.0f.
57826         * tests/test-round1.c (zero): New variable.
57827         (main): Avoid literal -0.0.
57828         * tests/test-roundl.c (zero): New variable.
57829         (main): Avoid literal -0.0L.
57830         * tests/test-truncf1.c (zero): New variable.
57831         (main): Avoid literal -0.0f.
57832         * tests/test-trunc1.c (zero): New variable.
57833         (main): Avoid literal -0.0.
57834         * tests/test-truncl.c (zero): New variable.
57835         (main): Avoid literal -0.0L.
57836         * tests/test-frexp.c (zero): New variable.
57837         (main): Avoid literal -0.0.
57838         * tests/test-frexpl.c (zero): New variable.
57839         (main): Avoid literal -0.0L.
57840         * tests/test-ldexpl.c (zero): New variable.
57841         (main): Avoid literal -0.0L.
57842         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57843         (zerod, zerol): New variables.
57844         (test_function): Avoid literals -0.0, -0.0L.
57845         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57846         (zerod, zerol): New variables.
57847         (test_function): Avoid literals -0.0, -0.0L.
57848         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57849         (zerod, zerol): New variables.
57850         (test_function): Avoid literals -0.0, -0.0L.
57851         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57852         (zerod, zerol): New variables.
57853         (test_function): Avoid literals -0.0, -0.0L.
57854         * tests/test-strtod.c (zero): New variable.
57855         (main): Avoid literal -0.0.
57856         Reported by Jonathan C. Patschke <jp@centtech.com>.
57857
57858 2008-07-31  Jim Meyering  <meyering@redhat.com>
57859
57860         sha256.h: correct definition of SHA224_DIGEST_SIZE
57861         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
57862         Reported by Paulie Pena IV <paulie4@gmail.com>.
57863         Define as 224 / 8, rather than as a literal.
57864         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
57865         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
57866         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
57867
57868 2008-07-31  Bruno Haible  <bruno@clisp.org>
57869
57870         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
57871         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
57872         Reported by Jonathan Patschke <jp@centtech.com>.
57873
57874 2008-07-31  Bruno Haible  <bruno@clisp.org>
57875
57876         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
57877         Reported by Paolo Bonzini <bonzini@gnu.org>.
57878
57879 2008-07-30  Eric Blake  <ebb9@byu.net>
57880
57881         test-strtod: allow compilation without -lm
57882         * tests/test-strtod.c (main): Avoid link dependence on fabs.
57883         Reported by Dennis Clarke <blastwave@gmail.com>.
57884
57885 2008-07-28  Jim Meyering  <meyering@redhat.com>
57886
57887         bootstrap: work also when there are no .po files in po/
57888         * build-aux/bootstrap (update_po_files): Complete the change
57889         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
57890
57891 2008-07-27  Jim Meyering  <meyering@redhat.com>
57892
57893         * users.txt: Add zile.
57894
57895 2008-07-26  Ben Pfaff  <blp@gnu.org>
57896
57897         Add missing dependencies on new m4/exponent[fdl].m4 files.
57898         * modules/isnanf-nolibm: Add m4/exponentf.m4.
57899         * modules/isnand-nolibm: Add m4/exponentd.m4.
57900         * modules/isnanl-nolibm: Add m4/exponentl.m4.
57901         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
57902         m4/isnan[fdl].m4, because the macros actually used moved.
57903         Reported by Jim Meyering.
57904
57905 2008-07-14  Ben Pfaff  <blp@gnu.org>
57906
57907         Add isinf module.
57908         * lib/isinf.c: New file.
57909         * lib/math.in.h: Define isinf macro if we have decided to replace
57910         it.
57911         * m4/isinf.m4: New file.
57912         * m4/math_h.m4: Initialize and substitute variables for isinf
57913         module.
57914         * modules/isinf: New file.
57915         * modules/isinf-tests: New file.
57916         * modules/math: Add substitutions for new module.
57917         * tests/test-isinf.c: New file.
57918         * doc/posix-functions/isinf.texi: Mention new module.
57919         * MODULES.html.sh: Mention new module.
57920
57921 2008-07-14  Ben Pfaff  <blp@gnu.org>
57922
57923         Factor out some macros for use by additional modules.
57924         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
57925         exponentf.m4.
57926         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
57927         exponentd.m4.
57928         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
57929         file exponentl.m4.
57930         * m4/exponentf.m4: New file.
57931         * m4/exponentd.m4: New file.
57932         * m4/exponentl.m4: New file.
57933         * modules/isnanf: Use new file m4/exponentf.m4.
57934         * modules/isnand: Use new file m4/exponentd.m4.
57935         * modules/isnanl: Use new file m4/exponentl.m4.
57936
57937 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
57938
57939         mktime.c: normalize tp->tm_isdst value to -1/0/1.
57940         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
57941         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
57942         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
57943
57944         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
57945         readlink on platforms without PATH_MAX.
57946
57947 2008-07-21  Eric Blake  <ebb9@byu.net>
57948
57949         Warn, not fail, on stale version.
57950         * top/GNUmakefile (_curr-ver): Tone down previous patch.
57951
57952         Don't allow installation with stale devel version number.
57953         * top/GNUmakefile (_is-install-target): New macro.
57954         (_curr-ver): Forbid installation with stale version number.
57955
57956 2008-07-20  Bruno Haible  <bruno@clisp.org>
57957
57958         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
57959         TESTS_ENVIRONMENT.
57960         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
57961
57962 2008-07-20  Bruno Haible  <bruno@clisp.org>
57963
57964         * lib/c-stack.h (c_stack_action): Add documentation.
57965         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
57966
57967 2008-07-20  Bruno Haible  <bruno@clisp.org>
57968
57969         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
57970         * modules/readlink (License): Likewise.
57971
57972 2008-07-17  Eric Blake  <ebb9@byu.net>
57973
57974         * modules/c-stack (Link): Fix typo.
57975
57976         Make c-stack use libsigsegv, when available.
57977         * modules/c-stack (Depends-on): Add libsigsegv.
57978         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
57979         needed.
57980         * lib/c-stack.c (SIGSTKSZ): Define fallback.
57981         (segv_handler, overflow_handler, c_stack_action)
57982         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
57983         implementation when libsigsegv is available, but only when using
57984         the library is necessary.
57985         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
57986         comment, explaining why XSI check fails on Linux.
57987         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
57988         * tests/test-c-stack2.sh: Tweak skip message.
57989         * NEWS: Document new link-time requirements.
57990
57991 2008-07-16  Eric Blake  <ebb9@byu.net>
57992
57993         c-stack: Expose false positives when not using libsigsegv.
57994         * modules/c-stack-tests (Files): Expand test.
57995         * tests/test-c-stack.c (main): Add means to conditionally trigger
57996         non-overflow SIGSEGV.
57997         * tests/test-c-stack2.sh: New file.
57998
57999 2008-07-14  Bruno Haible  <bruno@clisp.org>
58000
58001         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
58002         Reported by Eric Blake.
58003
58004 2008-07-14  Sam Steingold  <sds@gnu.org>
58005             Bruno Haible  <bruno@clisp.org>
58006
58007         New module libsigsegv.
58008         * modules/libsigsegv: New file.
58009         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
58010         modifications.
58011         * MODULES.html.sh (Signal handling): New section.
58012
58013 2008-07-14  Bruno Haible  <bruno@clisp.org>
58014
58015         * modules/unictype/ctype-* (Description): Add the word "function".
58016         Improves the resulting doc in MODULES.html.
58017
58018 2008-07-12  Ben Pfaff  <blp@gnu.org>
58019
58020         Add longlong module.
58021         * modules/longlong: New file.
58022
58023 2008-07-12  Bruno Haible  <bruno@clisp.org>
58024
58025         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
58026         to empty.
58027
58028 2008-07-10  Ben Pfaff  <blp@gnu.org>
58029
58030         Add isnan module.
58031         * doc/posix-functions/isnan.texi: Mention new module.
58032         * lib/math.in.h: Define isnan macro if we have decided to replace
58033         it.
58034         * m4/isnan.m4: New file.
58035         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
58036         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
58037         also.
58038         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
58039         redundancy.
58040         * m4/math_h.m4: Initialize and substitute variables for isnan
58041         module.
58042         * modules/isnan: New file.
58043         * modules/isnan-tests: New file.
58044         * modules/math: Add substitutions for new module.
58045         * tests/test-isnan.c: New file.
58046         * MODULES.html.sh: Mention new module.
58047
58048 2008-07-10  Ben Pfaff  <blp@gnu.org>
58049
58050         Add isnanf module.
58051         * lib/isnanf.m4: New file.
58052         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
58053         (gl_HAVE_ISNANF_IN_LIBM): New macro.
58054         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
58055         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
58056         * modules/isnanf: New file.
58057         * modules/isnanf-tests: New file.
58058         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
58059         files.
58060         * tests/test-isnanf-nolibm.c: factored most of its contents into
58061         new file tests/test-isnanf.h.
58062         * tests/test-isnanf.h: New file.
58063         * tests/test-isnanf.c: New file.
58064         * MODULES.html.sh: Mention new module.
58065         * doc/glibc-functions/isnanf.texi: Mention new module.
58066
58067 2008-07-10  Ben Pfaff  <blp@gnu.org>
58068
58069         Add isnand module.
58070         * lib/isnand.h: New file.
58071         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
58072         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
58073         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
58074         functionality also.
58075         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
58076         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
58077         (gl_HAVE_ISNAND_IN_LIBM): New macro.
58078         * modules/isnand: New file.
58079         * modules/isnand-tests: New file.
58080         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
58081         files.
58082         * tests/test-isnand-nolibm.c: factored most of its contents into
58083         new file tests/test-isnand.h.
58084         * tests/test-isnand.h: New file.
58085         * tests/test-isnand.c: New file.
58086         * MODULES.html.sh: Mention new module.
58087
58088 2008-07-10  Ben Pfaff  <blp@gnu.org>
58089
58090         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
58091         * lib/isnand.h: Rename lib/isnand-nolibm.h.
58092         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
58093         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
58094         * modules/isnanf-nolibm: Update references to renamed files.
58095         * modules/isnand-nolibm: Likewise.
58096         * modules/isnanf-nolibm-tests: Likewise.
58097         * modules/isnand-nolibm-tests: Likewise.
58098         * lib/frexp.c: Likewise.
58099         * lib/isfinite.c: Likewise.
58100         * lib/signbitd.c: Likewise.
58101         * lib/signbitf.c: Likewise.
58102         * lib/vasnprintf.c: Likewise.
58103         * tests/test-ceilf1.c: Likewise.
58104         * tests/test-ceilf2.c: Likewise.
58105         * tests/test-floorf1.c: Likewise.
58106         * tests/test-floorf2.c: Likewise.
58107         * tests/test-frexp.c: Likewise.
58108         * tests/test-round1.c: Likewise.
58109         * tests/test-round2.c: Likewise.
58110         * tests/test-roundf1.c: Likewise.
58111         * tests/test-strtod.c: Likewise.
58112         * tests/test-trunc1.c: Likewise.
58113         * tests/test-trunc2.c: Likewise.
58114         * tests/test-truncf1.c: Likewise.
58115         * tests/test-truncf2.c: Likewise.
58116         * NEWS: Mention the renamed header files.
58117
58118 2008-07-11  Jim Meyering  <meyering@redhat.com>
58119
58120         vc-list-files: make the last-resort awk code more portable
58121         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
58122         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
58123         does not support it.
58124
58125 2008-07-10  Eric Blake  <ebb9@byu.net>
58126
58127         Work with tar's bootstrap.
58128         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
58129         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
58130         an m4 comment.
58131
58132 2008-07-09  Jim Meyering  <meyering@redhat.com>
58133
58134         posix-shell.m4: fix typo that made this test malfunction
58135         * m4/posix-shell.m4: Remove capitalization in variable name.
58136
58137 2008-07-08  Bruno Haible  <bruno@clisp.org>
58138
58139         * m4/onceonly.m4: Update comments.
58140         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58141
58142 2008-07-04  Jim Meyering  <meyering@redhat.com>
58143
58144         * users.txt: Add vc-dwim.
58145         (bison, coreutils): Use the gitweb URL.
58146
58147 2008-07-03  Jim Meyering  <meyering@redhat.com>
58148
58149         * users.txt: Add libffcall.  From Sam Steingold.
58150
58151 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
58152
58153         getdate.y: do not ignore TZ with relative day, month or year offset
58154         * lib/getdate.y (get_date): Move the tz-handling block to follow the
58155         relative-date-handling, since otherwise, the latter would clobber the
58156         sole output (an updated Start value) of the tz-handling block.
58157         * tests/test-getdate.c: Tests for the fix
58158
58159 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58160
58161         Recognize 'foo_LIBRARIES += libgnu.a'.
58162         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
58163         makefile snippet has already specified an installation location,
58164         also using '+='.
58165
58166 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
58167
58168         getdate.y: factor out common actions
58169         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
58170         Use them in place of open-coded actions.
58171
58172 2008-07-01  Simon Josefsson  <simon@josefsson.org>
58173
58174         Add self-test for getdate module.
58175         * modules/getdate-tests: New file.
58176         * tests/test-getdate.c: New file.
58177
58178 2008-06-29  Bruno Haible  <bruno@clisp.org>
58179
58180         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
58181         .gitignore.
58182         Reported by Sylvain Beucler <beuc@beuc.net>.
58183
58184 2008-06-29  Bruno Haible  <bruno@clisp.org>
58185
58186         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
58187         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
58188
58189 2008-06-29  Bruno Haible  <bruno@clisp.org>
58190
58191         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
58192         EXTRA_DIST.
58193         Reported by Sylvain Beucler <beuc@beuc.net>.
58194
58195 2008-06-26  Jim Meyering  <meyering@redhat.com>
58196
58197         make several modules depend on the "open" module
58198         This provides slightly increased consistency when opening-for-write
58199         the name of a non-directory spelled with a trailing slash.
58200         * modules/chdir-safer: Likewise.
58201         * modules/chown: Likewise.
58202         * modules/clean-temp: Likewise.
58203         * modules/copy-file: Likewise.
58204         * modules/fchdir: Likewise.
58205         * modules/fcntl-safer: Likewise.
58206         * modules/pipe: Likewise.
58207         * modules/utime: Likewise.
58208         Prompted by Eric Blake and Bruno Haible.
58209
58210 2008-06-24  Andreas Schwab  <schwab@suse.de>
58211
58212         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
58213         literals can be used as initializers for global variables.
58214
58215 2008-06-23  Eric Blake  <ebb9@byu.net>
58216
58217         Make gnulib-cache.m4 easier to diff.
58218         * gnulib-tool (func_import): Allow newlines when reading cached
58219         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
58220
58221 2008-06-23  Bruno Haible  <bruno@clisp.org>
58222
58223         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
58224         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
58225         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
58226         m4/signalblocking.m4.
58227         (gl_PREREQ_SIGACTION): Don't invoke it.
58228         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
58229         gl_PREREQ_SIG_HANDLER_H.
58230         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58231         Don't check for sigaction here.
58232
58233 2008-06-23  Bruno Haible  <bruno@clisp.org>
58234
58235         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
58236         (install_handlers): Don't set the SA_RESETHAND flag.
58237
58238 2008-06-23  Bruno Haible  <bruno@clisp.org>
58239
58240         * m4/sigaction.m4: Comment fixes.
58241         * lib/signal.in.h: Likewise.
58242
58243 2008-06-23  Eric Blake  <ebb9@byu.net>
58244
58245         Fix typo.
58246         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
58247
58248         Avoid SA_ namespace.
58249         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
58250         Reported by Ralf Wildenhues.
58251
58252         Avoid test failure due to SA_RESTORER.
58253         * tests/test-sigaction.c (SA_MASK): New macro.
58254         (main): Avoid failing due to extension flags being set.
58255         Reported by Jim Meyering.
58256
58257         Revert use of sig-handler.h in sigprocmask.c.
58258         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
58259         it requires the existence of struct sigaction.
58260         * lib/sigprocmask.c (handler_t): Restore typedef.
58261         (rpl_signal, old_handlers): Use local type.
58262
58263 2008-06-22  Bruno Haible  <bruno@clisp.org>
58264
58265         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
58266         conditionally.
58267         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58268
58269 2008-06-22  Bruno Haible  <bruno@clisp.org>
58270
58271         * doc/posix-functions/siginterrupt.texi: Move note.
58272
58273         * lib/signal.in.h (SA_RESTART): New macro.
58274         * lib/sigaction.c: Update comment.
58275
58276         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
58277
58278         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
58279         (gl_PREREQ_SIGPROCMASK): Invoke it.
58280         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
58281
58282         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
58283
58284         * lib/sigprocmask.c: Update a comment.
58285
58286 2008-06-21  Eric Blake  <ebb9@byu.net>
58287
58288         Use sigaction module rather than signal().
58289         * modules/c-stack (Depends-on): Add sigaction.
58290         * modules/fatal-signal (Depends-on): Likewise.
58291         * modules/nanosleep (Depends-on): Likewise.
58292         * modules/sigprocmask (Files): Add sig-handler.h.
58293         * modules/sigaction (Files): Likewise.
58294         * lib/sig-handler.h (get_handler): New file, suggested by Paul
58295         Eggert.
58296         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
58297         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
58298         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
58299         (init_fatal_signals): Likewise.
58300         * lib/nanosleep.c (rpl_nanosleep): Likewise.
58301         (siginterrupt): Delete fallback.
58302         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
58303         instead.
58304         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
58305         siginterrupt.
58306
58307         New module sigaction, for mingw.
58308         * modules/sigaction: New module...
58309         * modules/sigaction-tests: ...and its test.
58310         * m4/sigaction.m4: New file.
58311         * lib/sigaction.c: Likewise.
58312         * tests/test-sigaction.c: Likewise.
58313         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
58314         * modules/signal (Makefile.am): Likewise.
58315         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
58316         needed.
58317         * doc/posix-headers/signal.texi (signal.h): Mention provided
58318         types.
58319         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
58320         that sigaction is preferable.
58321         * doc/posix-functions/sigaction.texi (sigaction): Mention new
58322         module.
58323         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58324         sigaction.
58325
58326         Improve robustness of sigprocmask by overriding signal.
58327         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
58328         is in use.
58329         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
58330         (SIGKILL, SIGSTOP): Provide fallbacks.
58331         (rpl_signal): Implement.
58332         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
58333         signal can be called inside handlers.
58334
58335         Fix nanosleep module on mingw.
58336         * modules/nanosleep (Depends-on): Add sys_select.
58337         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
58338
58339         Fix licensing of sigprocmask.
58340         * modules/raise (License): Relicense as LGPL.
58341
58342 2008-06-21  Bruno Haible  <bruno@clisp.org>
58343
58344         * lib/propername.c (proper_name_utf8): Don't use the transliterated
58345         result if it contains question marks.
58346         Reported by Michael Geng <linux@michaelgeng.de>.
58347
58348 2008-06-19  Bruno Haible  <bruno@clisp.org>
58349
58350         Fix CVS-ism.
58351         * doc/gnulib.texi: Include updated-stamp.texi.
58352         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
58353         (updated-stamp.texi): New rule.
58354         (gnulib.info): Depend on it.
58355         * doc/.gitignore: Add updated-stamp.texi.
58356         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
58357
58358 2008-06-19  Bruno Haible  <bruno@clisp.org>
58359
58360         * doc/Makefile (gnulib.info): Update and simplify dependencies.
58361         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58362
58363 2008-06-19  Eric Blake  <ebb9@byu.net>
58364
58365         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
58366         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
58367         Reported by Stepan Kasal.
58368
58369 2008-06-18  Bruno Haible  <bruno@clisp.org>
58370
58371         * lib/fatal-signal.c (init_fatal_signals): Add comment.
58372         Reported by Eric Blake.
58373
58374 2008-06-18  Eric Blake  <ebb9@byu.net>
58375
58376         Work around cygwin 1.5.25 strsignal bug.
58377         * tests/test-strsignal.c: Allow for const char *.
58378         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
58379
58380 2008-06-18  Simon Josefsson  <simon@josefsson.org>
58381
58382         * users.txt: Update URL to article and add author/date
58383         information.
58384
58385 2008-06-17  Bruno Haible  <bruno@clisp.org>
58386
58387         New macro gl_DISABLE_THREADS.
58388         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
58389         if the user did not pass --enable-threads or --disable-threads option.
58390         (gl_DISABLE_THREADS): New macro.
58391         Reported by Eric Blake <ebb9@byu.net>.
58392
58393 2008-06-17  Bruno Haible  <bruno@clisp.org>
58394
58395         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
58396         when the macro ignores it.
58397         Based on a patch by Eric Blake <ebb9@byu.net>.
58398
58399 2008-06-17  Bruno Haible  <bruno@clisp.org>
58400
58401         * modules/tls (License): Change to LGPLv2+.
58402         Reported by Eric Blake.
58403
58404 2008-06-17  Eric Blake  <ebb9@byu.net>
58405
58406         Simplify c-stack prerequisites.
58407         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
58408         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
58409         no longer requires <ucontext.h> to exist.  Optimize setrlimit
58410         check.
58411         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
58412         <sys/resource.h>.
58413
58414         Move c-stack test into testsuite.
58415         * modules/c-stack-tests: New file.
58416         * lib/c-stack.c [DEBUG]: Move test program...
58417         * tests/test-c-stack.c: ...into this new file.  Skip rather than
58418         fail test if sigaltstack is lacking.
58419         * tests/test-c-stack.sh: New driver file.
58420
58421 2008-06-16  Eric Blake  <ebb9@byu.net>
58422
58423         Use raise module consistently.
58424         * modules/fatal-signal (Depends-on): Add raise.
58425         * modules/sigprocmask (Depends-on): Likewise.
58426         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
58427         * lib/sigprocmask.c (sigprocmask): Likewise.
58428         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58429         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
58430
58431         Fix compliance bug in sigpending.
58432         * lib/sigprocmask.c (sigpending): Return pending array via
58433         parameter, not return value.
58434
58435 2008-06-14  Eric Blake  <ebb9@byu.net>
58436
58437         Improve obstack-printf test code.
58438         * tests/test-obstack-printf.c (test_function): Fix comment, and
58439         simplify usage of obstack_* in macros.  Add a test for coverage.
58440         Reported by Bruno Haible.
58441
58442 2008-06-14  Bruno Haible  <bruno@clisp.org>
58443
58444         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
58445         array size as a constant, not as a const variable.
58446         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
58447         AC_USE_SYSTEM_EXTENSIONS.
58448         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
58449         Test whether the obstack_printf function actually exists.
58450         * modules/obstack-printf (Depends-on): Add extensions.
58451         (Include): Remove obstack.h.
58452         * modules/obstack-printf-posix (Depends-on): Add extensions.
58453         (Include): Remove obstack.h.
58454
58455 2008-06-13  Eric Blake  <ebb9@byu.net>
58456
58457         Add obstack-printf and obstack-printf-posix modules.
58458         * modules/obstack-printf: New file.
58459         * modules/obstack-printf-posix: Likewise.
58460         * MODULES.html.sh (Misc): Mention them.
58461         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
58462         Likewise.
58463         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
58464         Likewise.
58465         * modules/stdio (Makefile.am): Accomodate new modules.
58466         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
58467         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
58468         Declare.
58469         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
58470         functions.
58471         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
58472         (gl_REPLACE_OBSTACK_PRINTF): New macros
58473         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
58474         * tests/test-obstack-printf.c: New file.
58475         * modules/obstack-printf-tests: Likewise.
58476         * modules/obstack-printf-posix-tests: Likewise.
58477
58478 2008-06-11  Bruno Haible  <bruno@clisp.org>
58479
58480         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
58481         * lib/open.c: Include errno.h.
58482         (open): Fail when attempting to write to a file that has a trailing
58483         slash.
58484         * tests/test-open.c (main): Test against trailing slash bug.
58485         * doc/posix-functions/open.texi: Mention the trailing slash bug.
58486
58487 2008-06-10  Bruno Haible  <bruno@clisp.org>
58488
58489         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
58490         for $? to work inside the trap command, with various /bin/sh-s.
58491         * tests/test-vc-list-files-cvs.sh: Likewise.
58492
58493 2008-06-10  Bruno Haible  <bruno@clisp.org>
58494
58495         * lib/acl-internal.h: Don't include gettext.h here.
58496         * lib/set-mode-acl.c: Include gettext.h here.
58497         * lib/copy-acl.c: Likewise.
58498
58499 2008-06-10  Bruno Haible  <bruno@clisp.org>
58500
58501         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
58502         * lib/wait-process.c (wait_subprocess): Likewise.
58503         * lib/execute.h (execute): Add termsigp argument.
58504         * lib/execute.c (execute): Likewise.
58505         * lib/csharpcomp.c (compile_csharp_using_pnet,
58506         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
58507         * lib/csharpexec.c (execute_csharp_using_pnet,
58508         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
58509         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
58510         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
58511         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
58512         is_jikes_present): Update.
58513         * lib/javaexec.c (execute_java_class): Update.
58514         * lib/javaversion.c (execute_and_read_line): Update.
58515         * NEWS: Document the changes.
58516         Reported by Eric Blake.
58517
58518 2008-06-10  Eric Blake  <ebb9@byu.net>
58519
58520         Add missing include.
58521         * tests/test-strstr.c (includes): Add <signal.h>.
58522         * tests/test-strcasestr.c (includes): Likewise.
58523         * tests/test-memmem.c (includes): Likewise.
58524
58525 2008-06-10  Bruno Haible  <bruno@clisp.org>
58526
58527         * lib/wait-process.c (wait_subprocess): Add an assertion.
58528
58529 2008-06-10  Bruno Haible  <bruno@clisp.org>
58530
58531         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
58532
58533 2008-06-10  Bruno Haible  <bruno@clisp.org>
58534
58535         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
58536         using alarm().
58537         * tests/test-strcasestr.c (main): Likewise.
58538         * tests/test-strstr.c (main): Likewise.
58539
58540 2008-06-09  Bruno Haible  <bruno@clisp.org>
58541
58542         Work around the Solaris 10 ACE ACLs ABI change.
58543         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
58544         declare if ACL_NO_TRIVIAL is present.
58545         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
58546         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
58547         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
58548         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
58549         define if ACL_NO_TRIVIAL is present.
58550         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
58551         and use the current ABI.
58552         (file_has_acl): Use same #if condition as elsewhere.
58553         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
58554         in use, and use the current ABI.
58555         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
58556         Reported by Jim Meyering.
58557
58558 2008-06-09  Eric Blake  <ebb9@byu.net>
58559
58560         Work around environments that (stupidly) ignore SIGALRM.
58561         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
58562         before using alarm().
58563         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58564         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
58565         Reported by Ian Beckwith <ianb@erislabs.net>.
58566
58567         Produce autobuild blurb earlier in log.
58568         * modules/autobuild (configure.ac-early): Move AB_INIT here.
58569
58570 2008-06-09  Jim Meyering  <meyering@redhat.com>
58571         and OndÅ™ej Vašík  <ovasik@redhat.com>
58572
58573         utimens.c: correct kernel bug work-around
58574         OndÅ™ej Vašík found that the invalid return value of 280 indicates
58575         failure, not success, and the kernel bug we're trying to work
58576         around affects not just the utimensat call, but also the fallback
58577         futimens call.
58578         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
58579         not success.
58580         [HAVE_FUTIMENS]: Use the same work-around, here.
58581
58582 2008-06-09  Jim Meyering  <meyering@redhat.com>
58583
58584         add more guards around definition of ACE_-related code
58585         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
58586         ALLOW and ACE_OWNER are also defined.
58587
58588 2008-06-08  Bruno Haible  <bruno@clisp.org>
58589
58590         * lib/acl-internal.h: Add me as co-author.
58591         * lib/file-has-acl.c: Likewise.
58592         * lib/set-mode-acl.c: Likewise.
58593         * lib/copy-acl.c: Likewise.
58594
58595 2008-06-08  Bruno Haible  <bruno@clisp.org>
58596
58597         Add support for AIX ACLs.
58598         * lib/acl-internal.h (acl_nontrivial): New declaration.
58599         * lib/file-has-acl.c (acl_nontrivial): New function.
58600         (file_has_acl): Add implementation using AIX 4 ACL API.
58601         * lib/set-mode-acl.c (qset_acl): Likewise.
58602         * lib/copy-acl.c (qcopy_acl): Likewise.
58603
58604 2008-06-08  Bruno Haible  <bruno@clisp.org>
58605
58606         Add support for HP-UX ACLs.
58607         * lib/acl-internal.h (acl_nontrivial): New declaration.
58608         * lib/file-has-acl.c (acl_nontrivial): New function.
58609         (file_has_acl): Add implementation using HP-UX 11 ACL API.
58610         * lib/set-mode-acl.c (qset_acl): Likewise.
58611         * lib/copy-acl.c (qcopy_acl): Likewise.
58612
58613 2008-06-08  Bruno Haible  <bruno@clisp.org>
58614
58615         Add support for Cygwin ACLs.
58616         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
58617         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
58618         the chmod_or_fchmod call.
58619         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
58620
58621 2008-06-08  Bruno Haible  <bruno@clisp.org>
58622
58623         Fix bug with setuid modes in Solaris 10+ code.
58624         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
58625         succeeded, when the mode contains some special bits.
58626
58627 2008-06-08  Bruno Haible  <bruno@clisp.org>
58628
58629         Add support for Solaris 7..10 ACLs.
58630         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
58631         declarations.
58632         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
58633         functions.
58634         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
58635         * lib/set-mode-acl.c (qset_acl): Likewise.
58636         * lib/copy-acl.c (qcopy_acl): Likewise.
58637
58638 2008-06-08  Bruno Haible  <bruno@clisp.org>
58639
58640         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
58641         declaration.
58642         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
58643         (acl_access_nontrivial): Remove MacOS X case.
58644         (file_has_acl): Use acl_extended_nontrivial.
58645         * lib/copy-acl.c (qcopy_acl): Likewise.
58646
58647 2008-06-08  Bruno Haible  <bruno@clisp.org>
58648
58649         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
58650
58651 2008-06-08  Jim Meyering  <meyering@redhat.com>
58652
58653         * modules/acl (Maintainer): Add Bruno Haible.
58654
58655 2008-06-07  Bruno Haible  <bruno@clisp.org>
58656
58657         Improve support for Tru64 ACLs.
58658         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
58659         ACL on OSF/1.
58660
58661 2008-06-07  Bruno Haible  <bruno@clisp.org>
58662
58663         Add support for MacOS X ACLs.
58664         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
58665         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
58666         * lib/set-mode-acl.c (qset_acl): Likewise.
58667         * lib/copy-acl.c (qcopy_acl): Likewise.
58668
58669 2008-06-07  Bruno Haible  <bruno@clisp.org>
58670
58671         Fix memory leak introduced on 2008-05-22.
58672         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
58673         use.
58674
58675 2008-06-07  Bruno Haible  <bruno@clisp.org>
58676
58677         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
58678         to construct an empty ACL.
58679
58680 2008-06-07  Bruno Haible  <bruno@clisp.org>
58681
58682         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
58683         precisely.
58684         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
58685
58686 2008-06-07  Bruno Haible  <bruno@clisp.org>
58687
58688         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
58689         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
58690
58691 2008-06-07  Bruno Haible  <bruno@clisp.org>
58692
58693         * doc/posix-functions/_setjmp.texi: Explain the use of this function
58694         regardless of POSIX.
58695         * doc/posix-functions/_longjmp.texi: Likewise.
58696         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
58697         SystemV platform in this case.
58698
58699 2008-06-06  Eric Blake  <ebb9@byu.net>
58700
58701         Document abort() bugs.
58702         * doc/posix-functions/abort.texi (abort): Mention anomalies.
58703
58704         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
58705         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
58706         sigsetjmp.
58707         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
58708         siglongjmp, but only as a macro.
58709         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
58710         is obsolete.
58711         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
58712
58713         Tweak documentation to cover cygwin argz bugs.
58714         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
58715         argz bug fix; no code change needed since no cygwin releases
58716         occurred between the last fix and the bug being tested.
58717         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
58718         module and recently fixed cygwin bugs.
58719         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
58720         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
58721         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
58722         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
58723         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
58724         Likewise.
58725         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
58726         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
58727         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
58728         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
58729         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
58730         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
58731         Likewise.
58732
58733         Avoid gcc warning on cygwin.
58734         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
58735         !ACL_NO_TRIVIAL]: Avoid unused variable.
58736
58737 2008-06-05  Eric Blake  <ebb9@byu.net>
58738
58739         Be tolerant of UNKNOWN version in gnulib-tool test dir.
58740         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
58741         git-version-gen fails to come up with a version.
58742         Reported by Simon Josefsson.
58743
58744 2008-06-05  Jim Meyering  <meyering@redhat.com>
58745             Paul Eggert  <eggert@cs.ucla.edu>
58746
58747         utimens.c: work around a probable Linux kernel bug
58748         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
58749         appears to be a kernel bug that causes utimensat to return 280
58750         instead of 0, indicating success.
58751
58752 2008-06-04  Bruno Haible  <bruno@clisp.org>
58753
58754         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
58755         2008-06-01 commit.
58756
58757 2008-06-04  Bruno Haible  <bruno@clisp.org>
58758
58759         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
58760         * lib/file-has-acl.c (acl_access_nontrivial): New function.
58761         (file_has_acl): Use it. Save errno afterwards.
58762         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
58763
58764 2008-06-03  Bruno Haible  <bruno@clisp.org>
58765
58766         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
58767         draft code. Simplify #ifs.
58768         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
58769         Put Solaris code after POSIX-draft code. Fix comments regarding
58770         Solaris 10, HP-UX. Mention Cygwin.
58771         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
58772
58773 2008-06-03  Eric Blake  <ebb9@byu.net>
58774
58775         Provide fallback for older kernels.
58776         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
58777         Provide runtime fallback if kernel lacks support.
58778         Reported by Mike Frysinger.
58779
58780 2008-06-02  Bruno Haible  <bruno@clisp.org>
58781
58782         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
58783         it exists.
58784
58785 2008-06-02  Bruno Haible  <bruno@clisp.org>
58786
58787         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
58788         * lib/copy-acl.c (qcopy_acl): Update comment.
58789
58790 2008-06-02  Bruno Haible  <bruno@clisp.org>
58791
58792         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
58793         like ACL APIs.
58794
58795 2008-06-02  Bruno Haible  <bruno@clisp.org>
58796
58797         * tests/test-file-has-acl.sh: Use different code for Cygwin.
58798         * tests/test-set-mode-acl.sh: Likewise.
58799         * tests/test-copy-acl.sh: Likewise.
58800         * tests/test-copy-file.sh: Likewise.
58801
58802 2008-06-02  Bruno Haible  <bruno@clisp.org>
58803
58804         * tests/test-file-has-acl.sh: Remove unused code.
58805
58806 2008-06-01  Bruno Haible  <bruno@clisp.org>
58807
58808         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
58809         (copy_acl): Just a wrapper around qcopy_acl that emits the error
58810         messages.
58811         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
58812
58813 2008-06-01  Bruno Haible  <bruno@clisp.org>
58814
58815         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
58816         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
58817         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
58818         APIs.
58819         * modules/acl-tests (configure.ac): Remove tests now contained in
58820         m4/acl.m4.
58821
58822 2008-06-02  Jim Meyering  <meyering@redhat.com>
58823
58824         announce-gen: use a better key-server host name
58825         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
58826         it may be more consistently reliable.  Suggested by Werner Koch
58827         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
58828
58829 2008-06-01  Bruno Haible  <bruno@clisp.org>
58830
58831         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
58832         Reported by Voroskoi Andras <voroskoi@gmail.com>.
58833
58834 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
58835
58836         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
58837
58838 2008-06-01  Bruno Haible  <bruno@clisp.org>
58839
58840         New ACL tests.
58841         * tests/test-file-has-acl.sh: New file.
58842         * tests/test-file-has-acl.c: New file.
58843         * tests/test-set-mode-acl.sh: New file.
58844         * tests/test-set-mode-acl.c: New file.
58845         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
58846         * tests/test-copy-acl.c: New file.
58847         * modules/acl-tests: New file, based on modules/copy-file-tests.
58848         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
58849         (Depends-on): Add acl-tests.
58850         (configure.ac): Remove checks.
58851         (Makefile.am): Don't create test-sameacls program here any more.
58852
58853 2008-06-01  Bruno Haible  <bruno@clisp.org>
58854
58855         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
58856         * tests/test-sameacls.c: Include progname.h.
58857         (main): Invoke set_program_name. Portability fixes for MacOS X,
58858         Solaris, HP-UX.
58859
58860 2008-06-01  Bruno Haible  <bruno@clisp.org>
58861
58862         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
58863         function.
58864         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
58865
58866 2008-06-01  Bruno Haible  <bruno@clisp.org>
58867
58868         * modules/rpmatch (Depends-on): Add strdup.
58869
58870 2008-06-01  Bruno Haible  <bruno@clisp.org>
58871
58872         * lib/pipe.c: Include unistd-safer.h.
58873         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
58874         * modules/pipe (Depends-on): Add unistd-safer.
58875
58876 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58877
58878         * modules/autobuild (configure.ac): Call AB_INIT.
58879
58880 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58881
58882         * tests/test-getaddrinfo.c: Don't print debug messages by default.
58883         Suggested by Bruno Haible <bruno@clisp.org>.
58884
58885 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58886
58887         * tests/test-base64.c: Cast size_t to unsigned long when invoking
58888         printf.  Use %lu instead of %d.  Reported by Bruno Haible
58889         <bruno@clisp.org>.
58890
58891 2008-05-29  Eric Blake  <ebb9@byu.net>
58892
58893         Prefer new POSIX 200x interfaces over futimesat.
58894         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
58895         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
58896         when available.
58897         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
58898
58899 2008-05-28  Bruno Haible  <bruno@clisp.org>
58900
58901         * modules/stpcpy (License): Change to LGPLv2+.
58902         Requested by David Lutterkort <dlutter@redhat.com>.
58903
58904 2008-05-27  Bruno Haible  <bruno@clisp.org>
58905
58906         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
58907         current mingw.
58908         Reported by Jose E. Marchesi <jemarch@gnu.org>.
58909
58910 2008-05-27  Bruno Haible  <bruno@clisp.org>
58911
58912         * modules/iconv_open (Link): New section, from module 'iconv'.
58913         * modules/striconv (Link): Likewise.
58914         * modules/striconveh (Link): Likewise.
58915         * modules/xstriconv (Link): Likewise.
58916         * modules/unicodeio (Link): Likewise.
58917         * modules/propername (Link): Likewise.
58918         Reported by Jim Meyering.
58919
58920 2008-05-26  Jim Meyering  <meyering@redhat.com>
58921
58922         sha256: do not artificially restrict buffer length to be < 2^32
58923         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
58924         uint32_t to size_t.
58925         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
58926         to match.
58927
58928         avoid unaligned access errors, e.g., on sparc
58929         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
58930         direct access through a possibly-unaligned uint64* pointer.
58931         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
58932         direct access through a possibly-unaligned uint32* pointer.
58933         Prompted by this patch from Tom "spot" Callaway:
58934         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
58935
58936         sha512.c: fix typo in comment
58937         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
58938
58939 2008-05-25  Bruno Haible  <bruno@clisp.org>
58940
58941         * lib/set-mode-acl.c: Renamed from lib/acl.c.
58942         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
58943         (Makefile.am): Update lib_SOURCES.
58944
58945 2008-05-25  Bruno Haible  <bruno@clisp.org>
58946
58947         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
58948
58949 2008-05-25  Jim Meyering  <meyering@redhat.com>
58950
58951         useless-if-before-free: freed expr may have white-space differences
58952         * build-aux/useless-if-before-free: Recognize cases in which the
58953         freed expression differs from the tested one in embedded white
58954         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
58955         $1 was used, so we can't make any regexp shy.  Improved tests now
58956         detect this.
58957
58958         useless-if-before-free: accept white space in the expression.
58959         * build-aux/useless-if-before-free: For now, any white space
58960         in the expression must be identical in the free argument.
58961
58962         useless-if-before-free: efficiency tweak
58963         * build-aux/useless-if-before-free: Make the expression-matching
58964         regexp "shy".
58965         Make the *outer* regexp shy, not the expr-matching one.
58966
58967         update code-in-comment to accept cast of free arg
58968         * build-aux/useless-if-before-free: Update regexp.
58969
58970 2008-05-25  Bruno Haible  <bruno@clisp.org>
58971
58972         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
58973         * modules/copy-file-tests (Files, Makefile.am): Update.
58974         * tests/test-copy-file.c (func_test_copy): Update.
58975
58976 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
58977
58978         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
58979
58980 2008-05-23  Bruno Haible  <bruno@clisp.org>
58981
58982         Improve support for ACLs on OSF/1.
58983         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
58984         Remove fallback for unknown flavors of ACLs.
58985
58986 2008-05-22  Bruno Haible  <bruno@clisp.org>
58987
58988         Add support for ACLs on OSF/1.
58989         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
58990         replacements.
58991         (acl_free_text): New macro fallback.
58992         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
58993         acl_free.
58994         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
58995         acl_free_text function. Require AC_C_INLINE.
58996
58997 2008-05-22  Bruno Haible  <bruno@clisp.org>
58998
58999         Make copy_acl work on MacOS X 10.5.
59000         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
59001         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
59002         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
59003         If MODE_INSIDE_ACL, don't assume that every system has the same text
59004         representation for ACLs as FreeBSD.
59005         * lib/copy-acl.c (copy_acl): Add support for platforms with
59006         !MODE_INSIDE_ACL.
59007         * lib/file-has-acl.c (file_has_acl): Likewise.
59008         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
59009         FreeBSD, MacOS X, or IRIX, respectively.
59010
59011 2008-05-22  Bruno Haible  <bruno@clisp.org>
59012
59013         * lib/acl.h: Don't include <sys/acl.h>.
59014         (GETACLCNT): Move fallback to lib/acl-internal.h.
59015         * lib/acl-internal.h: Include <sys/acl.h> here.
59016         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
59017
59018 2008-05-22  Bruno Haible  <bruno@clisp.org>
59019
59020         Split off copy_acl function to separate file.
59021         * lib/copy-acl.c: New file, extracted from lib/acl.c.
59022         * lib/acl.c (copy_acl): Moved function to separate file.
59023         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
59024         * modules/acl (Files): Add lib/copy-acl.c.
59025         (Makefiles.am): Augment lib_SOURCES.
59026
59027 2008-05-22  Bruno Haible  <bruno@clisp.org>
59028
59029         * modules/copy-file-tests: New file.
59030         * tests/test-copy-file.sh: New file.
59031         * tests/test-copy-file.c: New file.
59032         * tests/test-copy-file-sameacls.c: New file.
59033
59034 2008-05-22  Eric Blake  <ebb9@byu.net>
59035
59036         Avoid gcc warning.
59037         * tests/test-memcmp.c (main): Pass NULL indirectly.
59038
59039 2008-05-21  Bruno Haible  <bruno@clisp.org>
59040
59041         Add reference doc about ACLs.
59042         * doc/acl-resources.txt: New file.
59043         * doc/acl-cygwin.txt: New file.
59044
59045 2008-05-21  Bruno Haible  <bruno@clisp.org>
59046
59047         Avoid one more warning from gcc.
59048         * lib/vasnprintf.c (IF_LINT): Update comments.
59049         (VASNPRINTF): Use it also for the 'prefix' array initializer.
59050
59051 2008-05-21  Jim Meyering  <meyering@redhat.com>
59052
59053         avoid a warning from gcc
59054         * lib/vasnprintf.c (IF_LINT): Define.
59055         (scale10_round_decimal_long_double):
59056         Use it to avoid a "may be used uninitialized" warning.
59057         (scale10_round_decimal_double): Likewise.
59058
59059 2008-05-21  Simon Josefsson  <simon@josefsson.org>
59060
59061         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
59062         declared.
59063
59064 2008-05-20  Bruno Haible  <bruno@clisp.org>
59065
59066         * tests/test-memcmp.c (main): Test also the sign of the result. Test
59067         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
59068
59069 2008-05-20  Simon Josefsson  <simon@josefsson.org>
59070
59071         * modules/memcmp-tests: New file.
59072         * tests/test-memcmp.c: New file.
59073
59074 2008-05-19  Bruno Haible  <bruno@clisp.org>
59075
59076         * modules/propername (Notice, configure.ac): Put quoted "..." into
59077         --keyword option.
59078         * lib/propername.h: Update comments accordingly.
59079         Reported by Eric Blake.
59080
59081 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
59082
59083         * modules/getpass-gnu (Depends-on): Add fseeko.
59084
59085 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59086
59087         * modules/base64-tests: New file.
59088
59089 2008-05-19  Bo Borgerson <gigabo@gmail.com>
59090
59091         * lib/base64.c (base64_decode_ctx): If a decode context structure
59092         was passed in use it to ignore newlines.  If a context structure
59093         was _not_ passed in, continue to treat newlines as garbage (this
59094         is the historical behavior).  Formerly base64_decode.
59095         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59096         takes a decode context structure.
59097         * lib/base64.h (base64_decode): Macro for four-argument calls.
59098         (base64_decode_alloc): Likewise.
59099         * lib/base64.c (base64_decode_ctx): If a decode context structure
59100         was passed in use it to ignore newlines.  If a context structure
59101         was _not_ passed in, continue to treat newlines as garbage (this
59102         is the historical behavior).  Formerly base64_decode.
59103         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59104         takes a decode context structure.
59105         * lib/base64.h (base64_decode): Macro for four-argument calls.
59106         (base64_decode_alloc): Likewise.
59107
59108 2008-05-19  Jim Meyering  <meyering@redhat.com>
59109
59110         avoid a warning from gcc
59111         * lib/trim.c (IF_LINT): Define.
59112         (trim2): Use it to avoid a "may be used uninitialized" warning.
59113
59114         Fix doc typo.
59115         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
59116
59117 2008-05-19  Bruno Haible  <bruno@clisp.org>
59118
59119         * doc/glibc-functions/getpass.texi: Document limits of other
59120         implementations.
59121
59122 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59123             Bruno Haible <bruno@clisp.org>
59124
59125         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
59126
59127 2008-05-18  Bruno Haible  <bruno@clisp.org>
59128
59129         * modules/propername: New file, from GNU gettext.
59130         * lib/propername.h: New file, from GNU gettext.
59131         * lib/propername.c: New file, from GNU gettext.
59132         * MODULES.html.sh (Internationalization functions): Add propername.
59133
59134 2008-05-16  Jim Meyering  <meyering@redhat.com>
59135             Bruno Haible  <bruno@clisp.org>
59136
59137         Avoid some warnings from "gcc -Wshadow".
59138         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
59139
59140 2008-05-15  Eric Blake  <ebb9@byu.net>
59141
59142         Extend previous patch to cygwin 1.7.0.
59143         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
59144         fast implementation in cygwin >= 1.7.0.
59145         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59146         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59147
59148 2008-05-15  Bruno Haible  <bruno@clisp.org>
59149
59150         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
59151         implementation in glibc >= 2.9.
59152         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59153         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59154
59155 2008-05-15  Bruno Haible  <bruno@clisp.org>
59156
59157         * MODULES.html.sh (Internationalization functions): Remove linebreak.
59158         (Unicode string functions): Add unilbrk/*.
59159         Reported by Karl Berry.
59160
59161 2008-05-15  Eric Blake  <ebb9@byu.net>
59162
59163         Fix violation of <stdbool.h> replacement in regex.
59164         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
59165         * lib/regexec.c (re_search_internal): Likewise.
59166         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
59167
59168 2008-05-15  Jim Meyering  <meyering@redhat.com>
59169
59170         avoid distracting test output when git or cvs is not found
59171         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
59172         * tests/test-vc-list-files-git.sh: Likewise.
59173
59174 2008-05-15  Eric Blake  <ebb9@byu.net>
59175
59176         Glibc finally accepted the memmem speedup code, bugzilla #5514.
59177         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
59178         glibc version.
59179         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
59180         * doc/posix-functions/strstr.texi (strstr): Likewise.
59181         * lib/str-two-way.h (MAX): Sychronize with glibc.
59182
59183 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
59184
59185         * lib/regcomp.c (optimize_utf8): Add a note on why we test
59186         opr.ctx_type.
59187         (calc_first): Initialize constraint field.
59188         (duplicate_node_closure): Use it instead of special casing ANCHORS.
59189         Fix grammar.
59190         (duplicate_node): Merge constraint field for all node types.
59191         (calc_eclosure_iter): Look at constraint field for all node types.
59192         * lib/regex_internal.c (create_cd_newstate): Don't look at
59193         opr.ctx_type.
59194
59195 2008-05-14  Bruno Haible  <bruno@clisp.org>
59196
59197         Help GCC to do better code generation.
59198         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
59199         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
59200         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
59201         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
59202         Declare with attribute 'malloc' if supported.
59203
59204 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
59205
59206         use "echo STR|wc -c" rather than unportable "expr length STR"
59207         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
59208         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
59209
59210 2008-05-14  Jim Meyering  <meyering@redhat.com>
59211
59212         use dd ibs=$n count=1 ... rather than less-portable head -c$n
59213         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
59214         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
59215         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
59216         via Collin Lasse.
59217
59218 2008-05-14  Eric Blake  <ebb9@byu.net>
59219
59220         Avoid quadratic growth in gl_LIBSOURCES.
59221         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
59222         Suggested by Bruno Haible.
59223
59224         Test xmemdup0.
59225         * modules/xmemdup0-tests: New file.
59226         * tests/test-xmemdup0.c: Likewise.
59227
59228 2008-05-13  Eric Blake  <ebb9@byu.net>
59229
59230         Split xmemdup0 into its own module.
59231         * modules/xmemdup0: New file.
59232         * lib/xmemdup0.h: Likewise.
59233         * lib/xmemdup0.c: Likewise.
59234         * MODULES.html.sh (Memory management functions): Add xmemdup0.
59235         * lib/xalloc.h (xmemdup0): Remove.
59236         * lib/xmalloc.c (xmemdup0): Likewise.
59237
59238 2008-05-13  Eric Blake  <ebb9@byu.net>
59239             Bruno Haible  <bruno@clisp.org>
59240
59241         Reduce number of forks required during autoconf.
59242         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
59243         and gl_LIBSOURCES_DIR.
59244         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
59245         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
59246         m4_syscmd per file.
59247         <m4_foreach_w>: Move...
59248         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
59249
59250 2008-05-13  Eric Blake  <ebb9@byu.net>
59251
59252         * gnulib-tool: Fix various comment typos.
59253
59254 2008-05-12  Bruno Haible  <bruno@clisp.org>
59255
59256         Tailor the linebreaking algorithm.
59257         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
59258
59259 2008-05-12  Bruno Haible  <bruno@clisp.org>
59260
59261         Update to Unicode 5.0.0.
59262         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59263         LBP_JV, LBP_JT. Redistribute values.
59264         (unilbrk_table): Change size.
59265         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
59266         Unicode TR#14 rev. 22.
59267         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59268         LBP_JV, LBP_JT. Redistribute values.
59269         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
59270         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
59271         Update.
59272         * lib/unilbrk/lbrkprop1.h: Regenerated.
59273         * lib/unilbrk/lbrkprop2.h: Regenerated.
59274         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
59275         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
59276         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
59277         Likewise.
59278         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
59279         Likewise.
59280         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
59281         result.
59282         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
59283         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
59284         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
59285         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
59286         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
59287         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
59288
59289 2008-05-11  Bruno Haible  <bruno@clisp.org>
59290
59291         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
59292
59293 2008-05-11  Bruno Haible  <bruno@clisp.org>
59294
59295         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
59296         * modules/unilbrk/gen-lbrk: New file.
59297
59298 2008-05-11  Bruno Haible  <bruno@clisp.org>
59299
59300         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
59301         * m4/sha512.m4 (gl_SHA512): Likewise.
59302
59303 2008-05-11  Jim Meyering  <meyering@redhat.com>
59304
59305         New modules: crypto/sha256, crypto/sha512 (from coreutils)
59306         * modules/crypto/sha256: New file.
59307         * modules/crypto/sha512: Likewise.
59308         * lib/sha256.c: Likewise.
59309         * lib/sha256.h: Likewise.
59310         * lib/sha512.c: Likewise.
59311         * lib/sha512.h: Likewise.
59312         * lib/u64.h: Likewise.
59313         * m4/sha256.m4: Likewise.
59314         * m4/sha512.m4: Likewise.
59315         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
59316
59317 2008-05-10  Bruno Haible  <bruno@clisp.org>
59318
59319         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
59320         (Input/Output <stdio.h>): Add xprintf.
59321         (Signal handling <signal.h>): Add strsignal.
59322         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
59323         (Core language properties): Add func.
59324         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
59325         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
59326         strings.
59327         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
59328         (Input/output): New section.
59329         (File system functions): Add openat-die, stat-macros.
59330         (Networking functions): Add sockets.
59331         (Unicode string functions): Add unictype/*.
59332         (Support for building libraries and executables): Add gperf.
59333         (Support for building documentation): Add agpl-3.0.
59334         (Misc): Add nocrash.
59335
59336 2008-05-10  Bruno Haible  <bruno@clisp.org>
59337
59338         * modules/unictype/gen-ctype: New file.
59339
59340 2008-05-10  Jim Meyering  <meyering@redhat.com>
59341
59342         Make chdir-safer.c more efficient on a system with no symlinks.
59343         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
59344         also if ELOOP is zero.  Suggested by Bruno Haible.
59345
59346         Make chdir-safer.c slightly safer.
59347         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
59348         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
59349
59350         Avoid compile failure on systems without ELOOP (like mingw).
59351         * lib/chdir-safer.c (ELOOP): Define if not already defined.
59352         Reported by Bruno Haible.
59353
59354 2008-05-10  Bruno Haible  <bruno@clisp.org>
59355
59356         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
59357         (is_utf8_encoding): Use a case-insensitive comparison.
59358         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
59359         streq.
59360
59361 2008-05-10  Bruno Haible  <bruno@clisp.org>
59362
59363         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
59364         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
59365         * lib/unilbrk/ulc-common.h (iconv_string_length,
59366         iconv_string_keeping_offsets): Remove declarations.
59367         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
59368         Don't include <iconv.h>, streq.h, xsize.h.
59369         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
59370         conversion.
59371         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
59372         <iconv.h>, streq.h, xsize.h.
59373         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
59374         conversion.
59375         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
59376         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
59377         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
59378         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
59379
59380 2008-05-10  Bruno Haible  <bruno@clisp.org>
59381
59382         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
59383         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
59384
59385         * modules/unilbrk/u32-width-linebreaks-tests: New file.
59386         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
59387
59388         * modules/unilbrk/u16-width-linebreaks-tests: New file.
59389         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
59390
59391         * modules/unilbrk/u8-width-linebreaks-tests: New file.
59392         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
59393
59394         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
59395         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
59396
59397         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
59398         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
59399
59400         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
59401         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
59402
59403         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
59404         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
59405
59406 2008-05-10  Bruno Haible  <bruno@clisp.org>
59407
59408         Split up 'linebreak' module.
59409         * lib/unilbrk.h: New file, based on lib/linebreak.h.
59410         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
59411         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
59412         modifications.
59413         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
59414         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
59415         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
59416         lib/linebreak.c.
59417         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
59418         lib/linebreak.c.
59419         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
59420         lib/linebreak.c.
59421         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
59422         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
59423         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
59424         lib/linebreak.c.
59425         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
59426         lib/linebreak.c.
59427         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
59428         lib/linebreak.c.
59429         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
59430         lib/linebreak.c.
59431         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
59432         lib/linebreak.c.
59433         * modules/unilbrk/base: New file.
59434         * modules/unilbrk/tables: New file.
59435         * modules/unilbrk/u8-possible-linebreaks: New file.
59436         * modules/unilbrk/u16-possible-linebreaks: New file.
59437         * modules/unilbrk/u32-possible-linebreaks: New file.
59438         * modules/unilbrk/ulc-common: New file.
59439         * modules/unilbrk/ulc-possible-linebreaks: New file.
59440         * modules/unilbrk/u8-width-linebreaks: New file.
59441         * modules/unilbrk/u16-width-linebreaks: New file.
59442         * modules/unilbrk/u32-width-linebreaks: New file.
59443         * modules/unilbrk/ulc-width-linebreaks: New file.
59444         * lib/linebreak.h: Remove file.
59445         * lib/linebreak.c: Remove file.
59446         * m4/linebreak.m4: Remove file.
59447         * modules/linebreak: Remove file.
59448         * NEWS: Mention the changes.
59449
59450 2008-05-09  Eric Blake  <ebb9@byu.net>
59451
59452         Add xmemdup0.
59453         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
59454         implementation.
59455         * lib/xmalloc.c (xmemdup0): New C implementation.
59456
59457 2008-05-08  Bruno Haible  <bruno@clisp.org>
59458
59459         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
59460
59461 2008-05-07  Eric Blake  <ebb9@byu.net>
59462
59463         Support cross-compilation of <wctype.h>.
59464         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
59465         AC_CACHE_CHECK.
59466
59467 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
59468
59469         * build-aux/vc-list-files: Add support for bzr.
59470
59471 2008-05-03  Jim Meyering  <meyering@redhat.com>
59472
59473         avoid failed assertion with tight malloc
59474         * tests/test-getndelim2.c: Correct an off-by-one assertion.
59475
59476 2008-05-03  Simon Josefsson  <simon@josefsson.org>
59477
59478         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
59479         are needed from arpa/inet.h.
59480         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
59481         Reported by Bruno Haible.
59482
59483 2008-05-02  Jim Meyering  <meyering@redhat.com>
59484
59485         avoid compilation error on FreeBSD 6
59486         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
59487
59488 2008-05-01  Jim Meyering  <meyering@redhat.com>
59489
59490         useless-if-before-free: correct --help's exit status description
59491         * build-aux/useless-if-before-free (usage): Like grep, exit 0
59492         for one or more matches, etc.  Reported by Bruno Haible.
59493
59494         vc-list-files: make the stand-alone gnulib test work
59495         * modules/vc-list-files-tests (configure.ac):
59496         Define and AC_SUBST abs_aux_dir.
59497         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
59498         $(abs_top_srcdir) to each script and having each of them
59499         duplicate the work of setting PATH, set PATH here, using
59500         the new variable, abs_aux_dir instead.
59501         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
59502         * tests/test-vc-list-files-git.sh: Likewise.
59503         Reported by Bruno Haible.
59504
59505 2008-05-01  Bruno Haible  <bruno@clisp.org>
59506
59507         * lib/getndelim2.c (getndelim2): Fix newsize computation during
59508         reallocation. Rename 'done' to 'found_delimiter'.
59509
59510 2008-05-01  Jim Meyering  <meyering@redhat.com>
59511
59512         vc-list-files: accommodate /bin/sh like the one from Solaris 10
59513         * build-aux/vc-list-files: Use `...`, not $(...).
59514
59515 2008-04-30  Jim Meyering  <meyering@redhat.com>
59516
59517         add tests for vc-list-files
59518         * modules/vc-list-files-tests: New module.
59519         * tests/test-vc-list-files-cvs.sh: New file.
59520         * tests/test-vc-list-files-git.sh: New file.
59521
59522         avoid a warning from gcc
59523         * lib/getndelim2.c (IF_LINT): Define.
59524         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
59525
59526         vc-list-files: work properly with build-aux/cvsu, too
59527         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
59528         to all cvs-based clauses.
59529
59530         vc-list-files: work properly in the CVS+awk case, too
59531         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
59532
59533         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
59534         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
59535         take more than one file argument, so .  Add quotes, just in case $dir
59536         ever contains a shell meta-character.  Prompted by Soren Hansen in
59537         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
59538
59539 2008-04-29  Eric Blake  <ebb9@byu.net>
59540
59541         Optimize getndelim2 to use block operations when possible.
59542         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
59543         freadseek, and memchr2.
59544         * lib/getndelim2.c (getndelim2): Use them for block reads.
59545
59546 2008-04-29  Bruno Haible  <bruno@clisp.org>
59547
59548         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
59549         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59550         * modules/inet_ntop (Depends-on): Add extensions.
59551         * modules/inet_pton (Depends-on): Likewise.
59552         Reported by Simon Josefsson.
59553
59554 2008-04-29  Jim Meyering  <meyering@redhat.com>
59555
59556         When the is more than one match in a block, match all of them.
59557         * build-aux/useless-if-before-free: Iterate through each block
59558         until there are no more matches.
59559
59560         Fix broken useless-if-before-free script.
59561         * build-aux/useless-if-before-free: Fix typo: missing "?" after
59562         the expression to match cast of argument to free-like function.
59563
59564 2008-04-29  Eric Blake  <ebb9@byu.net>
59565
59566         Use new header.
59567         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
59568
59569 2008-04-29  Jim Meyering  <meyering@redhat.com>
59570
59571         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
59572         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
59573         by gnulib to exist and to declare e.g., inet_ntop.
59574         Don't include "inet_ntop.h", now removed.
59575
59576         * m4/arpa_inet_h.m4: Remove trailing blanks.
59577
59578 2008-04-29  Eric Blake  <ebb9@byu.net>
59579
59580         Silence valgrind on safe reads beyond potential array bounds.
59581         * lib/rawmemchr.valgrind: New file.
59582         * lib/strchrnul.valgrind: Likewise.
59583         * modules/rawmemchr (Files): Distribute new file.
59584         * modules/strchrnul (Files): Likewise.
59585         Suggested by Bruno Haible.
59586
59587 2008-04-29  Bruno Haible  <bruno@clisp.org>
59588
59589         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
59590         (inet_ntop, inet_pton): Change portability warning's wording.
59591         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
59592         Invoke gl_CHECK_NEXT_HEADERS.
59593         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
59594         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
59595         set ARPA_INET_H.
59596         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59597         * modules/arpa_inet (Description): No longer only for systems that
59598         lack it.
59599         (Depends-on): Add include_next.
59600         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
59601         HAVE_ARPA_INET_H.
59602
59603 2008-04-29  Jim Meyering  <meyering@redhat.com>
59604
59605         * modules/mkdir (License): Re-license as LGPLv2+.
59606
59607 2008-04-29  Bruno Haible  <bruno@clisp.org>
59608
59609         * modules/rawmemchr (Maintainer): Set to Eric.
59610         * modules/strchrnul (Maintainer): Likewise.
59611
59612 2008-04-29  Simon Josefsson  <simon@josefsson.org>
59613
59614         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
59615         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
59616
59617         * modules/arpa_inet (arpa/inet.h): Use them.
59618
59619 2008-04-28  Eric Blake  <ebb9@byu.net>
59620
59621         Test getndelim2.
59622         * modules/getndelim2-tests: New file.
59623         * tests/test-getndelim2.c: Likewise.
59624         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
59625         stream.
59626         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
59627
59628         * MODULES.html.sh: Document new module.
59629
59630 2008-04-20  Bruno Haible  <bruno@clisp.org>
59631
59632         * lib/c-stack.c (die): Use raise.
59633         * modules/c-stack (Depends-on): Add raise.
59634
59635 2008-04-28  Bruno Haible  <bruno@clisp.org>
59636
59637         Expect rpmatch to be declared.
59638         * lib/yesno.c (rpmatch): Remove declaration.
59639
59640         Declare rpmatch.
59641         * lib/stdlib.in.h (rpmatch): New declaration.
59642         * lib/rpmatch.c: Include <stdlib.h> first.
59643         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
59644         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
59645         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
59646         HAVE_RPMATCH.
59647         * modules/rpmatch (Depends-on): Add stdlib, extensions.
59648         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59649         (Include): Set to <stdlib.h>.
59650         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
59651         HAVE_RPMATCH.
59652         * NEWS: Document the change.
59653
59654 2008-04-28  Bruno Haible  <bruno@clisp.org>
59655
59656         Change rpmatch to use nl_langinfo when appropriate.
59657         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
59658         (N_): New macro.
59659         (localized_pattern): New function/macro.
59660         (try): Remove match, nomatch arguments. Copy the pattern into safe
59661         memory before caching it.
59662         (rpmatch): Use localized_pattern. Add translator comments.
59663         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
59664         Suggested by Eric Blake.
59665         * modules/rpmatch (Depends-on): Add stdbool.
59666
59667 2008-04-28  Eric Blake  <ebb9@byu.net>
59668
59669         Add rawmemchr module, matching glibc.
59670         * modules/string (Makefile.am): New indicator.
59671         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
59672         * lib/string.in.h (rawmemchr): Declare when appropriate.
59673         * modules/rawmemchr: New file.
59674         * m4/rawmemchr.m4: Likewise.
59675         * lib/rawmemchr.c: Likewise.
59676         * modules/rawmemchr-tests: Likewise.
59677         * tests/test-rawmemchr.c: Likewise.
59678         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
59679         module.
59680         * modules/strchrnul (Depends-on): Add rawmemchr.
59681         * lib/strchrnul.c (strchrnul): Optimize a corner case.
59682
59683         Whitespace cleanup.
59684         * tests/test-strchrnul.c: Reindent.
59685         * lib/strchrnul.c: Likewise.
59686
59687         Optimize and test strchrnul.
59688         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
59689         * modules/strchrnul-tests: New file.
59690         * tests/test-strchrnul.c: Likewise.
59691
59692         Remove intprops dependency.
59693         * modules/memchr (Depends-on): Remove intprops.
59694         * modules/memrchr (Depends-on): Likewise.
59695         * modules/memchr2 (Depends-on): Likewise.
59696         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
59697         * lib/memrchr.c (__memrchr): Likewise.
59698         * lib/memrchr2.c (memchr2): Likewise.
59699         Reported by Simon Josefsson.
59700
59701 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59702
59703         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
59704         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59705
59706 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59707
59708         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
59709
59710         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
59711
59712         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
59713
59714         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
59715         declarations.
59716         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
59717
59718         * m4/inet_pton.m4: Don't check for header files.
59719
59720         * m4/inet_ntop.m4: Don't check for header files.
59721
59722 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59723
59724         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
59725         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
59726         trigger for cygwin).
59727         Reported by Bruno Haible  <bruno@clisp.org>.
59728
59729 2008-04-28  Bruno Haible  <bruno@clisp.org>
59730
59731         * doc/posix-functions/strdup.texi: Mention mingw problem.
59732
59733 2008-04-27  Bruno Haible  <bruno@clisp.org>
59734
59735         * modules/stat-time-tests (Depends-on): Add sleep.
59736         * tests/test-stat-time.c (force_unlink): New function.
59737         (cleanup): Use it.
59738         (test_mtime): Remove the ctime related tests.
59739         (test_ctime): New function, containing the ctime related tests.
59740         (main): Call test_ctime, except on native Windows platforms.
59741
59742 2008-04-27  Bruno Haible  <bruno@clisp.org>
59743
59744         * lib/rpmatch.c (rpmatch): Add some comments.
59745         Reported by James Youngman <jay@gnu.org>.
59746
59747 2008-04-27  Bruno Haible  <bruno@clisp.org>
59748
59749         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
59750         quiet NaNs.
59751
59752 2008-04-27  Bruno Haible  <bruno@clisp.org>
59753
59754         Make test-yesno.sh work on mingw.
59755         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
59756         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
59757         (main): Set stdin to binary mode.
59758         * modules/yesno-tests (Depends-on): Add binary-io.
59759
59760 2008-04-27  Bruno Haible  <bruno@clisp.org>
59761
59762         Fix 'isfinite' on x86, x86_64, ia64 platforms.
59763         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
59764         argument that lie outside the IEEE 854 domain.
59765         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
59766         (gl_ISFINITE): Use it.
59767         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
59768
59769 2008-04-27  Bruno Haible  <bruno@clisp.org>
59770
59771         Allow local renaming in config.h.
59772         * lib/memrchr.c (memrchr): Don't undefine outside libc.
59773
59774 2008-04-27  Bruno Haible  <bruno@clisp.org>
59775
59776         * lib/memchr.c (__memchr): Change type of 'i'.
59777         * lib/memchr2.c (memchr2): Likewise.
59778
59779 2008-04-26  Eric Blake  <ebb9@byu.net>
59780         and Bruno Haible  <bruno@clisp.org>
59781
59782         Optimize and test memrchr.
59783         * modules/memrchr (Depends-on): Add intprops.
59784         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
59785         * modules/memrchr-tests: New file.
59786         * tests/test-memrchr.c: New file.
59787
59788 2008-04-26  Bruno Haible  <bruno@clisp.org>
59789
59790         Add tentative support for DragonFly BSD.
59791         * lib/stdio-impl.h: Add macros for DragonFly BSD.
59792         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
59793         fp.
59794         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59795         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
59796         * lib/fpurge.c (fpurge): Likewise.
59797         * lib/freadable.c (freaadable): Likewise.
59798         * lib/freadahead.c (freadahead): Likewise.
59799         * lib/freading.c (freading): Likewise.
59800         * lib/freadptr.c (freadptr): Likewise.
59801         * lib/freadseek.c (freadptrinc): Likewise.
59802         * lib/fseeko.c (fseeko): Likewise.
59803         * lib/fseterr.c (fseterr): Likewise.
59804         * lib/fwritable.c (fwritable): Likewise.
59805         * lib/fwriting.c (fwriting): Likewise.
59806
59807 2008-04-26  Bruno Haible  <bruno@clisp.org>
59808
59809         * lib/stdio-impl.h: New file.
59810         * lib/fbufmode.c: Include stdio-impl.h.
59811         (fbufmode): Use fp_, remove redundant #defines.
59812         * lib/fflush.c: Include stdio-impl.h.
59813         (clear_ungetc_buffer): Remove redundant #defines.
59814         * lib/fpurge.c: Include stdio-impl.h.
59815         (fpurge): Remove redundant #defines.
59816         * lib/freadable.c: Include stdio-impl.h.
59817         (freadable): Remove redundant #defines.
59818         * lib/freadahead.c: Include stdio-impl.h.
59819         (freadahead): Remove redundant #defines.
59820         * lib/freading.c: Include stdio-impl.h.
59821         (freading): Remove redundant #defines.
59822         * lib/freadptr.c: Include stdio-impl.h.
59823         (freadptr): Remove redundant #defines.
59824         * lib/freadseek.c: Include stdio-impl.h.
59825         (freadptrinc): Remove redundant #defines.
59826         * lib/fseeko.c: Include stdio-impl.h.
59827         (rpl_fseeko): Remove redundant #defines.
59828         * lib/fseterr.c: Include stdio-impl.h.
59829         (fseterr): Remove redundant #defines.
59830         * lib/fwritable.c: Include stdio-impl.h.
59831         (fwritable: Remove redundant #defines.
59832         * lib/fwriting.c: Include stdio-impl.h.
59833         (fwriting): Remove redundant #defines.
59834         * modules/fbufmode (Files): Add lib/stdio-impl.h.
59835         * modules/fflush (Files): Likewise.
59836         * modules/fpurge (Files): Likewise.
59837         * modules/freadable (Files): Likewise.
59838         * modules/freadahead (Files): Likewise.
59839         * modules/freading (Files): Likewise.
59840         * modules/freadptr (Files): Likewise.
59841         * modules/freadseek (Files): Likewise.
59842         * modules/fseeko (Files): Likewise.
59843         * modules/fseterr (Files): Likewise.
59844         * modules/fwritable (Files): Likewise.
59845         * modules/fwriting (Files): Likewise.
59846
59847 2008-04-26  Bruno Haible  <bruno@clisp.org>
59848
59849         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59850         restore_seek_optimization, update_fpos_cache): New functions, extracted
59851         from rpl_fflush.
59852         (rpl_fflush): Use them.
59853         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
59854         (gl_REPLACE_FFLUSH): Use it.
59855
59856 2008-04-26  Bruno Haible  <bruno@clisp.org>
59857
59858         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
59859         on Solaris.
59860         * tests/test-xstrtoimax.sh: Likewise.
59861         * tests/test-xstrtoumax.sh: Likewise.
59862         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59863
59864 2008-04-26  Bruno Haible  <bruno@clisp.org>
59865
59866         * modules/memchr-tests: New file.
59867         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
59868
59869 2008-04-26  Eric Blake  <ebb9@byu.net>
59870             Bruno Haible  <bruno@clisp.org>
59871
59872         * lib/memchr.c: Include intprops.h.
59873         (__memchr): Optimize parallel detection of matching bytes. Rename local
59874         variables. Add explanatory comments.
59875
59876 2008-04-26  Bruno Haible  <bruno@clisp.org>
59877
59878         Fix module 'memchr', broken since 2000-10-28.
59879         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
59880
59881 2008-04-26  Bruno Haible  <bruno@clisp.org>
59882
59883         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
59884         comments.
59885
59886 2008-04-25  Eric Blake  <ebb9@byu.net>
59887
59888         Use native fstatat on cygwin 1.7.0.
59889         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
59890         first.
59891
59892 2008-04-23  Eric Blake  <ebb9@byu.net>
59893
59894         Improve memchr2 performance.
59895         * lib/memchr2.c (memchr2): Further optimize parallel detection of
59896         NUL bytes.
59897         * modules/memchr2 (Depends-on): Use intprops.h.
59898
59899 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59900
59901         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
59902         an inline function instead of a CPP macro.  Patch by Ben Pfaff
59903         <blp@cs.stanford.edu>.
59904
59905 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59906
59907         * lib/arpa_inet.in.h: New file.
59908
59909         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
59910         (Makefile.am): Sed in substitute header file.
59911
59912         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
59913         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
59914
59915         * modules/inet_ntop (configure.ac): Use
59916         gl_ARPA_INET_MODULE_INDICATOR.
59917
59918         * modules/inet_pton (configure.ac): Use
59919         gl_ARPA_INET_MODULE_INDICATOR.
59920
59921 2008-04-22  Jim Meyering  <meyering@redhat.com>
59922
59923         * modules/verify (License): Re-license as LGPLv2+.
59924
59925 2008-04-22  Simon Josefsson  <simon@josefsson.org>
59926
59927         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
59928         parameter to void* as per POSIX standard (MinGW uses char*).
59929
59930 2008-04-21  Bruno Haible  <bruno@clisp.org>
59931
59932         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59933         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
59934         Define to replacements if REPLACE_ISWCNTRL is 1.
59935         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
59936         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
59937         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
59938         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
59939         what it fixes.
59940         * doc/posix-functions/iswalpha.texi: Likewise.
59941         * doc/posix-functions/iswblank.texi: Likewise.
59942         * doc/posix-functions/iswcntrl.texi: Likewise.
59943         * doc/posix-functions/iswdigit.texi: Likewise.
59944         * doc/posix-functions/iswgraph.texi: Likewise.
59945         * doc/posix-functions/iswlower.texi: Likewise.
59946         * doc/posix-functions/iswprint.texi: Likewise.
59947         * doc/posix-functions/iswpunct.texi: Likewise.
59948         * doc/posix-functions/iswspace.texi: Likewise.
59949         * doc/posix-functions/iswupper.texi: Likewise.
59950         * doc/posix-functions/iswxdigit.texi: Likewise.
59951         Reported by Alain Guibert.
59952
59953 2008-04-21  Bruno Haible  <bruno@clisp.org>
59954
59955         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
59956         Patch by Alain Guibert.
59957
59958 2008-04-21  Bruno Haible  <bruno@clisp.org>
59959
59960         Fix test failures on mingw.
59961         * tests/test-xstrtol.c (print_no_progname): New function.
59962         (main): Install it in error_print_progname hook.
59963         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
59964         * tests/test-xstrtoimax.sh: Likewise.
59965         * tests/test-xstrtoumax.sh: Likewise.
59966
59967 2008-04-21  Bruno Haible  <bruno@clisp.org>
59968
59969         Fix test failure on mingw.
59970         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
59971
59972 2008-04-21  Bruno Haible  <bruno@clisp.org>
59973
59974         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
59975         Actually assign a value.
59976
59977 2008-04-20  Bruno Haible  <bruno@clisp.org>
59978
59979         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
59980         take 2.
59981         * lib/canonicalize.c (canonicalize_file_name): Elide if the
59982         'canonicalize-lgpl' module is also used.
59983         * lib/canonicalize-lgpl.c: Undo last change.
59984         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
59985
59986 2008-04-20  Bruno Haible  <bruno@clisp.org>
59987
59988         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
59989         config.h. Provide _mkdir based fallback for mingw.
59990         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
59991         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
59992         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
59993         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
59994         rather than defining mkdir in config.h.
59995         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
59996         (gl_SYS_STAT_H_DEFAULTS): New macro.
59997         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
59998         HAVE_IO_H any more.
59999         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
60000         HAVE_DECL_MKDIR and HAVE_IO_H.
60001
60002 2008-04-20  Bruno Haible  <bruno@clisp.org>
60003
60004         * lib/isapipe.c: Port to native Windows platforms.
60005
60006 2008-04-20  Bruno Haible  <bruno@clisp.org>
60007
60008         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
60009
60010 2008-04-21  Eric Blake  <ebb9@byu.net>
60011
60012         Work around preprocessors that don't handle UINTMAX_MAX.
60013         * lib/memchr2.c (memchr2): Avoid embedded #if.
60014         Reported by Alain Guibert, fix suggested by Bruno Haible.
60015
60016 2008-04-21  Simon Josefsson  <simon@josefsson.org>
60017
60018         * doc/posix-functions/strftime.texi (strftime): Explain better
60019         Windows incompatibility.  Suggested by Micah Cowan
60020         <micah@cowan.name>.
60021
60022 2008-04-20  Bruno Haible  <bruno@clisp.org>
60023
60024         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
60025         unistr/u8-mblen.
60026
60027 2008-04-20  Bruno Haible  <bruno@clisp.org>
60028
60029         Fix test failure on platforms with non-GNU iconv.
60030         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
60031         (U_TO_U8): Use it, rather than u16_to_u8.
60032         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
60033         units at the end of the input string.
60034         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
60035
60036 2008-04-20  Bruno Haible  <bruno@clisp.org>
60037
60038         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
60039         when the resulting length is 0.
60040         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
60041
60042 2008-04-20  Bruno Haible  <bruno@clisp.org>
60043
60044         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
60045         works.
60046         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
60047
60048 2008-04-20  Bruno Haible  <bruno@clisp.org>
60049
60050         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
60051         * modules/tsearch-tests (configure.ac): Test for initstate function.
60052
60053 2008-04-20  Bruno Haible  <bruno@clisp.org>
60054
60055         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
60056         for nlink_t if missing.
60057         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
60058
60059 2008-04-19  Bruno Haible  <bruno@clisp.org>
60060
60061         Work around snprintf bug on Linux libc5.
60062         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
60063         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60064         gl_SNPRINTF_SIZE1.
60065         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60066         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
60067         that test failed.
60068         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
60069         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
60070         * modules/snprintf (Files): Add m4/printf.m4.
60071         * modules/vsnprintf (Files): Likewise.
60072         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
60073         * doc/posix-functions/vsnprintf.texi: Likewise.
60074
60075 2008-04-19  Bruno Haible  <bruno@clisp.org>
60076
60077         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
60078         from 0.0058 to less than 10^-7.
60079
60080 2008-04-19  Bruno Haible  <bruno@clisp.org>
60081
60082         Fix rounding when a precision is given.
60083         * lib/vasnprintf.c (is_borderline): New function.
60084         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
60085         9...9x.
60086         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
60087         %e, %g.
60088         * tests/test-vasprintf-posix.c (test_function): Likewise.
60089         * tests/test-snprintf-posix.h (test_function): Likewise.
60090         * tests/test-sprintf-posix.h (test_function): Likewise.
60091         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
60092         * tests/test-printf-posix.h (test_function): Likewise.
60093         * tests/test-printf-posix.output: Update.
60094         Reported by John Darrington <john@darrington.wattle.id.au> via
60095         Ben Pfaff <blp@cs.stanford.edu>.
60096
60097 2008-04-18  Simon Josefsson  <simon@josefsson.org>
60098
60099         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
60100         Suggested by Bruno Haible <bruno@clisp.org>.
60101
60102 2008-04-17  Bruno Haible  <bruno@clisp.org>
60103
60104         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
60105         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
60106         implementation.
60107         Patch by Bruce Merry <bmerry@gmail.com>.
60108
60109 2008-04-17  Simon Josefsson  <simon@josefsson.org>
60110
60111         * doc/posix-functions/strftime.texi (strftime): Mention that %e
60112         doesn't work under Windows.
60113
60114 2008-04-16  Bruno Haible  <bruno@clisp.org>
60115
60116         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
60117         New macros.
60118         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
60119         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
60120         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
60121         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
60122         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
60123         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
60124         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
60125         macros.
60126         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
60127         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
60128         Northern Sotho, Uighur.
60129
60130 2008-04-16  Bruno Haible  <bruno@clisp.org>
60131
60132         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
60133         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
60134         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
60135         Reported by Daniel Bergström <daniel@octocode.com>.
60136
60137 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
60138             Bruno Haible  <bruno@clisp.org>
60139
60140         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
60141         function.
60142         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
60143         New functions, mostly extracted from gl_locale_name_default.
60144         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
60145
60146 2008-04-16  Eric Blake  <ebb9@byu.net>
60147
60148         Adjust strtod detection to catch glibc 2.7 bug.
60149         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
60150         Reported by John Gatewood Ham.
60151
60152 2008-04-16  Bruno Haible  <bruno@clisp.org>
60153
60154         Add tentative support for Linux libc5.
60155         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
60156         * lib/fpurge.c (fpurge): Likewise.
60157         * lib/freadable.c (freadable): Likewise.
60158         * lib/freadahead.c (freadahead): Likewise.
60159         * lib/freading.c (freading): Likewise.
60160         * lib/freadptr.c (freadptr): Likewise.
60161         * lib/freadseek.c (freadptrinc): Likewise.
60162         * lib/fseeko.c (rpl_fseeko): Likewise.
60163         * lib/fseterr.c (fseterr): Likewise.
60164         * lib/fwritable.c (fwritable): Likewise.
60165         * lib/fwriting.c (fwriting): Likewise.
60166         Reported by Alain Guibert <alguibert+bts@free.fr>.
60167
60168 2008-04-15  Bruno Haible  <bruno@clisp.org>
60169
60170         * modules/mathl (configure.ac): Define module indicator.
60171
60172 2008-04-15  Bruno Haible  <bruno@clisp.org>
60173
60174         * lib/logl.c (logl): Remove unused variables.
60175
60176 2008-04-15  Bruno Haible  <bruno@clisp.org>
60177
60178         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
60179         fails.
60180
60181 2008-04-15  Bruno Haible  <bruno@clisp.org>
60182
60183         * lib/trim.c (trim2): Fix argument of isspace() macro.
60184
60185 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
60186
60187         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
60188         to 0.
60189         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
60190
60191 2008-04-14  Bruno Haible  <bruno@clisp.org>
60192
60193         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
60194         AC_LANG_PROGRAM argument.
60195         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
60196         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
60197         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
60198         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60199         * m4/math_h.m4 (gl_MATH_H): Likewise.
60200         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
60201         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60202         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60203         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
60204         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
60205         * m4/regex.m4 (gl_REGEX): Likewise.
60206         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
60207         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
60208         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
60209         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
60210         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60211         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
60212         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60213         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60214
60215 2008-04-14  Jim Meyering  <meyering@redhat.com>
60216
60217         test-strtod: fix typos: s/abs/fabs/
60218         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
60219
60220 2008-04-13  Bruno Haible  <bruno@clisp.org>
60221
60222         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
60223         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
60224         module is also used and while not building the reloc-wrapper.
60225
60226 2008-04-13  Bruno Haible  <bruno@clisp.org>
60227
60228         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
60229
60230 2008-04-13  Bruno Haible  <bruno@clisp.org>
60231
60232         Fix AIX compilation failure introduced on 2008-04-02.
60233         * tests/test-frexp.c (exp): Undefine before redefining.
60234         * tests/test-frexpl.c (exp): Likewise.
60235
60236 2008-04-13  Bruno Haible  <bruno@clisp.org>
60237
60238         Work around a HP-UX stdio bug.
60239         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
60240         * tests/test-ftello.c (main): Likewise.
60241         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
60242         * doc/posix-functions/ftello.texi: Likewise.
60243
60244 2008-04-13  Bruno Haible  <bruno@clisp.org>
60245
60246         Make test-signbit pass on HP-UX/hppa.
60247         * tests/test-signbit.c (minus_zerol): New variable.
60248         (test_signbitl): Use it.
60249
60250 2008-04-13  Bruno Haible  <bruno@clisp.org>
60251
60252         Make truncl work on OSF/1 4.0.
60253         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
60254         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60255         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60256         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
60257         HAVE_DECL_TRUNCL.
60258         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
60259         HAVE_DECL_TRUNCL.
60260         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
60261
60262 2008-04-13  Bruno Haible  <bruno@clisp.org>
60263
60264         * lib/unictype.h: Remove trailing comma from enumeration definitions.
60265
60266 2008-04-13  Bruno Haible  <bruno@clisp.org>
60267
60268         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
60269         expression, so as to avoid HP-UX 11 cc compiler bug.
60270
60271 2008-04-13  Bruno Haible  <bruno@clisp.org>
60272
60273         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
60274
60275 2008-04-13  Bruno Haible  <bruno@clisp.org>
60276
60277         * lib/git-merge-changelog.c: Remove empty declaration outside of
60278         functions.
60279
60280 2008-04-13  Bruno Haible  <bruno@clisp.org>
60281
60282         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
60283
60284 2008-04-13  Bruno Haible  <bruno@clisp.org>
60285
60286         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
60287         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
60288         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
60289         also if it exists but lacks definitions of the SHUT_* macros.
60290         * modules/sys_socket (Description): Update.
60291         Reported by Elbert Pol <e.pol@chello.nl>.
60292
60293 2008-04-13  Bruno Haible  <bruno@clisp.org>
60294
60295         * lib/localcharset.c (OS2): Don't redefine if already defined.
60296         Reported by Elbert Pol <e.pol@chello.nl>.
60297
60298 2008-04-13  Bruno Haible  <bruno@clisp.org>
60299
60300         * lib/binary-io.h [__EMX__]: Include <io.h>.
60301         Reported by Elbert Pol <e.pol@chello.nl>.
60302
60303 2008-04-12  Bruno Haible  <bruno@clisp.org>
60304
60305         * lib/fpucw.h: Enable the definitions also for x86_64.
60306         Needed for NetBSD/x86_64.
60307         Reported by Thomas Klausner <tk@giga.or.at>.
60308
60309 2008-04-12  Bruno Haible  <bruno@clisp.org>
60310
60311         * tests/test-strtod.c: Include isnand.h.
60312         (main): Use isnand instead of isnan.
60313         Reported by Jim Meyering.
60314
60315 2008-04-12  Bruno Haible  <bruno@clisp.org>
60316
60317         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
60318         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
60319
60320 2008-04-12  Jim Meyering  <meyering@redhat.com>
60321
60322         * m4/math_h.m4 (gl_MATH_H): Fix typos.
60323
60324 2008-04-12  Bruno Haible  <bruno@clisp.org>
60325
60326         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
60327         Reported by Elbert Pol <e.pol@chello.nl>.
60328
60329 2008-04-12  Eric Blake  <ebb9@byu.net>
60330
60331         Work around Solaris 10 math.h bug.
60332         * m4/math_h.m4 (gl_MATH_H): Check for bug.
60333         (gl_MATH_H_DEFAULTS): Set up default.
60334         * modules/math (Makefile.am): Replace new indicators.
60335         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
60336         * tests/test-math.c (main): Test this.
60337         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
60338         * doc/posix-headers/math.texi (math.h): Mention bug.
60339         Reported by Nelson H. F. Beebe and Jim Meyering.
60340
60341 2008-04-11  Bruno Haible  <bruno@clisp.org>
60342
60343         Adapt to future versions of Apple GCC.
60344         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
60345         Reported by Peter O'Gorman <peter@pogma.com>.
60346
60347 2008-04-11  Bruno Haible  <bruno@clisp.org>
60348
60349         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
60350
60351 2008-04-11  Bruno Haible  <bruno@clisp.org>
60352
60353         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
60354
60355         * modules/getaddrinfo-tests (Makefile.am): Define
60356         test_getaddrinfo_LDADD.
60357
60358 2008-04-11  Bruno Haible  <bruno@clisp.org>
60359
60360         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
60361         (init): Fix syntax error.
60362         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
60363         is declared.
60364
60365 2008-04-11  Bruno Haible  <bruno@clisp.org>
60366
60367         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
60368         * modules/glob (Depends-on): Add stdbool.
60369
60370 2008-04-11  Bruno Haible  <bruno@clisp.org>
60371
60372         * lib/trim.c: Include <string.h>.
60373
60374 2008-04-11  Eric Blake  <ebb9@byu.net>
60375
60376         Avoid compile failure on OS/2.
60377         * lib/regex_internal.h (internal_function): Disable optimization
60378         on OS/2 (__EMX__), where it caused compiler error.
60379         Reported by Elbert Pol.
60380
60381 2008-04-11  Bruno Haible  <bruno@clisp.org>
60382
60383         Flush the standard error stream before aborting. Needed on mingw.
60384         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
60385         * tests/test-array_list.c (ASSERT): Likewise.
60386         * tests/test-array_oset.c (ASSERT): Likewise.
60387         * tests/test-avltree_list.c (ASSERT): Likewise.
60388         * tests/test-avltree_oset.c (ASSERT): Likewise.
60389         * tests/test-avltreehash_list.c (ASSERT): Likewise.
60390         * tests/test-binary-io.c (ASSERT): Likewise.
60391         * tests/test-byteswap.c (ASSERT): Likewise.
60392         * tests/test-c-ctype.c (ASSERT): Likewise.
60393         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
60394         * tests/test-c-strcasestr.c (ASSERT): Likewise.
60395         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
60396         * tests/test-c-strstr.c (ASSERT): Likewise.
60397         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
60398         * tests/test-canonicalize.c (ASSERT): Likewise.
60399         * tests/test-carray_list.c (ASSERT): Likewise.
60400         * tests/test-ceilf1.c (ASSERT): Likewise.
60401         * tests/test-ceilf2.c (ASSERT): Likewise.
60402         * tests/test-ceill.c (ASSERT): Likewise.
60403         * tests/test-count-one-bits.c (ASSERT): Likewise.
60404         * tests/test-fbufmode.c (ASSERT): Likewise.
60405         * tests/test-fflush2.c (ASSERT): Likewise.
60406         * tests/test-floorf1.c (ASSERT): Likewise.
60407         * tests/test-floorf2.c (ASSERT): Likewise.
60408         * tests/test-floorl.c (ASSERT): Likewise.
60409         * tests/test-fopen.c (ASSERT): Likewise.
60410         * tests/test-fpending.c (ASSERT): Likewise.
60411         * tests/test-fprintf-posix.c (ASSERT): Likewise.
60412         * tests/test-fpurge.c (ASSERT): Likewise.
60413         * tests/test-freadable.c (ASSERT): Likewise.
60414         * tests/test-freadahead.c (ASSERT): Likewise.
60415         * tests/test-freading.c (ASSERT): Likewise.
60416         * tests/test-freadptr.c (ASSERT): Likewise.
60417         * tests/test-freadptr2.c (ASSERT): Likewise.
60418         * tests/test-freadseek.c (ASSERT): Likewise.
60419         * tests/test-freopen.c (ASSERT): Likewise.
60420         * tests/test-frexp.c (ASSERT): Likewise.
60421         * tests/test-frexpl.c (ASSERT): Likewise.
60422         * tests/test-fseek.c (ASSERT): Likewise.
60423         * tests/test-fseeko.c (ASSERT): Likewise.
60424         * tests/test-fstrcmp.c (ASSERT): Likewise.
60425         * tests/test-ftell.c (ASSERT): Likewise.
60426         * tests/test-ftello.c (ASSERT): Likewise.
60427         * tests/test-func.c (ASSERT): Likewise.
60428         * tests/test-fwritable.c (ASSERT): Likewise.
60429         * tests/test-fwriting.c (ASSERT): Likewise.
60430         * tests/test-getdelim.c (ASSERT): Likewise.
60431         * tests/test-getline.c (ASSERT): Likewise.
60432         * tests/test-i-ring.c (ASSERT): Likewise.
60433         * tests/test-iconv-utf.c (ASSERT): Likewise.
60434         * tests/test-iconv.c (ASSERT): Likewise.
60435         * tests/test-isfinite.c (ASSERT): Likewise.
60436         * tests/test-isnand.c (ASSERT): Likewise.
60437         * tests/test-isnanf.c (ASSERT): Likewise.
60438         * tests/test-isnanl.h (ASSERT): Likewise.
60439         * tests/test-ldexpl.c (ASSERT): Likewise.
60440         * tests/test-linked_list.c (ASSERT): Likewise.
60441         * tests/test-linkedhash_list.c (ASSERT): Likewise.
60442         * tests/test-localename.c (ASSERT): Likewise.
60443         * tests/test-lseek.c (ASSERT): Likewise.
60444         * tests/test-mbscasecmp.c (ASSERT): Likewise.
60445         * tests/test-mbscasestr1.c (ASSERT): Likewise.
60446         * tests/test-mbscasestr2.c (ASSERT): Likewise.
60447         * tests/test-mbscasestr3.c (ASSERT): Likewise.
60448         * tests/test-mbscasestr4.c (ASSERT): Likewise.
60449         * tests/test-mbschr.c (ASSERT): Likewise.
60450         * tests/test-mbscspn.c (ASSERT): Likewise.
60451         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
60452         * tests/test-mbspbrk.c (ASSERT): Likewise.
60453         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
60454         * tests/test-mbsrchr.c (ASSERT): Likewise.
60455         * tests/test-mbsspn.c (ASSERT): Likewise.
60456         * tests/test-mbsstr1.c (ASSERT): Likewise.
60457         * tests/test-mbsstr2.c (ASSERT): Likewise.
60458         * tests/test-mbsstr3.c (ASSERT): Likewise.
60459         * tests/test-memchr2.c (ASSERT): Likewise.
60460         * tests/test-memmem.c (ASSERT): Likewise.
60461         * tests/test-open.c (ASSERT): Likewise.
60462         * tests/test-printf-frexp.c (ASSERT): Likewise.
60463         * tests/test-printf-frexpl.c (ASSERT): Likewise.
60464         * tests/test-printf-posix.c (ASSERT): Likewise.
60465         * tests/test-quotearg.c (ASSERT): Likewise.
60466         * tests/test-rbtree_list.c (ASSERT): Likewise.
60467         * tests/test-rbtree_oset.c (ASSERT): Likewise.
60468         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
60469         * tests/test-round1.c (ASSERT): Likewise.
60470         * tests/test-roundf1.c (ASSERT): Likewise.
60471         * tests/test-roundl.c (ASSERT): Likewise.
60472         * tests/test-signbit.c (ASSERT): Likewise.
60473         * tests/test-sleep.c (ASSERT): Likewise.
60474         * tests/test-snprintf-posix.c (ASSERT): Likewise.
60475         * tests/test-snprintf.c (ASSERT): Likewise.
60476         * tests/test-sprintf-posix.c (ASSERT): Likewise.
60477         * tests/test-stat-time.c (ASSERT): Likewise.
60478         * tests/test-strcasestr.c (ASSERT): Likewise.
60479         * tests/test-strerror.c (ASSERT): Likewise.
60480         * tests/test-striconv.c (ASSERT): Likewise.
60481         * tests/test-striconveh.c (ASSERT): Likewise.
60482         * tests/test-striconveha.c (ASSERT): Likewise.
60483         * tests/test-strsignal.c (ASSERT): Likewise.
60484         * tests/test-strstr.c (ASSERT): Likewise.
60485         * tests/test-strtod.c (ASSERT): Likewise.
60486         * tests/test-trunc1.c (ASSERT): Likewise.
60487         * tests/test-trunc2.c (ASSERT): Likewise.
60488         * tests/test-truncf1.c (ASSERT): Likewise.
60489         * tests/test-truncf2.c (ASSERT): Likewise.
60490         * tests/test-truncl.c (ASSERT): Likewise.
60491         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
60492         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
60493         * tests/test-vasnprintf.c (ASSERT): Likewise.
60494         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
60495         * tests/test-vasprintf.c (ASSERT): Likewise.
60496         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
60497         * tests/test-vprintf-posix.c (ASSERT): Likewise.
60498         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
60499         * tests/test-vsnprintf.c (ASSERT): Likewise.
60500         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
60501         * tests/test-wcwidth.c (ASSERT): Likewise.
60502         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
60503         * tests/test-xprintf-posix.c (ASSERT): Likewise.
60504         * tests/test-xvasprintf.c (ASSERT): Likewise.
60505         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
60506         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
60507         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
60508         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
60509         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
60510         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
60511         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
60512         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
60513         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
60514         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
60515         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
60516         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
60517         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
60518         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
60519         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
60520         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
60521         * tests/unictype/test-block_list.c (ASSERT): Likewise.
60522         * tests/unictype/test-block_of.c (ASSERT): Likewise.
60523         * tests/unictype/test-block_test.c (ASSERT): Likewise.
60524         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
60525         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
60526         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
60527         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
60528         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
60529         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
60530         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
60531         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
60532         * tests/unictype/test-combining.c (ASSERT): Likewise.
60533         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
60534         * tests/unictype/test-digit.c (ASSERT): Likewise.
60535         * tests/unictype/test-mirror.c (ASSERT): Likewise.
60536         * tests/unictype/test-numeric.c (ASSERT): Likewise.
60537         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
60538         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
60539         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
60540         * tests/unictype/test-scripts.c (ASSERT): Likewise.
60541         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
60542         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
60543         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
60544         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
60545         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
60546         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
60547         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
60548         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
60549         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
60550         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
60551         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
60552         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
60553         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
60554         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
60555         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
60556         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
60557         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
60558         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
60559         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
60560         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
60561         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
60562         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
60563         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
60564         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
60565         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
60566         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
60567         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
60568         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
60569         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
60570         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
60571         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
60572         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
60573         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
60574         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
60575         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
60576         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
60577         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
60578         Reported by Eric Blake.
60579
60580 2008-04-11  Bruno Haible  <bruno@clisp.org>
60581
60582         * lib/wchar.in.h: Tweak comment.
60583
60584 2008-04-11  Bruno Haible  <bruno@clisp.org>
60585
60586         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
60587         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
60588         gl_COMMON.
60589         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
60590
60591 2008-04-11  Bruno Haible  <bruno@clisp.org>
60592
60593         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
60594
60595 2008-04-11  Simon Josefsson  <simon@josefsson.org>
60596
60597         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
60598         of attempting to use non-existing /dev/*random.  Based on patch
60599         from Adam Strzelecki <ono@java.pl> in
60600         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
60601
60602 2008-04-08  Bruno Haible  <bruno@clisp.org>
60603
60604         Add tentative support for emx+gcc.
60605         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
60606         * lib/fpurge.c (fpurge): Likewise.
60607         * lib/freadable.c (freadable): Likewise.
60608         * lib/freadahead.c (freadahead): Likewise.
60609         * lib/freading.c (freading): Likewise.
60610         * lib/freadptr.c (freadptr): Likewise.
60611         * lib/freadseek.c (freadptrinc): Likewise.
60612         * lib/fseeko.c (rpl_fseeko): Likewise.
60613         * lib/fseterr.c (fseterr): Likewise.
60614         * lib/fwritable.c (fwritable): Likewise.
60615         * lib/fwriting.c (fwriting): Likewise.
60616         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
60617
60618 2008-04-09  Eric Blake  <ebb9@byu.net>
60619
60620         Avoid some autoconf warnings.
60621         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
60622         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
60623         * m4/afs.m4 (gl_AFS): Likewise.
60624         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
60625         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
60626         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
60627         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
60628         (gl_INTEGER_TYPE_SUFFIX): Likewise.
60629         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
60630         (AC_CHECK_DECLS_ONCE): Likewise.
60631         Rename file...
60632         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
60633         gnulib-tool requires autoconf 2.59 or better.
60634         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
60635
60636 2008-04-08  Eric Blake  <ebb9@byu.net>
60637
60638         Use 'git describe --match' if present (added in git 1.5.5).
60639         * build-aux/git-version-gen: Limit result to tags that match 'v*'
60640         if possible.
60641
60642 2008-04-08  Bruno Haible  <bruno@clisp.org>
60643
60644         Add tentative support for OpenServer.
60645         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
60646         _ptr, _cnt.
60647         * lib/fpurge.c (fpurge): Likewise.
60648         * lib/freadable.c (freadable): Likewise.
60649         * lib/freadahead.c (freadahead): Likewise.
60650         * lib/freading.c (freading): Likewise.
60651         * lib/freadptr.c (freadptr): Likewise.
60652         * lib/freadseek.c (freadptrinc): Likewise.
60653         * lib/fseeko.c (rpl_fseeko): Likewise.
60654         * lib/fseterr.c (fseterr): Likewise.
60655         * lib/fwritable.c (fwritable): Likewise.
60656         * lib/fwriting.c (fwriting): Likewise.
60657         Reported by Roger Cornelius <rac@tenzing.org> and
60658         Brian K. White <brian@aljex.com>.
60659
60660 2008-04-06  Jim Meyering  <meyering@redhat.com>
60661
60662         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
60663
60664 2008-04-06  Bruno Haible  <bruno@clisp.org>
60665
60666         Avoid possible error with non-ASCII bytes in UTF-8 locales.
60667         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
60668         * tests/test-printf-posix.sh: Likewise.
60669         * tests/test-vfprintf-posix.sh: Likewise.
60670         * tests/test-vprintf-posix.sh: Likewise.
60671         * tests/test-xprintf-posix.sh: Likewise.
60672
60673 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60674
60675         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
60676         hide error from 'ls', needed on OS/2.
60677         Report by Elbert Pol <elbert.pol@gmail.com>.
60678
60679 2008-04-04  Eric Blake  <ebb9@byu.net>
60680
60681         Make test-fseeko.c failures meaningful.
60682         * tests/test-fseeko.c: Print line number on failure.
60683         * tests/test-fseek.c: Likewise.
60684         Reported by Nelson H. F. Beebe.
60685
60686         Improve strtod bug detection check.
60687         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
60688         required for Solaris 10.
60689         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
60690
60691 2008-04-04  Bruno Haible  <bruno@clisp.org>
60692
60693         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
60694         by m4/setenv.m4.
60695
60696 2008-04-03  Eric Blake  <ebb9@byu.net>
60697
60698         Ensure sane .version contents.
60699         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
60700         version string.
60701         * build-aux/git-version-gen: Improve documentation.
60702
60703         Make GNU make output nicer.
60704         * top/GNUmakefile [!_have-Makefile]: Add dependency on
60705         MAKECMDGOALS to enforce message for all command line targets.  Set
60706         srcdir for use in maint.mk.
60707
60708         Another maintainer tweak.
60709         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
60710         a target that regenerates version.
60711
60712 2008-04-03  Jim Meyering  <meyering@redhat.com>
60713
60714         vc-list-files: don't cause coreutils "make po-check" failure
60715         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
60716
60717 2008-04-03  Eric Blake  <ebb9@byu.net>
60718
60719         Allow VPATH usage of vc-list-files.
60720         * build-aux/vc-list-files (scriptversion): Add timestamp.
60721         (options): Add --help, --version, -C.
60722         (CVS): Support installed cvsu.
60723
60724 2008-04-02  Bruno Haible  <bruno@clisp.org>
60725
60726         Avoid some "statement with no effect" warnings from gcc.
60727         * tests/test-wctype.c (main): Explicitly ignore unused values.
60728         Reported by Jim Meyering.
60729
60730 2008-04-02  Jim Meyering  <meyering@redhat.com>
60731
60732         Avoid some warnings from "gcc -Wshadow".
60733         * tests/test-frexp.c (exp): Define to a different identifier.
60734         * tests/test-frexpl.c (exp): Likewise.
60735
60736 2008-04-03  Jim Meyering  <meyering@redhat.com>
60737
60738         bootstrap: remove dangling *.[ch] symlinks from lib
60739         * build-aux/bootstrap [dangling symlink removal]: Move find's
60740         -depth option to precede all others, to avoid a warning.
60741         Remove *.[ch] files too, and from "$source_base" (usually lib/).
60742
60743 2008-04-02  Bruno Haible  <bruno@clisp.org>
60744
60745         Avoid some warnings from "gcc -Wshadow".
60746         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
60747         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
60748         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
60749         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
60750         Reported by Jim Meyering.
60751
60752 2008-04-01  Bruno Haible  <bruno@clisp.org>
60753
60754         Fix test to work on IRIX 6.5 with cc.
60755         * tests/test-math.c (numeric_equal): New function.
60756         (main): Use it.
60757
60758 2008-04-01  Bruno Haible  <bruno@clisp.org>
60759
60760         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
60761
60762 2008-04-01  Bruno Haible  <bruno@clisp.org>
60763
60764         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
60765         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60766         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
60767         (Depends-on): Remove math.
60768
60769         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
60770         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60771         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
60772         (Depends-on): Remove math.
60773
60774         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
60775         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60776         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
60777         (Depends-on): Remove math.
60778         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
60779         (Depends-on): Remove math.
60780
60781         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
60782         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60783         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
60784         (Depends-on): Remove math.
60785         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
60786         (Depends-on): Remove math.
60787
60788         * tests/test-round1.c: Include nan.h.
60789         (main): Use NaNd instead of NAN.
60790         * modules/round-tests (Files): Add tests/nan.h.
60791
60792         * tests/test-trunc1.c: Include nan.h.
60793         (main): Use NaNd instead of NAN.
60794         * modules/trunc-tests (Files): Add tests/nan.h.
60795
60796         * tests/test-roundf1.c: Include nan.h.
60797         (main): Use NaNf instead of NAN.
60798         * modules/roundf-tests (Files): Add tests/nan.h.
60799
60800         * tests/test-truncf1.c: Include nan.h.
60801         (main): Use NaNf instead of NAN.
60802         * modules/truncf-tests (Files): Add tests/nan.h.
60803
60804         * tests/test-ceilf1.c: Include nan.h.
60805         (main): Use NaNf instead of NAN.
60806         * modules/ceilf-tests (Files): Add tests/nan.h.
60807
60808         * tests/test-floorf1.c: Include nan.h.
60809         (main): Use NaNf instead of NAN.
60810         * modules/floorf-tests (Files): Add tests/nan.h.
60811
60812         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
60813         (main): Use NaNf instead of NAN.
60814         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
60815
60816         * tests/test-isnand.c: Include nan.h instead of <math.h>.
60817         (main): Use NaNd instead of NAN.
60818         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
60819
60820         * tests/test-frexp.c: Include nan.h.
60821         (main): Use NaNd instead of NAN.
60822         * modules/frexp-tests (Files): Add tests/nan.h.
60823
60824         * lib/isnan.c: Don't include <math.h>.
60825         (FUNC): Don't use NAN macro.
60826         * modules/isnand-nolibm (Depends-on): Remove math.
60827         * modules/isnanf-nolibm (Depends-on): Remove math.
60828         * modules/isnanl (Depends-on): Remove math.
60829         * modules/isnanl-nolibm (Depends-on): Remove math.
60830
60831         * tests/nan.h: New file.
60832
60833 2008-04-01  Eric Blake  <ebb9@byu.net>
60834
60835         Fix typos.
60836         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
60837         values to be the right type.
60838
60839         For now, cater to gnulib strtod inaccuracies.
60840         * tests/test-strtod.c (main): Allow 1-ulp error on expected
60841         fractional results.  While not as nice from a QoI perspective, it
60842         is a quicker patch than correctly implementing decimal to binary
60843         rounding.
60844
60845 2008-03-31  Eric Blake  <ebb9@byu.net>
60846
60847         Guarantee a definition of NAN.
60848         * lib/math.in.h (NAN): Define if missing.
60849         * tests/test-math.c (main): Test it.
60850         * doc/posix-headers/math.texi (math.h): Document this.
60851         * lib/isnan.c (rpl_isnand): Use it.
60852         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
60853         * tests/test-floorf1.c (NaN): Likewise.
60854         * tests/test-frexp.c (NaN): Likewise.
60855         * tests/test-isnand.c (NaN): Likewise.
60856         * tests/test-isnanf.c (NaN): Likewise.
60857         * tests/test-round1.c (NaN): Likewise.
60858         * tests/test-roundf1.c (NaN): Likewise.
60859         * tests/test-snprintf-posix.h (NaN): Likewise.
60860         * tests/test-sprintf-posix.h (NaN): Likewise.
60861         * tests/test-trunc1.c (NaN): Likewise.
60862         * tests/test-truncf1.c (NaN): Likewise.
60863         * tests/test-vasnprintf-posix.c (NaN): Likewise.
60864         * tests/test-vasprintf-posix.c (NaN): Likewise.
60865         * modules/isnand-nolibm (Depends-on): Add math.
60866         * modules/isnanf-nolibm (Depends-on): Likewise.
60867         * modules/isnanl (Depends-on): Likewise.
60868         * modules/isnanl-nolibm (Depends-on): Likewise.
60869         * modules/snprintf-posix-tests (Depends-on): Likewise.
60870         * modules/sprintf-posix-tests (Depends-on): Likewise.
60871         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
60872         * modules/vsprintf-posix-tests (Depends-on): Likewise.
60873         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
60874         * modules/vasprintf-posix-tests (Depends-on): Likewise.
60875
60876 2008-03-31  Bruno Haible  <bruno@clisp.org>
60877
60878         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
60879         * doc/posix-functions/strtod.texi: Likewise.
60880
60881 2008-03-31  Bruno Haible  <bruno@clisp.org>
60882
60883         * tests/test-strtod.c (main): Don't use C99 syntax.
60884
60885 2008-03-31  Bruno Haible  <bruno@clisp.org>
60886
60887         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
60888         Reported by Eric Blake.
60889
60890 2008-03-31  Jim Meyering  <meyering@redhat.com>
60891
60892         Don't compare actual signbit return values.
60893         * tests/test-strtod.c (main): Rather, compare only their
60894         zero/non-zero nature.
60895
60896 2008-03-31  Eric Blake  <ebb9@byu.net>
60897
60898         More strtod documentation.
60899         * doc/posix-functions/strtod.texi (strtod): Interpret more test
60900         failures as distinct bugs.
60901
60902 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60903
60904         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
60905         Problem reported by Erik Benada in
60906         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
60907
60908 2008-03-30  Bruno Haible  <bruno@clisp.org>
60909
60910         * tests/test-strtod.c: Add comments about which assertion fails on which
60911         platform.
60912         * doc/posix-functions/strtod.texi: Add info about many more platforms.
60913
60914 2008-03-30  Eric Blake  <ebb9@byu.net>
60915
60916         Test signbit behavior on zeros.
60917         * tests/test-signbit.c (test_signbitf): Add tests for zero.
60918         (test_signbitd, test_signbitl): Likewise.
60919
60920         More strtod touchups.
60921         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
60922         sign of negative underflow, for now.  Use .5, not .1.
60923         * doc/posix-functions/strtod.texi (strtod): Mention these
60924         limitations.
60925         Reported by Jim Meyering.
60926
60927 2008-03-30  Bruno Haible  <bruno@clisp.org>
60928
60929         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
60930         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
60931
60932 2008-03-30  Bruno Haible  <bruno@clisp.org>
60933
60934         Avoid failure when attempting to return empty iconv results on some
60935         platforms.
60936         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
60937         allocation, don't report ENOMEM when the resulting string is empty.
60938
60939 2008-03-30  Bruno Haible  <bruno@clisp.org>
60940
60941         Fix buffer overrun.
60942         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
60943         Don't consider the width for tmp_length. Check count against tmp_length
60944         before doing the padding. Ensure enough allocation during padding.
60945
60946 2008-03-30  Eric Blake  <ebb9@byu.net>
60947
60948         strtod touchups.
60949         * lib/strtod.c (strtod): Avoid compiler warnings.
60950         Reported by Jim Meyering.
60951
60952 2008-03-30  Bruno Haible  <bruno@clisp.org>
60953
60954         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
60955         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
60956         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
60957         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
60958         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
60959         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
60960         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
60961         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
60962
60963         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
60964         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
60965         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
60966         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
60967         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
60968         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
60969         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
60970         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
60971
60972         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
60973         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
60974         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
60975         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
60976         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
60977         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
60978         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
60979         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
60980
60981         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
60982         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
60983
60984         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
60985         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
60986
60987         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
60988         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
60989
60990         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
60991         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
60992         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
60993
60994         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
60995         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
60996         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
60997
60998         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
60999         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
61000         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
61001
61002         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
61003         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
61004         * modules/vasprintf (Depends-on): Add EOVERFLOW.
61005
61006         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
61007         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
61008         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
61009         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
61010         (Depends-on): Add EOVERFLOW.
61011         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
61012         (Depends-on): Add EOVERFLOW.
61013         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61014         (Depends-on): Add EOVERFLOW.
61015         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61016         (Depends-on): Add EOVERFLOW.
61017         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61018         (Depends-on): Add EOVERFLOW.
61019         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61020         (Depends-on): Add EOVERFLOW.
61021         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61022         (Depends-on): Add EOVERFLOW.
61023         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61024         (Depends-on): Add EOVERFLOW.
61025
61026         * lib/sprintf.c (EOVERFLOW): Remove fallback.
61027         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
61028         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
61029
61030         * lib/snprintf.c (EOVERFLOW): Remove fallback.
61031         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
61032         * modules/snprintf (Depends-on): Add EOVERFLOW.
61033
61034         * lib/poll.c (EOVERFLOW): Remove fallback.
61035         * modules/poll (Depends-on): Add EOVERFLOW.
61036
61037         * lib/getugroups.c (EOVERFLOW): Remove fallback.
61038         * modules/getugroups (Depends-on): Add EOVERFLOW.
61039
61040         * lib/getdelim.c (EOVERFLOW): Remove fallback.
61041         * modules/getdelim (Depends-on): Add EOVERFLOW.
61042
61043         * lib/ftell.c (EOVERFLOW): Remove fallback.
61044         * modules/ftell (Depends-on): Add EOVERFLOW.
61045
61046         * lib/fprintf.c (EOVERFLOW): Remove fallback.
61047         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
61048         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
61049
61050         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
61051
61052         * modules/EOVERFLOW-tests: New file.
61053         * tests/test-EOVERFLOW.c: New file.
61054
61055         * modules/EOVERFLOW: New file.
61056         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
61057
61058 2008-03-30  Bruno Haible  <bruno@clisp.org>
61059
61060         Fix bug introduced on 2007-06-10.
61061         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
61062         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
61063
61064 2008-03-30  Bruno Haible  <bruno@clisp.org>
61065
61066         Improve freadseek's efficiency after ungetc.
61067         * lib/freadseek.c: Include freadahead.h.
61068         (freadptrinc): New function, extracted from freadseek.
61069         (freadseek): Use it in a loop. Use freadahead to determine the number
61070         of loop iterations.
61071         * modules/freadseek (Depends-on): Add freadahead.
61072         (configure.ac): Require AC_C_INLINE.
61073
61074 2008-03-30  Bruno Haible  <bruno@clisp.org>
61075
61076         * lib/freadseek.c (freadseek): Don't ignore the return value of
61077         freadptr.
61078
61079 2008-03-29  Eric Blake  <ebb9@byu.net>
61080
61081         Add hex float support.
61082         * modules/strtod (Depends-on): Add c-ctype.
61083         (Link): Mention POW_LIB.
61084         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
61085         whitespace between 'e' and exponent.
61086         * tests/test-strtod.c (main): Enable hex float tests.
61087         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
61088         now provides.
61089
61090         Document various strtod bugs, with some fixes.
61091         * doc/posix-functions/strtod.texi (strtod): Document bugs with
61092         "-0x", "inf", "nan", and hex constants.
61093         * doc/posix-functions/atof.texi (atof): Likewise.
61094         * modules/stdlib (Makefile.am): Support strtod.
61095         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
61096         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
61097         detect additional strtod bugs.
61098         * lib/stdlib.in.h (rpl_strtod): Add declarations.
61099         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
61100         bool where appropriate.  Parse 'inf' and 'nan'.
61101         * tests/test-strtod.c: New file.
61102         * modules/strtod (Depends-on): Add stdbool, stdlib.
61103         (configure.ac): Turn on module indicator.
61104         * modules/strtod-tests: New module.
61105
61106 2008-03-29  Eric Blake  <ebb9@byu.net>
61107
61108         Fix ftell on mingw.
61109         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
61110         * modules/ftell-tests (Depends-on): Add binary-io.
61111         * modules/ftello-tests (Depends-on): Likewise.
61112         * tests/test-ftell.c (main): Enhance test to cover behavior after
61113         ungetc.  Enforce binary mode.
61114         * tests/test-ftello.c (main): Likewise.
61115
61116         Pass test-freadseek on cygwin.
61117         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
61118         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
61119         ungetc buffer.
61120
61121         * tests/test-fflush2.c (main): Fix typo.
61122
61123 2008-03-29  Bruno Haible  <bruno@clisp.org>
61124
61125         * tests/test-fflush2.c (main): Temporarily disable the contents of
61126         this test.
61127         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
61128         Reported by Eric Blake.
61129
61130 2008-03-28  Simon Josefsson  <simon@josefsson.org>
61131
61132         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
61133         (GC_SHA224_DIGEST_SIZE): Add.
61134
61135         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
61136         (gc_hash_digest_length): Likewise.
61137         (gc_hash_buffer): Likewise.
61138
61139 2008-03-25  Bruno Haible  <bruno@clisp.org>
61140
61141         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
61142         detail which gettext release to use.
61143         Reported by Simon Josefsson.
61144
61145 2008-03-26  Jim Meyering  <meyering@redhat.com>
61146
61147         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
61148         * modules/gnumakefile (clean-GNUmakefile): Also, use
61149         test ... && ... || : syntax rather than if-then ... fi.
61150
61151         gnumakefile: Don't double-quote-expand $(VPATH) value.
61152         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
61153
61154 2008-03-24  Eric Blake  <ebb9@byu.net>
61155
61156         Alter GNUmakefile to install into top directory.
61157         * modules/maintainer-makefile: Split, and add dependency...
61158         * modules/gnumakefile: to this new module.
61159         * build-aux/GNUmakefile: Move...
61160         * top/GNUmakefile: ...here.
61161         * build-aux/maint.mk: Move...
61162         * top/maint.mk: ...here.
61163         * MODULES.html.sh (Support for maintaining...): Document new
61164         module.
61165
61166 2008-03-23  Bruno Haible  <bruno@clisp.org>
61167
61168         * gnulib-tool: New options --vc-files, --no-vc-files.
61169         (func_usage): Document them.
61170         (vc_files): New variable.
61171         (func_import): Consider vc_files.
61172         (func_create_testdir): Set vc_files to empty.
61173         Suggested by Jim Meyering and Karl Berry.
61174
61175 2008-03-23  Bruno Haible  <bruno@clisp.org>
61176
61177         Fix regex compilation error on HP-UX 11.
61178         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
61179         * modules/regex (Files): Add m4/mbstate_t.m4.
61180         Reported by Ton Voon <ton.voon@altinity.com>.
61181
61182 2008-03-23  Bruno Haible  <bruno@clisp.org>
61183
61184         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
61185
61186 2008-03-23  Eric Blake  <ebb9@byu.net>
61187             Bruno Haible  <bruno@clisp.org>
61188
61189         Install files from top/ in the destination directory.
61190         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
61191         augmentation also for the files from top/.
61192         (func_import, func_create_testdir): Rewrite file names:
61193         top/filename -> filename.
61194
61195 2008-03-23  Bruno Haible  <bruno@clisp.org>
61196
61197         Tweak "gnulib --version" output.
61198         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
61199
61200 2008-03-23  Bruno Haible  <bruno@clisp.org>
61201
61202         Tweak "gnulib --version" output.
61203         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
61204         rather than contents of ChangeLog, when possible.
61205
61206 2008-03-21  Eric Blake  <ebb9@byu.net>
61207
61208         More --version tweaks.
61209         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
61210         date of last ChangeLog entry.
61211
61212 2008-03-21  Jim Meyering  <meyering@redhat.com>
61213
61214         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
61215
61216 2008-03-20  Eric Blake  <ebb9@byu.net>
61217
61218         VPATH fix.
61219         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
61220
61221 2008-03-20  Simon Josefsson  <simon@josefsson.org>
61222
61223         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
61224         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
61225
61226 2008-03-20  Eric Blake  <ebb9@byu.net>
61227
61228         Sync GNUmakefile with coreutils.
61229         * build-aux/GNUmakefile (have-Makefile): Rename...
61230         (_have-Makefile): ...to this, for namespace consideration.
61231         (GNUmakefile.cfg): Include, if present.
61232         (_autoreconf): Define a default.
61233         (_is-dist-target): New rule for rebuilds to pick up intra-release
61234         version.
61235         (maint-cfg.mk): Rename...
61236         (cfg.mk): ...to this.
61237
61238 2008-03-18  Jim Meyering  <meyering@redhat.com>
61239
61240         New script and module: mktempd
61241         * MODULES.html.sh (maint+release support): Add mktempd.
61242         * build-aux/mktempd: New file.
61243         * modules/mktempd: New file.
61244
61245 2008-03-15  Jim Meyering  <meyering@redhat.com>
61246
61247         Undo last change.
61248         * lib/sha1.c, lib/md5.c: 63 != ~63.
61249         Reported by Andreas Schwab.
61250
61251         sha1.c, md5.c: Hoist a redundant expression.
61252         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
61253         "ctx->buflen" only once, before calling *_process_block.
61254         * lib/md5.c (md5_process_bytes): Likewise.
61255
61256 2008-03-14  Eric Blake  <ebb9@byu.net>
61257
61258         Bump copyright year in files generated by gnulib-tool.
61259         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
61260         gnulib-tool, rather than hard-coding it.
61261
61262         Fix 'gnulib-tool --version' output to work with git.
61263         * gnulib-tool (func_gnulib_dir): New function, extracted from...
61264         (startup): ...here.
61265         (func_version): Use it to invoke git-version-gen, rather than
61266         relying on CVS keyword expansion.  Modernize wording.
61267         (cvsdatestamp, last_checkin_date, version): Kill unused
61268         variables.
61269
61270 2008-03-12  Jim Meyering  <meyering@redhat.com>
61271
61272         Recognize optional cast of the argument to free.
61273         * build-aux/useless-if-before-free: Update regexps.
61274
61275         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
61276
61277 2008-03-11  Bruno Haible  <bruno@clisp.org>
61278
61279         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
61280         by a single package.
61281         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
61282         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
61283         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
61284         Reported by Sam Steingold <sds@gnu.org>.
61285
61286 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61287
61288         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
61289         repositories.
61290
61291 2008-03-11  Bruno Haible  <bruno@clisp.org>
61292
61293         Avoid conflicts between local macro definitions.
61294         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
61295         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
61296
61297 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
61298             Bruno Haible  <bruno@clisp.org>
61299
61300         Make va_copy work with some version of xlc on AIX 5.1.
61301         * lib/stdarg.in.h: New file.
61302         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
61303         On AIX, use a <stdarg.h> file substitute.
61304         * modules/stdarg (Files): Add lib/stdarg.in.h.
61305         (Depends-on): Add include_next.
61306         (Makefile.am): Build a stdarg.h substitute if requested.
61307         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
61308
61309 2008-03-10  Bruno Haible  <bruno@clisp.org>
61310
61311         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
61312         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61313         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61314
61315 2008-03-10  Bruno Haible  <bruno@clisp.org>
61316
61317         * modules/stdlib (Depends-on): Add include_next, remove
61318         absolute-header.
61319
61320 2008-03-09  Bruno Haible  <bruno@clisp.org>
61321
61322         * lib/freadahead.h (freadahead): Document more precisely.
61323         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
61324         the sum of both buffer sizes.
61325         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
61326         * NEWS: Document the change.
61327
61328 2008-03-09  Bruno Haible  <bruno@clisp.org>
61329
61330         Extend freadptr to return also the buffer size.
61331         * lib/freadptr.h (freadptr): Add sizep argument.
61332         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
61333         (freadptr): Add sizep argument. Determine buffer size like freadahead
61334         does.
61335         * tests/test-freadptr.c: Don't include freadahead.h.
61336         (main): Adapt for new calling convention of freadptr.
61337         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
61338         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
61339         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
61340         tests/test-freadptr2.sh.
61341         (Depends): Remove freadahead.
61342         (TESTS): Add test-freadptr2.sh.
61343         (check_PROGRAMS): Add test-freadptr2.
61344
61345 2008-03-09  Bruno Haible  <bruno@clisp.org>
61346
61347         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
61348         Report and solution by Simon Josefsson.
61349
61350 2008-03-06  Bruno Haible  <bruno@clisp.org>
61351
61352         Make fflush after ungetc work on BSD platforms.
61353         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
61354         * tests/test-fflush2.c: New file.
61355         * tests/test-fflush2.sh: New file.
61356         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
61357         tests/test-fflush2.c.
61358         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
61359         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
61360
61361 2008-03-06  Eric Blake  <ebb9@byu.net>
61362
61363         Likewise for ftello.
61364         * modules/ftello (Dependencies): Add extensions.
61365         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
61366
61367 2008-03-06  Bruno Haible  <bruno@clisp.org>
61368
61369         * modules/fseeko (Dependencies): Add extensions.
61370         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
61371         Needed on glibc systems.
61372
61373 2008-03-06  Bruno Haible  <bruno@clisp.org>
61374
61375         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
61376         email address.
61377         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61378
61379 2008-03-06  Bruno Haible  <bruno@clisp.org>
61380
61381         * users.txt: Add libgnupdf.
61382
61383 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61384
61385         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
61386         (Header File Substitutes, Function Substitutes,
61387         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
61388         (Build robot for gnulib): Fix typo.
61389
61390 2008-03-06  Bruno Haible  <bruno@clisp.org>
61391
61392         * doc/gnulib-tool.texi (VCS Issues): Small updates.
61393         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61394
61395 2008-03-06  Bruno Haible  <bruno@clisp.org>
61396
61397         * doc/func.texi: New file, extracted from doc/gnulib.texi.
61398         * doc/gnulib.texi: Include it.
61399
61400 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61401
61402         * modules/func (License): Change license to unlimited; there was
61403         no LGPL parts in the module anyway.
61404
61405 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61406
61407         * modules/__func__: Renamed to modules/func.
61408         * modules/__func__-tests: Renamed to modules/func-tests.
61409         * tests/test-__func__.c: Renamed to tests/test-func.c.
61410         * m4/__func__.m4: Renamed to m4/func.m4.
61411         * doc/gnulib.texi (__func__): Section renamed to func.
61412         Suggested by Eric Blake <ebb9@byu.net>.
61413
61414 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61415
61416         * doc/gnulib.texi (__func__): Use C99 terminology when talking
61417         about __func__.  Make example self-contained.  Suggested by Eric
61418         Blake <ebb9@byu.net>.
61419
61420         * tests/test-__func__.c (main): Avoid extraneous () around __func.
61421         Suggested by Eric Blake <ebb9@byu.net>.
61422
61423 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61424
61425         * modules/__func__: New file.
61426         * modules/__func__-tests: New file.
61427         * tests/test-__func__.c: New file.
61428         * m4/__func__.m4: New file.
61429         * doc/gnulib.texi (__func__): Document __func__ module.
61430
61431 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61432
61433         * modules/byteswap (License): Re-license as LGPLv2+.
61434
61435 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61436
61437         * doc/Makefile: Add pdf target.
61438
61439 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61440
61441         * modules/inline (License): Use 'unlimited', since there are only
61442         *.m4 files in this module.
61443
61444 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61445             Bruno Haible  <bruno@clisp.org>
61446
61447         Add support for HP C 7.1 on OpenVMS 8.3.
61448         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
61449
61450 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61451
61452         Update VMS specifics.
61453         * lib/getopt.c [VMS]: Remove include of unixlib.h.
61454
61455 2008-03-02  Jim Meyering  <meyering@redhat.com>
61456
61457         Remove the last dependency on the "free" module.
61458         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
61459         Reported by Bob Proulx.
61460
61461         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
61462
61463         Remove useless "if" tests before free.  Deprecate "free" module.
61464         * doc/posix-functions/free.texi: Mention that this
61465         module is no longer useful.
61466         * modules/free (Notice): Say this module is obsolete.
61467         * modules/readutmp (Depends-on): Remove free.
61468         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
61469         * lib/putenv.c (putenv): Likewise.
61470         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
61471         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
61472         * tests/test-c-strcasestr.c (main): Likewise.
61473         * tests/test-c-strstr.c (main): Likewise.
61474         * tests/test-mbscasestr1.c (main): Likewise.
61475         * tests/test-mbscasestr2.c (main): Likewise.
61476         * tests/test-mbsstr1.c (main): Likewise.
61477         * tests/test-mbsstr2.c (main): Likewise.
61478         * tests/test-memmem.c (main): Likewise.
61479         * tests/test-strcasestr.c (main): Likewise.
61480         * tests/test-striconv.c (main): Likewise.
61481         * tests/test-striconveh.c (main): Likewise.
61482         * tests/test-striconveha.c (main): Likewise.
61483         * tests/test-strstr.c (main): Likewise.
61484
61485         * build-aux/git-version-gen: Adjust a comment and the Usage string.
61486
61487         bootstrap: sync from coreutils again
61488         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
61489
61490 2008-03-01  Jim Meyering  <meyering@redhat.com>
61491
61492         bootstrap: sync from coreutils
61493         * build-aux/bootstrap (update_po_files): Copy a .po file into place
61494         also when the target doesn't exist.
61495
61496 2008-03-01  Eric Blake  <ebb9@byu.net>
61497
61498         Fix bugs in last patch.
61499         * lib/memchr2.c (memchr2): Fix typo.
61500         * tests/test-memchr2.c: Test previous bug, and don't use GNU
61501         extension.
61502         Reported by Bruce Korb.
61503
61504         New module 'memchr2'.
61505         * modules/memchr2: New file.
61506         * modules/memchr2-tests: Likewise.
61507         * lib/memchr2.h: Likewise.
61508         * lib/memchr2.c: Likewise, based on memchr.c.
61509         * tests/test-memchr2.c: New test.
61510         * MODULES.html.sh (String handling): Add memchr2.
61511
61512 2008-02-29  Bruno Haible  <bruno@clisp.org>
61513
61514         * modules/freadseek-tests: New file.
61515         * tests/test-freadseek.sh: New file.
61516         * tests/test-freadseek.c: New file.
61517
61518         New module 'freadseek'.
61519         * modules/freadseek: New file.
61520         * lib/freadseek.h: New file.
61521         * lib/freadseek.c: New file.
61522         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
61523
61524 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
61525
61526         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
61527         wydawca.
61528
61529         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
61530         program_invocation_name and program_invocation_short_name are
61531         present.
61532
61533 2008-02-28  Bruno Haible  <bruno@clisp.org>
61534
61535         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
61536         * tests/test-freadptr.sh: Also test non-seekable stdin.
61537
61538 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
61539
61540         * build-aux/bootstrap (source_base, m4_base)
61541         (doc_base, tests_base): New variables.
61542         (gnulib_tool_options): Do not hardcode base directories, use
61543         the above variables instead.
61544
61545 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
61546
61547         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
61548
61549 2008-02-28  Bruno Haible  <bruno@clisp.org>
61550
61551         * modules/freadptr-tests: New file.
61552         * tests/test-freadptr.sh: New file.
61553         * tests/test-freadptr.c: New file.
61554
61555         New module 'freadptr'.
61556         * modules/freadptr: New file.
61557         * lib/freadptr.h: New file.
61558         * lib/freadptr.c: New file.
61559         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
61560
61561 2008-02-26  Karl Berry  <karl@freefriends.org>
61562
61563         Sync from Libtool:
61564         * libltdl/argz.c (argz_add, argz_count): New functions.
61565         * libltdl/argz.in.h: Declare them.
61566         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
61567
61568 2008-02-22  Bruno Haible  <bruno@clisp.org>
61569
61570         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
61571         is a pointer type.  Needed for HP-UX 10.
61572         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
61573         * doc/posix-functions/gmtime_r.texi: Likewise.
61574         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61575
61576 2008-02-24  Bruno Haible  <bruno@clisp.org>
61577
61578         * modules/environ-tests: New file.
61579         * tests/test-environ.c: New file.
61580
61581         New module 'environ'.
61582         * modules/environ: New file.
61583         * lib/unistd.in.h (environ): New declaration.
61584         * m4/environ.m4: New file.
61585         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
61586         after use.
61587         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
61588         HAVE_DECL_ENVIRON.
61589         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
61590         HAVE_DECL_ENVIRON.
61591         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
61592         wrong claim that 'environ' is missing on some systems.
61593         * modules/execute (Depends-on): Add environ.
61594         * lib/execute.c (environ): Remove fallback declaration.
61595         * modules/pipe (Depends-on): Add environ.
61596         * lib/pipe.c (environ): Remove fallback declaration.
61597         * modules/setenv (Depends-on): Add environ.
61598         * lib/setenv.c (environ): Remove fallback declaration.
61599         * modules/unsetenv (Depends-on): Add environ.
61600         * lib/unsetenv.c (environ): Remove fallback declaration.
61601         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
61602         m4/environ.m4.
61603         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
61604         (gl_PREREQ_UNSETENV): Likewise.
61605
61606 2008-02-24  Bruno Haible  <bruno@clisp.org>
61607
61608         * doc/posix-functions/environ.texi: Document the MacOS X problem.
61609
61610 2008-02-20  Bob Proulx  <bob@proulx.com>
61611
61612         Enable use of older two part flavor 'git describe'.
61613         * build-aux/git-version-gen: If using the older two part flavor of
61614         git version then recreate the third part now present in the
61615         newer three part flavor of git describe.
61616
61617 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
61618
61619         * lib/fts.c (fts_build): Typo correction to comment.
61620
61621 2008-02-17  Bruno Haible  <bruno@clisp.org>
61622
61623         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
61624         generating no-op conflicts.
61625
61626 2008-02-17  Bruno Haible  <bruno@clisp.org>
61627
61628         Speed up by 10%.
61629         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
61630         result_entries, rather than an index-based loop.
61631
61632 2008-02-17  Bruno Haible  <bruno@clisp.org>
61633
61634         Speed up by 25%.
61635         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
61636         'hashcode_cached'.
61637         (entry_create): New function.
61638         (entry_hashcode): Use the cached hashcode if possible.
61639         (read_changelog_file, try_split_merged_entry): Use entry_create.
61640
61641 2008-02-17  Bruno Haible  <bruno@clisp.org>
61642
61643         Speed up from O(n^2) to O(n) for long ChangeLog files.
61644         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
61645         (read_changelog_file): Change implementation of entries_reversed list
61646         to rbtreehash.
61647         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
61648
61649 2008-02-17  Bruno Haible  <bruno@clisp.org>
61650
61651         New option --split-merged-entry.
61652         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
61653         (find_paragraph_end, try_split_merged_entry): New functions.
61654         (long_options): Add option --split-merged-entry.
61655         (usage): Document option --split-merged-entry.
61656         (main): Implement option --split-merged-entry.
61657         Reported by Eric Blake.
61658
61659 2008-02-17  Bruno Haible  <bruno@clisp.org>
61660
61661         * lib/git-merge-changelog.c: Include c-strstr.h.
61662         (main): Support the "git pull --rebase" situation.
61663         * modules/git-merge-changelog (Depends-on): Add c-strstr.
61664         Reported by Eric Blake.
61665
61666 2008-02-16  Eric Blake  <ebb9@byu.net>
61667
61668         Avoid doubling \ in common case of "c-maybe" quoting style.
61669         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
61670         eliding outer quotes.
61671         * lib/quotearg.h: Document this.
61672         * tests/test-quotearg.c (result_strings, inputs, results_g)
61673         (flag_results, locale_results): Test it by adding a new string to
61674         each test group.
61675         (compare_strings): Test new string.
61676
61677 2008-02-13  Eric Blake  <ebb9@byu.net>
61678
61679         Avoid trigraph quoting in default output.
61680         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
61681         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
61682         unless explicitly requested.
61683         * tests/test-quotearg.c (flag_results, main): Add additional tests.
61684
61685 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
61686
61687         Don't rely on signed integer overflowing to negative value.
61688         * lib/getugroups.c (getugroups): Include <limits.h>.
61689         Instead, compare against INT_MAX, and increment only if the test passes.
61690
61691 2008-02-13  Jim Meyering  <meyering@redhat.com>
61692         and Eric Blake  <ebb9@byu.net>
61693
61694         Avoid shadowing warning and compile errors on Linux.
61695         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
61696         forwarding macros on Linux.
61697         (dcgettext): Define a stub, for Linux.
61698         (results_g, main): Avoid warnings.
61699
61700 2008-02-12  Eric Blake  <ebb9@byu.net>
61701
61702         Silence warning in last patch.
61703         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
61704
61705         Quotearg part 4: add tests, fix c-maybe colon quoting.
61706         * lib/quotearg.h: Improve documentation.
61707         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
61708         escapes when adding outer quotes.  When quoting trigraphs, use
61709         valid C notation.  When quoting NUL, omit extra characters if next
61710         character is not digit.  Alter prototype.
61711         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
61712         callers.
61713         * modules/quotearg-tests: New module.
61714         * tests/test-quotearg.c: New test.
61715
61716 2008-02-07  Eric Blake  <ebb9@byu.net>
61717
61718         Quotearg part 3: add flag to control outer quote elision.
61719         * lib/quotearg.h (c_maybe_quoting_style): New style.
61720         (enum quoting_flags): Better documentation of flags.
61721         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
61722         c-maybe style.
61723         (quotearg_buffer_restyled): Handle new flag to elide outer
61724         quotes.
61725
61726         Quotearg part 2: add flag that can control NUL elision.
61727         * lib/quotearg.h (set_quoting_flags): New prototype.
61728         * lib/quotearg.c (struct quoting_options): Add flag field.
61729         (set_quoting_flags): New function.
61730         (quotearg_buffer_restyled): Add flags parameter.
61731         (quotearg_alloc_mem): Set the flag if length cannot be returned.
61732         (quotearg_n_options): Set the flag, since length cannot be
61733         returned.
61734         (quoting_options_from_style): Default flags correctly.
61735
61736         Quotearg part 1: more wrappers, restore quotearg_char state.
61737         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
61738         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
61739         (quotearg_colon_mem): New wrappers.
61740         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
61741         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
61742         functions.
61743         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
61744         (quotearg_colon_mem): New functions.
61745
61746 2008-02-11  Bruno Haible  <bruno@clisp.org>
61747
61748         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
61749         library in the current directory: it does not work with parallel make.
61750         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61751
61752 2008-02-11  Bruno Haible  <bruno@clisp.org>
61753
61754         * .gitattributes: New file.
61755
61756 2008-02-11  Jim Meyering  <meyering@redhat.com>
61757
61758         useless-if-before-free: Fix reversed exit values.
61759         * build-aux/useless-if-before-free: Use correct values
61760         for EXIT_MATCH and EXIT_NO_MATCH.
61761
61762         * build-aux/useless-if-before-free: Close stdout carefully.
61763
61764 2008-02-10  Bruno Haible  <bruno@clisp.org>
61765
61766         New module 'git-merge-changelog'.
61767         * modules/git-merge-changelog: New file.
61768         * lib/git-merge-changelog.c: New file.
61769
61770 2008-02-10  Jim Meyering  <meyering@redhat.com>
61771
61772         useless-if-before-free: New option: --list (-l).
61773
61774         useless-if-before-free: Don't exit immediately upon open failure.
61775         * build-aux/useless-if-before-free: Exit 2 for errors.
61776         Upon failure to open a file, don't exit immediately.
61777         Rather, just warn and continue with any remaining files.
61778
61779 2008-02-10  Bruno Haible  <bruno@clisp.org>
61780
61781         New abstract list operation 'node_set_value'.
61782         * lib/gl_list.h (gl_list_node_set_value): New function.
61783         (struct gl_list_implementation): New field node_set_value.
61784         * lib/gl_list.c (gl_list_node_set_value): New function.
61785         * lib/gl_array_list.c (gl_array_node_set_value): New function.
61786         (gl_array_list_implementation): Update.
61787         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
61788         (gl_carray_list_implementation): Update.
61789         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
61790         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
61791         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
61792         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
61793         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
61794         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
61795         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
61796         Update.
61797         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
61798         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
61799         (gl_sublist_list_implementation): Update.
61800
61801 2008-02-10  Bruno Haible  <bruno@clisp.org>
61802
61803         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
61804         Needed when ELEMENT is #defined to 'some_type *'.
61805
61806 2008-02-10  Jim Meyering  <meyering@redhat.com>
61807
61808         New script and module: useless-if-before-free
61809         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
61810         * build-aux/useless-if-before-free: New file.
61811         * modules/useless-if-before-free: New file.
61812
61813         * build-aux/gitlog-to-changelog: Use committer date, not author date.
61814
61815         xstrtol_error: Fix typo.
61816         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
61817         s/exit_failure/exit_status/.
61818
61819 2008-02-09  Jim Meyering  <meyering@redhat.com>
61820
61821         New script and module: gitlog-to-changelog
61822         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
61823         * modules/gitlog-to-changelog: New file.
61824         * build-aux/gitlog-to-changelog: New file.
61825
61826 2008-02-08  Jim Meyering  <meyering@redhat.com>
61827
61828         Avoid two "parameter unused" warnings.
61829         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
61830         Mark "st" as used.
61831
61832         Use "git COMMAND", not "git-COMMAND".
61833         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
61834         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
61835         * build-aux/git-version-gen: Use "git status", not "git-status".
61836
61837 2008-02-07  Bruno Haible  <bruno@clisp.org>
61838
61839         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
61840         Avoids a crash on Windows Vista.
61841         Reported by Adam Strzelecki <ono@java.pl> via
61842         Simon Josefsson <simon@josefsson.org>.
61843
61844 2008-02-06  Bruno Haible  <bruno@clisp.org>
61845
61846         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
61847         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
61848         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
61849         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
61850         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61851         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61852         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
61853         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
61854         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61855         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61856         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61857         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61858         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61859         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61860         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61861         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
61862         left-adjust flag.
61863         * tests/test-snprintf-posix.h (test_function): Likewise.
61864         * tests/test-sprintf-posix.h (test_function): Likewise.
61865         * tests/test-vasprintf-posix.c (test_function): Likewise.
61866         * doc/posix-functions/fprintf.texi: Update.
61867         * doc/posix-functions/printf.texi: Update.
61868         * doc/posix-functions/snprintf.texi: Update.
61869         * doc/posix-functions/sprintf.texi: Update.
61870         * doc/posix-functions/vfprintf.texi: Update.
61871         * doc/posix-functions/vprintf.texi: Update.
61872         * doc/posix-functions/vsnprintf.texi: Update.
61873         * doc/posix-functions/vsprintf.texi: Update.
61874         Reported by Peter Fales <psfales@alcatel-lucent.com>.
61875
61876 2008-02-06  Bruno Haible  <bruno@clisp.org>
61877
61878         Fix bug introduced on 2008-01-26.
61879         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
61880
61881 2008-02-06  Bruno Haible  <bruno@clisp.org>
61882
61883         Fix bug introduced on 2007-06-10.
61884         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
61885         !NEED_PRINTF_FLAG_ZERO.
61886
61887 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
61888
61889         getloadavg: use libperfstat on AIX5
61890         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
61891
61892 2008-02-03  Bruno Haible  <bruno@clisp.org>
61893
61894         * lib/diffseq.h: Add comments about required #includes.
61895         Reported by Michael Biggs <gnulib@doubleplum.net>.
61896
61897 2008-02-01  Bruno Haible  <bruno@clisp.org>
61898
61899         * users.txt: Add gnuit.
61900
61901 2008-01-31  Bruno Haible  <bruno@clisp.org>
61902
61903         * lib/md4.c (set_uint32): Mark as inline.
61904         * lib/md5.c (set_uint32): Likewise.
61905         * lib/sha1.c (set_uint32): Likewise.
61906         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
61907         * m4/md5.m4 (gl_MD5): Likewise.
61908         * m4/sha1.m4 (gl_SHA1): Likewise.
61909
61910 2008-01-31  Jim Meyering  <meyering@redhat.com>
61911
61912         Use "sizeof VAR", rather than a literal "4".
61913         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
61914         * lib/md4.c (md4_read_ctx): Likewise.
61915         * lib/sha1.c (sha1_read_ctx): Likewise.
61916
61917 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61918
61919         * tests/test-sha1.c: New file, based on test-md5.c.
61920
61921         * modules/crypto/sha1-tests: New file.
61922
61923 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61924
61925         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
61926
61927 2008-01-31  Jim Meyering  <meyering@redhat.com>
61928
61929         Prefer "sizeof v" over the equivalent "4".
61930         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
61931         * lib/md5.c (set_uint32): Likewise.
61932         * lib/sha1.c (set_uint32): Likewise.
61933
61934 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61935
61936         * lib/sha1.c (set_uint32): Mark function as static.
61937
61938 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61939
61940         md2: clarify comments to say that alignment is not required.
61941         * lib/md2.h: Remove warning about alignment in comment.
61942         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
61943         never been required.
61944
61945 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61946
61947         md4: adapt alignment constraint fix from sha1.
61948         * lib/md4.c (set_uint32): New function, from sha1.c
61949         (md4_read_ctx): Use it.
61950         (md4_finish_ctx): Doc fix.
61951         * lib/md4.h: Doc fix.
61952
61953 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61954
61955         md5: adapt alignment constraint fix from sha1.
61956         * lib/md5.c (set_uint32): New function, from sha1.c
61957         (md5_read_ctx): Use it.
61958         (md5_finish_ctx): Doc fix.
61959         * lib/md5.h: Doc fix.
61960
61961 2008-01-30  Peter Palfrader  <weasel@debian.org>
61962
61963         sha1: remove the result buffer alignment constraint
61964         * lib/sha1.c (set_uint32): New function.
61965         (sha1_read_ctx): Rewrite to remove the result buffer alignment
61966         constraint.
61967         (sha1_finish_ctx): Remove comment warning about alignment constraint.
61968         * lib/sha1.h: Likewise.
61969
61970 2008-01-30  Andreas Schwab  <schwab@suse.de>
61971             Bruno Haible  <bruno@clisp.org>
61972
61973         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
61974         correct definition of LDBL_MIN_EXP.
61975
61976 2008-01-30  Karl Berry  <karl@gnu.org>
61977
61978         * config/srclist-update: try to preserve x bit on updates.
61979         * config/srclistvars.sh: update for karl.
61980
61981 2008-01-29  Jim Meyering  <meyering@redhat.com>
61982
61983         vasnprintf.c: Avoid warning about unused label
61984         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
61985         "overflow" label definition and associated code with the
61986         same cpp condition that guards the sole use of that label.
61987
61988 2008-01-26  Bruno Haible  <bruno@clisp.org>
61989
61990         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
61991         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
61992         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
61993         * lib/isnanl-nolibm.h (isnanl): Likewise.
61994         Reported by Paul Eggert <eggert@cs.ucla.edu>.
61995
61996 2008-01-26  Bruno Haible  <bruno@clisp.org>
61997
61998         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
61999         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
62000
62001 2008-01-26  Bruno Haible  <bruno@clisp.org>
62002
62003         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
62004         GCC >= 4.0 built-in.
62005         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
62006
62007 2008-01-26  Bruno Haible  <bruno@clisp.org>
62008
62009         Rename isnan, applicable to 'double' only, to isnand.
62010         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
62011         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
62012         (configure.ac): Update.
62013         (Include): Replace "isnan.h" with "isnand.h".
62014         * m4/isnand.m4: Renamed from m4/isnan.m4.
62015         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
62016         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
62017         instead of isnan.c.
62018         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
62019         instead of HAVE_ISNAN_IN_LIBC.
62020         (isnand): Renamed from isnan.
62021         * lib/isnand.c: New file.
62022         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
62023         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
62024         (Makefile.am): Update.
62025         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
62026         Include isnand.h instead of isnan.h.
62027         (main): Test isnand instead of isnan.
62028         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
62029         isnan-nolibm.
62030         * modules/frexp (Depends-on): Likewise.
62031         * modules/frexp-tests (Depends-on): Likewise.
62032         * modules/frexp-nolibm (Depends-on): Likewise.
62033         * modules/frexp-nolibm-tests (Depends-on): Likewise.
62034         * modules/isfinite (Depends-on): Likewise.
62035         * modules/round-tests (Depends-on): Likewise.
62036         * modules/signbit (Depends-on): Likewise.
62037         * modules/signbit-tests (Depends-on): Likewise.
62038         * modules/snprintf-posix (Depends-on): Likewise.
62039         * modules/sprintf-posix (Depends-on): Likewise.
62040         * modules/trunc-tests (Depends-on): Likewise.
62041         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
62042         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
62043         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
62044         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
62045         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
62046         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
62047         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
62048         * modules/vasnprintf-posix (Depends-on): Likewise.
62049         * modules/vasprintf-posix (Depends-on): Likewise.
62050         * modules/vfprintf-posix (Depends-on): Likewise.
62051         * modules/vsnprintf-posix (Depends-on): Likewise.
62052         * modules/vsprintf-posix (Depends-on): Likewise.
62053         * lib/frexp.c: Include isnand.h instead of isnan.h.
62054         (ISNAN): Set to isnand instead of isnan.
62055         * lib/isfinite.c: Include isnand.h instead of isnan.h.
62056         (gl_isfinited): Use isnand instead of isnan.
62057         * lib/signbitd.c: Include isnand.h instead of isnan.h.
62058         (gl_signbitd): Use isnand instead of isnan.
62059         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
62060         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
62061         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
62062         (main): Use isnand instead of isnan.
62063         * tests/test-round1.c: Include isnand.h.
62064         (main): Use isnand instead of isnan.
62065         * tests/test-round2.c: Include isnand.h instead of isnan.h.
62066         (ISNAN): Set to isnand instead of isnan.
62067         * tests/test-trunc1.c: Include isnand.h.
62068         (main): Use isnand instead of isnan.
62069         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
62070         (equal): Use isnand instead of isnan.
62071         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
62072         isnand-nolibm.
62073         * NEWS: Mention the change.
62074
62075 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
62076             Bruno Haible  <bruno@clisp.org>
62077
62078         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
62079         the GCC builtins for signbits are present and set
62080         REPLACE_SIGNBIT_USING_GCC if so.
62081         * lib/math.in.h (signbit): Define using GCC builtins if
62082         REPLACE_SIGNBIT_USING_GCC is set.
62083         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
62084         REPLACE_SIGNBIT_USING_GCC.
62085         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
62086
62087 2008-01-25  Jim Meyering  <meyering@redhat.com>
62088
62089         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
62090         * lib/poll.c: Include <config.h>, not "config.h".
62091         * tests/test-getaddrinfo.c: Likewise.
62092
62093 2008-01-25  Simon Josefsson  <simon@josefsson.org>
62094
62095         * modules/sockets-tests: New file.
62096
62097 2008-01-24  Simon Josefsson  <simon@josefsson.org>
62098
62099         * modules/sockets: New module, can be used to call WSA_Startup and
62100         WSA_Cleanup when needed.
62101
62102         * lib/sockets.h, lib/sockets.c: New files.
62103
62104         * m4/sockets.m4: New file.
62105
62106         * tests/test-sockets.c: New file.
62107
62108 2008-01-19  Bruno Haible  <bruno@clisp.org>
62109
62110         * doc/posix-headers: Renamed from doc/headers.
62111         * doc/posix-functions: Renamed from doc/functions.
62112         * doc/gnulib.texi: Update.
62113
62114 2008-01-19  Bruno Haible  <bruno@clisp.org>
62115
62116         * doc/glibc-functions/strcasestr.texi: Include contents of
62117         doc/functions/strcasestr.texi, fixing the list of platforms.
62118         * doc/functions/strcasestr.texi: Remove file.
62119
62120 2008-01-19  Bruno Haible  <bruno@clisp.org>
62121
62122         * doc/glibc-functions/memmem.texi: Include contents of
62123         doc/functions/memmem.texi.
62124         * doc/functions/memmem.texi: Remove file.
62125
62126 2008-01-18  Bruno Haible  <bruno@clisp.org>
62127
62128         * doc/glibc-functions/*.texi: New files.
62129         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
62130         to use the new files.
62131
62132 2008-01-17  Bruno Haible  <bruno@clisp.org>
62133
62134         * tests/test-gethostname.c (main): Fix printf statement.
62135
62136 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62137
62138         * modules/gethostname-tests: New file.
62139
62140         * tests/test-gethostname.c: New file.
62141
62142 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62143
62144         * lib/gethostname.c: Include string.h unconditionally, strncpy is
62145         used by the UNAME case.  Reported by Bruno Haible
62146         <bruno@clisp.org>.
62147
62148 2008-01-17  Eric Blake  <ebb9@byu.net>
62149
62150         Convert c-strcasestr to be more efficient.
62151         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
62152         (Depends-on): Add c-strcase, remove malloca, strnlen.
62153         * tests/test-c-strcasestr.c (main): Enhance test.
62154         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
62155
62156 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
62157
62158         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
62159         Use it in creating po/Makevars.
62160
62161 2008-01-15  Simon Josefsson  <simon@josefsson.org>
62162
62163         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
62164         Applications that requires it should initialize libgcrypt
62165         manually.
62166
62167 2008-01-16  Simon Josefsson  <simon@josefsson.org>
62168
62169         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
62170
62171 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
62172
62173         Fix problem with getdate on mingw32 reported by Simon Josefsson
62174         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
62175         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
62176         tzname", when deciding whether to declare tzname.
62177         * lib/strftime.c (tzname): Likewise.
62178
62179 2008-01-15  Bruno Haible  <bruno@clisp.org>
62180
62181         Work around a MacOS X 10.5 bug in frexpl().
62182         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
62183         * doc/functions/frexpl.texi: Document the bug.
62184         Reported by Elias Pipping <pipping@gentoo.org>.
62185
62186 2008-01-14  Eric Blake  <ebb9@byu.net>
62187
62188         Touch up previous patch.
62189         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
62190         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
62191
62192         Convert strcasestr module to use Two-Way algorithm.
62193         * modules/strcasestr-simple: New module, based on the old
62194         strcasestr, but with Two-Way rather than KMP.
62195         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
62196         * lib/string.in.h (rpl_strcasestr): Declare.
62197         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
62198         performance.
62199         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
62200         * modules/string (Makefile.am): Support strcasestr.
62201         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
62202         * modules/strcasestr-tests (Depends-on): Check for alarm.
62203         * tests/test-strcasestr.c: Augment test.
62204         * lib/str-two-way.h: Clean up stray macro.
62205         * NEWS: Document new module.
62206         * MODULES.html.sh (string handling): Likewise.
62207         * doc/functions/strcasestr.texi: New file.
62208         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
62209         here, since it is not a POSIX function.
62210
62211 2008-01-14  Colin Watson  <cjwatson@debian.org>
62212             Bruno Haible  <bruno@clisp.org>
62213
62214         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
62215         works fine; if not, set REPLACE_STRSIGNAL.
62216         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
62217         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62218         REPLACE_STRSIGNAL.
62219         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
62220         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
62221         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
62222
62223 2008-01-14  Bruno Haible  <bruno@clisp.org>
62224
62225         * modules/strsignal (Include): Change to <string.h>.
62226
62227 2008-01-14  Colin Watson  <cjwatson@debian.org>
62228
62229         * modules/argp (Notice): Add a notice recommending to change
62230         XGETTEXT_OPTIONS.
62231         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
62232
62233 2008-01-13  Colin Watson  <cjwatson@debian.org>
62234
62235         * modules/strsignal-tests: New file.
62236         * tests/test-strsignal.c: New file.
62237
62238         * lib/strsignal.c: New file, from glibc with modifications.
62239         * lib/siglist.h: New file, from glibc with modifications.
62240         * lib/string.in.h (strsignal): New declaration.
62241         * m4/strsignal.m4: New file.
62242         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62243         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
62244         * modules/strsignal: New file.
62245         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
62246         HAVE_DECL_STRSIGNAL.
62247
62248 2008-01-13  Bruno Haible  <bruno@clisp.org>
62249
62250         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
62251         locale encoding is not ASCII. Needed for OpenBSD 4.0.
62252         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62253         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62254
62255 2008-01-13  Bruno Haible  <bruno@clisp.org>
62256
62257         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
62258         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
62259         * lib/argp.h (__attribute__): Likewise.
62260         * lib/c-stack.c (__attribute__): Likewise.
62261         * lib/error.h (__attribute__): Likewise.
62262         * lib/fts.c (__attribute__): Likewise.
62263         * lib/openat.h (__attribute__): Likewise.
62264         * lib/stdio.in.h (__attribute__): Likewise.
62265         * lib/string.in.h (__attribute__): Likewise.
62266         * lib/utimens.c (__attribute__): Likewise.
62267         * lib/vasnprintf.h (__attribute__): Likewise.
62268         * lib/xalloc.h (__attribute__): Likewise.
62269         * lib/xprintf.h (__attribute__): Likewise.
62270         * lib/xstrtol.h (__attribute__): Likewise.
62271         * lib/xvasprintf.h (__attribute__): Likewise.
62272
62273 2008-01-12  Bruno Haible  <bruno@clisp.org>
62274
62275         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
62276         * doc/glibc-headers/a.out.texi: New file.
62277         * doc/glibc-headers/aliases.texi: New file.
62278         * doc/glibc-headers/alloca.texi: New file.
62279         * doc/glibc-headers/ar.texi: New file.
62280         * doc/glibc-headers/argp.texi: New file.
62281         * doc/glibc-headers/argz.texi: New file.
62282         * doc/glibc-headers/byteswap.texi: New file.
62283         * doc/glibc-headers/crypt.texi: New file.
62284         * doc/glibc-headers/endian.texi: New file.
62285         * doc/glibc-headers/envz.texi: New file.
62286         * doc/glibc-headers/err.texi: New file.
62287         * doc/glibc-headers/error.texi: New file.
62288         * doc/glibc-headers/execinfo.texi: New file.
62289         * doc/glibc-headers/fpu_control.texi: New file.
62290         * doc/glibc-headers/fstab.texi: New file.
62291         * doc/glibc-headers/fts.texi: New file.
62292         * doc/glibc-headers/getopt.texi: New file.
62293         * doc/glibc-headers/ieee754.texi: New file.
62294         * doc/glibc-headers/ifaddrs.texi: New file.
62295         * doc/glibc-headers/libintl.texi: New file.
62296         * doc/glibc-headers/mcheck.texi: New file.
62297         * doc/glibc-headers/mntent.texi: New file.
62298         * doc/glibc-headers/obstack.texi: New file.
62299         * doc/glibc-headers/paths.texi: New file.
62300         * doc/glibc-headers/printf.texi: New file.
62301         * doc/glibc-headers/pty.texi: New file.
62302         * doc/glibc-headers/resolv.texi: New file.
62303         * doc/glibc-headers/shadow.texi: New file.
62304         * doc/glibc-headers/sysexits.texi: New file.
62305         * doc/glibc-headers/ttyent.texi: New file.
62306
62307 2008-01-12  Jim Meyering  <meyering@redhat.com>
62308
62309         announce-gen: emit Gnulib's git-based version string.
62310         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
62311         New option --gnulib-version=V, where V is expected to be
62312         the output of running git describe in the gnulib directory.
62313         (get_tool_versions): Request feedback on xdelta.  I suspect it's
62314         not useful, and plan to stop publishing an xdelta file with each
62315         coreutils release.
62316
62317         * build-aux/announce-gen: Also check for lzma-compressed files.
62318
62319 2008-01-11  Bruno Haible  <bruno@clisp.org>
62320
62321         * tests/test-memmem.c (main): Increase maximum allowed time.
62322         * tests/test-strstr.c (main): Likewise.
62323
62324 2008-01-11  Bruno Haible  <bruno@clisp.org>
62325
62326         * doc/functions/memmem.texi: Add more precisions about platforms.
62327         * doc/functions/strstr.texi: Likewise.
62328
62329 2008-01-10  Eric Blake  <ebb9@byu.net>
62330
62331         * m4/strstr.m4: Delete cruft from copy-n-paste.
62332         Reported by Bruno Haible.
62333
62334 2008-01-10  Bruno Haible  <bruno@clisp.org>
62335
62336         Make c-strstr rely on strstr.
62337         * lib/c-strstr.c: Don't include str-kmp.h.
62338         (c_strstr): Define in terms of strstr.
62339         * modules/c-strstr (Files): Remove lib/str-kmp.h.
62340         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
62341
62342 2008-01-10  Bruno Haible  <bruno@clisp.org>
62343
62344         * doc/gnulib.texi (String Functions in C Locale): New section.
62345         * doc/c-ctype.texi: New file.
62346         * doc/c-strcase.texi: New file.
62347         * doc/c-strcaseeq.texi: New file.
62348         * doc/c-strcasestr.texi: New file.
62349         * doc/c-strstr.texi: New file.
62350         * doc/c-strtod.texi: New file.
62351         * doc/c-strtold.texi: New file.
62352
62353 2008-01-10  Eric Blake  <ebb9@byu.net>
62354
62355         * lib/relocatable.h: Fix a comment.
62356
62357 2008-01-10  Eric Blake  <ebb9@byu.net>
62358
62359         Share two-way algorithm.
62360         * lib/str-two-way.h: New file, merged from...
62361         * lib/memmem.c: ...here...
62362         * lib/strstr.c: ...and here.
62363         * modules/memmem (Files): Use it.
62364         * modules/strstr (Files): Likewise.
62365
62366         Avoid quadratic strstr implementations.
62367         * lib/strstr.c: New file.
62368         * m4/strstr.m4: Likewise.
62369         * modules/strstr: Likewise.
62370         * modules/strstr-tests: Likewise.
62371         * tests/test-strstr.c: Likewise.
62372         * lib/string.in.h (rpl_strstr): Declare.
62373         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
62374         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
62375         * modules/string (Makefile.am): Likewise.
62376         * MODULES.html.sh (string handling): Mention new module.
62377         * doc/functions/strstr.texi (strstr): Document the bug.
62378
62379 2008-01-10  Bruno Haible  <bruno@clisp.org>
62380
62381         * lib/relocatable.h (relocate): State whether result is freshly
62382         allocated or not.
62383         * lib/relocatable.c (relocate): Return a freshly allocated string
62384         instead of a pointer to a privately held string.
62385         Reported by Sylvain Beucler <beuc@gnu.org>.
62386
62387 2008-01-10  Colin Watson  <cjwatson@debian.org>
62388
62389         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
62390         s/S_ISNLK/S_ISLNK/.
62391
62392 2008-01-09  Bruno Haible  <bruno@clisp.org>
62393
62394         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
62395         and other files.
62396         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
62397         if it's only a guess.
62398         * modules/memmem: Simplify by depending on memmem-simple.
62399
62400 2008-01-09  Bruno Haible  <bruno@clisp.org>
62401
62402         Work around OpenBSD 4.0 tdelete() bug.
62403         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
62404         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
62405         macros and don't redefine the enum values.
62406         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
62407         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
62408         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
62409
62410 2008-01-09  Bruno Haible  <bruno@clisp.org>
62411
62412         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
62413         (main): Don't perform the tests if setlocale did not install a UTF-8
62414         locale. Needed on OpenBSD 4.0.
62415         * modules/wcwidth-tests (Depends-on): Add localcharset.
62416
62417 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62418
62419         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
62420         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
62421         * NEWS: announce this.
62422         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
62423
62424 2008-01-09  Simon Josefsson  <simon@josefsson.org>
62425         and Eric Blake  <ebb9@byu.net>
62426
62427         Add memmem-simple module.
62428         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
62429         (gl_FUNC_MEMMEM): Separate performance from presence checks.
62430         * modules/memmem-simple: New file.
62431         * modules/memmem (Description): Tweak.
62432         * MODULES.html.sh (string handling): Mention new module.
62433         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
62434         addressed by memmem-simple.
62435         * NEWS: Document the difference.
62436
62437 2008-01-09  Eric Blake  <ebb9@byu.net>
62438
62439         Give gcc some memmem optimization hints.
62440         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
62441         (strcasestr): Declare as pure.
62442         * modules/memmem (Maintainer): Claim my implementation.
62443
62444 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62445
62446         Support AIX 6.1 and higher.
62447         * build-aux/config.libpath: Likewise.
62448         * build-aux/config.rpath: Likewise.
62449
62450 2008-01-08  Jim Meyering  <meyering@redhat.com>
62451             Bruno Haible  <bruno@clisp.org>
62452
62453         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
62454         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
62455         Reported by Peter Fales in
62456         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
62457
62458 2008-01-08  Bruno Haible  <bruno@clisp.org>
62459
62460         * modules/unictype/category-of (Depends-on): Add
62461         unictype/category-none.
62462         * modules/unictype/category-and-tests (Depends-on): Add
62463         unictype/category-{L,N,Lu,Nd}.
62464         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
62465         * modules/unictype/category-or-tests (Depends-on): Add
62466         unictype/category-{L,N}.
62467         * modules/unictype/category-name-tests (Depends-on): Add
62468         unictype/category-{Z,Nl}.
62469         Reported by Simon Josefsson.
62470
62471 2008-01-08  Bruno Haible  <bruno@clisp.org>
62472
62473         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
62474         convention better.
62475         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
62476         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
62477         Reported by Peter Miller <millerp@canb.auug.org.au>.
62478
62479 2008-01-08  Eric Blake  <ebb9@byu.net>
62480
62481         Rewrite memmem to guarantee linear complexity without malloc.
62482         * lib/memmem.c (memmem): Use Two-Way rather than
62483         Knuth-Morris-Pratt, to allow O(1) space usage.
62484         (critical_factorization, two_way_short_needle)
62485         (two_way_long_needle): New functions.
62486         (knuth_morris_pratt): Delete.
62487         * modules/memmem (Depends-on): No longer need malloca or stdbool.
62488         Add stdint.
62489         * tests/test-memmem.c (main): Add tests for periodic needle and
62490         sublinear performance.
62491         * doc/functions/memmem.texi (memmem): Document other deficiencies
62492         in cygwin and older glibc.
62493
62494 2008-01-08  Bruno Haible  <bruno@clisp.org>
62495
62496         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
62497         augmentation.
62498
62499 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
62500
62501         Add a configure time option: --disable-acl.
62502         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
62503         AC_ARG_ENABLE(acl).
62504
62505 2008-01-06  Simon Josefsson  <simon@josefsson.org>
62506
62507         * tests/test-localename.c: Don't include obsolete "setenv.h".
62508
62509         * modules/localename-tests (Depends-on): Need unsetenv.
62510
62511 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62512
62513         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
62514
62515 2008-01-06  Colin Watson  <cjwatson@debian.org>
62516
62517         * users.txt: Add man-db.
62518
62519 2008-01-07  Bruno Haible  <bruno@clisp.org>
62520
62521         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
62522         previous section name.
62523
62524 2008-01-07  Bruno Haible  <bruno@clisp.org>
62525
62526         * lib/progname.c (set_program_name): Don't strip off a leading
62527         "lt-" prefix outside a .libs directory.
62528         Suggested by Paul Eggert.
62529
62530 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
62531             Bruno Haible  <bruno@clisp.org>
62532
62533         Improve memory cleanup in 'relocatable' module.
62534         * lib/relocatable.h (compute_curr_prefix): Change return type to
62535         'char *'.
62536         * lib/relocatable.c (compute_curr_prefix): Change return type to
62537         'char *'. Free curr_installdir after use.
62538         (relocate): Free curr_prefix_better after use.
62539         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
62540
62541 2008-01-01  Bruno Haible  <bruno@clisp.org>
62542
62543         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
62544         failure on older glibc systems.
62545         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62546
62547 2008-01-05  Eric Blake  <ebb9@byu.net>
62548
62549         Avoid quadratic system memmem.
62550         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
62551         Reported by Ralf Wildenhues.
62552
62553         Fix memmem test for mingw.
62554         * modules/memmem-tests (configure.ac): Check for alarm.
62555         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
62556         it.
62557         * doc/functions/memmem.texi: New file.
62558         * doc/gnulib.texi (Function Substitutes): Add memmem.
62559         Reported by Bruno Haible.
62560
62561 2008-01-04  Bruno Haible  <bruno@clisp.org>
62562
62563         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
62564         Require gl_HEADER_STRINGS_H_DEFAULTS, not
62565         gl_HEADER_STRING_H_DEFAULTS.
62566
62567 2008-01-04  Eric Blake  <ebb9@byu.net>
62568
62569         Shorten duration of memmem test.
62570         * tests/test-memmem.c (main): Use alarm to declare failure if test
62571         is taking too long.
62572         Reported by Ralf Wildenhues.
62573
62574 2007-12-21  Simon Josefsson  <simon@josefsson.org>
62575
62576         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
62577         string, needed by strerror.
62578
62579 2008-01-03  Colin Watson  <cjwatson@debian.org>
62580             Bruno Haible  <bruno@clisp.org>
62581
62582         * doc/gnulib-tool.texi (Localization): New section.
62583
62584 2008-01-02  Bruno Haible  <bruno@clisp.org>
62585
62586         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
62587         variables to 'unsigned char *' type.
62588         Reported by Paul Eggert.
62589
62590 2008-01-02  Jim Meyering  <jim@meyering.net>
62591
62592         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
62593
62594 2007-12-31  Jim Meyering  <jim@meyering.net>
62595
62596         Avoid use of private FTS type name.
62597         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
62598
62599 2007-12-30  Karl Berry  <karl@gnu.org>
62600
62601         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
62602         work around defect in Texinfo and/or the standalone Info browser.
62603
62604 2007-12-30  Bruno Haible  <bruno@clisp.org>
62605
62606         Unify 5 copies of the KMP code.
62607         * lib/str-kmp.h: New file.
62608         * lib/c-strcasestr.c: Include str-kmp.h.
62609         (knuth_morris_pratt): Remove function.
62610         (c_strcasestr): Update.
62611         * lib/c-strstr.c: Include str-kmp.h.
62612         (knuth_morris_pratt): Remove function.
62613         (c_strcasestr): Update.
62614         * lib/mbscasestr.c: Include str-kmp.h.
62615         (knuth_morris_pratt_unibyte): Remove function.
62616         * lib/mbsstr.c: Include str-kmp.h.
62617         (knuth_morris_pratt_unibyte): Remove function.
62618         * lib/strcasestr.c: Include str-kmp.h.
62619         (knuth_morris_pratt): Remove function.
62620         (strcasestr): Update.
62621         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
62622         * modules/c-strstr (Files): Likewise.
62623         * modules/mbscasestr (Files): Likewise.
62624         * modules/mbsstr (Files): Likewise.
62625         * modules/strcasestr (Files): Likewise.
62626         Suggested by Paul Eggert.
62627
62628 2007-12-30  Bruno Haible  <bruno@clisp.org>
62629
62630         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
62631         defined.
62632
62633 2007-12-30  Bruno Haible  <bruno@clisp.org>
62634
62635         * lib/xmalloca.h: Include xalloc.h.
62636         (xnmalloca): New macro.
62637
62638 2007-12-30  Bruno Haible  <bruno@clisp.org>
62639
62640         * lib/malloca.h (nmalloca): New macro.
62641         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
62642         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
62643         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
62644         knuth_morris_pratt_multibyte): Likewise.
62645         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
62646         knuth_morris_pratt_multibyte): Likewise.
62647         * lib/memmem.c (knuth_morris_pratt): Likewise.
62648         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
62649
62650 2007-12-25  Bruno Haible  <bruno@clisp.org>
62651
62652         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
62653         * lib/glob.c: Don't include openat.h.
62654         (link_exists2_p): Add back the code that deals with the
62655         !GLOB_ALTDIRFUNC case.
62656         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
62657         let it do the filename concatenation.
62658         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
62659         * modules/glob (Depends-on): Remove openat.
62660
62661 2007-12-31  Bruno Haible  <bruno@clisp.org>
62662
62663         * modules/dirfd (License): Change to LGPLv2+.
62664         Approved by Jim Meyering.
62665
62666 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62667
62668         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
62669         when multiplying M by sizeof (size_t).
62670
62671 2007-12-10  Martin Lambers  <marlam@marlam.de>
62672
62673         Override getpagesize on mingw.
62674         * lib/getpagesize.c: New file.
62675         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
62676         * modules/getpagesize (Files): Add lib/getpagesize.c.
62677         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
62678         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62679         REPLACE_GETPAGESIZE.
62680         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
62681
62682 2007-12-25  Bruno Haible  <bruno@clisp.org>
62683
62684         * modules/localcharset (Notice): New field.
62685         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
62686         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
62687
62688 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62689             Bruno Haible  <bruno@clisp.org>
62690
62691         Avoid using the syntax symbol() in formatted documentation.
62692         * MODULES.html.sh (func_module): When replacing symbol() with a
62693         hyperlink, remove the parentheses. Show an error if some remain.
62694         Recognize and render the '...' syntax.
62695         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
62696         Rework. Add paragraph about GCC's inlining.
62697         * doc/alloca.texi: Likewise.
62698         * doc/error.texi: Remove parentheses from symbol reference.
62699         * doc/gnulib-intro.texi: Likewise.
62700         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
62701         * modules/fnmatch (Description): Reword to say "the ... function".
62702         * modules/full-read (Description): Likewise.
62703         * modules/full-write (Description): Likewise.
62704         * modules/safe-read (Description): Likewise.
62705         * modules/safe-write (Description): Likewise.
62706         * modules/strchrnul (Description): Likewise.
62707         * modules/trim (Description): Likewise.
62708         * modules/error (Description): Remove parentheses from symbol
62709         references.
62710         * modules/verror (Description): Likewise.
62711         Reported by Karl Berry.
62712
62713 2007-12-25  Bruno Haible  <bruno@clisp.org>
62714
62715         Fixup after 2007-10-16 commit.
62716         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
62717
62718 2007-12-24  Bruno Haible  <bruno@clisp.org>
62719
62720         Make --enable-relocatable work with DESTDIR.
62721         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
62722         to compute installdir from destprog.
62723         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
62724         also set the RELOC_DESTDIR variable.
62725         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62726
62727 2007-12-24  Bruno Haible  <bruno@clisp.org>
62728
62729         Fix link error due to xalloc_die().
62730         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
62731         of xreadlink.
62732         * lib/relocwrapper.c: Update comments.
62733         * build-aux/install-reloc: Remove xreadlink.c from file list.
62734         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
62735         xreadlink.c.
62736         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62737
62738 2007-12-24  Bruno Haible  <bruno@clisp.org>
62739
62740         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
62741         * lib/setenv.h: Remove file.
62742         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
62743         lib/setenv.h.
62744         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
62745         (Depends-on): Add stdlib.
62746         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
62747         gl_FUNC_UNSETENV.
62748         (Include): Replace setenv.h with <stdlib.h>.
62749         * modules/unsetenv: New file.
62750         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
62751         * lib/unsetenv.c: Include <stdlib.h> first.
62752         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
62753         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
62754         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
62755         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
62756         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
62757         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62758         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
62759         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62760         * doc/functions/unsetenv.texi: Update.
62761         * modules/xsetenv (Depends-on): Add unsetenv.
62762         * modules/getdate (Depends-on): Likewise.
62763         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
62764         * lib/xsetenv.c: Don't include setenv.h.
62765         * lib/getdate.y: Likewise.
62766         * lib/relocwrapper.c: Likewise.
62767         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
62768         (Depends-on): Add stdlib.
62769         * NEWS: Mention the changes.
62770         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62771
62772 2007-12-23  Bruno Haible  <bruno@clisp.org>
62773
62774         * lib/memmem.c (memmem): Use lowercase variable names. Tab
62775         indentation.
62776
62777 2007-12-23  Bruno Haible  <bruno@clisp.org>
62778
62779         * lib/c-strcasestr.c: Add more comments.
62780         * lib/c-strstr.c: Likewise.
62781         * lib/mbscasestr.c: Likewise.
62782         * lib/mbsstr.c: Likewise.
62783         * lib/strcasestr.c: Likewise.
62784         * lib/memmem.c: Likewise.
62785
62786 2007-12-23  Bruno Haible  <bruno@clisp.org>
62787
62788         * tests/test-memmem.c: Include <string.h> first.
62789
62790 2007-12-22  Bruno Haible  <bruno@clisp.org>
62791
62792         * gnulib-tool (func_create_testdir): Change $auxdir while generating
62793         the contents of $testsbase.
62794         Reported by Ralf Wildenhues.
62795
62796 2007-12-22  Bruno Haible  <bruno@clisp.org>
62797
62798         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
62799         two variables local_ldadd_before, local_ldadd_last.
62800
62801 2007-12-20  Eric Blake  <ebb9@byu.net>
62802
62803         Work around circular library issue when cross-compiling.
62804         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
62805         that progname.o does not need to pull in rpl_memcmp.
62806
62807 2007-12-19  Eric Blake  <ebb9@byu.net>
62808
62809         Fix memmem to avoid O(n^2) worst-case complexity.
62810         * lib/memmem.c (knuth_morris_pratt): New function.
62811         (memmem): Use it if first few naive iterations fail.
62812         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
62813         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
62814         * modules/memchr (License): Likewise.
62815         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
62816         malloca.
62817         * tests/test-memmem.c: Rewrite, borrowing ideas from
62818         test-mbsstr1.c; the old version wouldn't even compile!
62819         * modules/memmem-tests: New file.
62820         * lib/string.in.h (rpl_memmem): Add declaration.
62821         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
62822         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
62823         REPLACE_MEMMEM.
62824
62825 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62826
62827         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
62828         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
62829         before any system include files, and undef after them all.  This
62830         should fix a problem on VMS reported by John E. Malmberg in
62831         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
62832
62833 2007-12-17  Eric Blake  <ebb9@byu.net>
62834
62835         Revert addition of verify, for BSD/OS.
62836         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
62837         can't handle large files, for the sake of obsolete platforms.
62838         * modules/fseeko (Depends-on): Remove verify.
62839         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
62840         * doc/functions/ftello.texi (ftello): Likewise.
62841         * doc/functions/fgetpos.texi (fgetpos): Likewise.
62842         Reported by Larry Jones.
62843
62844 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
62845
62846         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
62847         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
62848
62849 2007-12-17  Jim Meyering  <meyering@redhat.com>
62850
62851         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
62852         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
62853         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
62854         * modules/getcwd (Depends-on): Add openat.
62855         Reported by Petr Salinger.
62856
62857 2007-12-17  Bruno Haible  <bruno@clisp.org>
62858
62859         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
62860         avoid a segmentation fault of the configure test on x86_64 systems.
62861
62862 2007-12-15  Jim Meyering  <meyering@redhat.com>
62863
62864         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
62865
62866 2007-12-13  Eric Blake  <ebb9@byu.net>
62867
62868         Another fseek test.
62869         * tests/test-fseek.c (main): Also test ungetc handling.
62870         * tests/test-fseeko.c (main): Likewise.
62871         * modules/fseeko (Depends-on): Add verify.
62872         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
62873         large.
62874         Reported by Larry Jones.
62875
62876         Fix fseeko on mingw.
62877         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
62878         seek.
62879
62880         Beef up fseek tests.
62881         * tests/test-fseek.c (main): Also test eof handling.
62882         * tests/test-fseeko.c (main): Likewise.
62883         Reported by Larry Jones.
62884
62885 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
62886
62887         Fix fseeko on BSD-based platforms.
62888         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
62889         successful seek.
62890
62891 2007-12-12  Eric Blake  <ebb9@byu.net>
62892
62893         Allow circular dependency of separate libtests.a
62894         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
62895         when use_libtests.
62896
62897 2007-12-11  Eric Blake  <ebb9@byu.net>
62898
62899         Fix bug with -0.0L in previous patch.
62900         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
62901         * tests/test-isnan.c (main): Also test on zeroes.
62902         * tests/test-isnanf.c (main): Likewise.
62903         * tests/test-isnanl.h (main): Likewise.
62904
62905         Detect pseudo-denormals on x86 even when cross-compiling.
62906         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
62907         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
62908         invalid bit patterns that happen to satisfy ==.
62909
62910         Avoid link failures with separate libtests.a.
62911         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
62912         last, to satisfy circular dependencies.
62913
62914 2007-12-11  Eric Blake  <ebb9@byu.net>
62915         and Bruno Haible  <bruno@clisp.org>
62916
62917         Fix OpenBSD 4.0 <float.h> handling of long double.
62918         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
62919         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
62920         * doc/headers/float.texi (float.h): Document OpenBSD bug.
62921
62922 2007-12-11  Jim Meyering  <meyering@redhat.com>
62923
62924         * users.txt: Add libvirt.
62925
62926         Support versions of autoconf prior to 2.59c.
62927         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
62928         if it is not already defined.
62929
62930 2007-12-09  Bruno Haible  <bruno@clisp.org>
62931
62932         Let 'gnulib-tool --import' collect sources needed for the tests in
62933         tests/ rather than in lib/.
62934         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
62935         argument. If true, add rules to generate libtests.a, and put libtests.a
62936         into $(LDADD). Consider source files in subdirectories and set
62937         uses_subdirs.
62938         (func_emit_initmacro_start, func_emit_initmacro_end,
62939         func_emit_initmacro_done): Pass all arguments explicitly.
62940         (func_import): Determine two module lists main_modules,
62941         testsrelated_modules. Determine use_libtests. Determine two variables
62942         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
62943         instead of just sed_transform_lib_file. Determine two variables
62944         main_files and testsrelated_files. Compute 'files' as the union of
62945         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
62946         func_add_or_update. In the generated gnulib-comp.m4, collect the
62947         object files for tests/ in different variables than those for lib/.
62948         Substitute LIBTESTS_LIBDEPS.
62949         (func_create_testdir): Combine the uses_subdirs results from
62950         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
62951
62952 2007-12-09  Bruno Haible  <bruno@clisp.org>
62953
62954         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
62955         the build-aux directory.
62956
62957 2007-12-09  Bruno Haible  <bruno@clisp.org>
62958
62959         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
62960         introduced on 2006-09-09.
62961
62962 2007-12-07  Jim Meyering  <meyering@redhat.com>
62963
62964         Let these macros work also with autoconf-2.59.
62965         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
62966         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
62967         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62968
62969 2007-12-06  Jim Meyering  <meyering@redhat.com>
62970
62971         Avoid a configure-time syntax error in gl_FUNC_ACL.
62972         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
62973         function in each branch, before testing the cache variable.
62974
62975 2007-12-04  Eric Blake  <ebb9@byu.net>
62976
62977         Make scripts executable.
62978         * build-aux/config.guess: Add execute permissions.
62979         * build-aux/config.sub: Likewise.
62980         * build-aux/gendocs.sh: Likewise.
62981
62982         Fix frexp on mingw.
62983         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
62984         cross-compiling.
62985         * doc/functions/frexp.texi (frexp): Document the bug.
62986
62987         Make cygwin fseeko check more reliable.
62988         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
62989         version numbers, rather than unrelated feature check.
62990         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
62991         * doc/functions/ftello.texi (ftello): Likewise.
62992         Reported by Bruno Haible.
62993
62994         * m4/strerror.m4: Bump version number.
62995
62996 2007-12-03  Bruno Haible  <bruno@clisp.org>
62997
62998         * doc/functions/mprotect.texi: Mention the mingw problem.
62999
63000 2007-12-03  Eric Blake  <ebb9@byu.net>
63001
63002         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
63003         REPLACE_STRERROR is initialized before this macro.
63004
63005 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
63006
63007         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
63008         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
63009         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
63010         put -lsec in even for programs other than 'ls'.  This fixes a problem
63011         for gettext reported by Bruno Haible in
63012         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
63013         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
63014         Add support for Solaris 10.  This isn't efficient, but should get the
63015         job done for now.
63016
63017 2007-12-03  James Youngman  <jay@gnu.org>
63018
63019         * doc/regexprops-generic.texi: change "an close-group" to "a
63020         close-group" and "illegal" to "not allowed".
63021
63022 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63023
63024         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
63025         pr_byname.h. Needed for the rare case when the maintainer has done
63026         "make maintainer-clean" in the source directory and then attempts a
63027         build outside the source directory.
63028         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
63029         scripts_byname.h.
63030
63031 2007-12-02  Martin Lambers <marlam@marlam.de>
63032             Bruno Haible  <bruno@clisp.org>
63033
63034         * lib/getpagesize.h: Remove file.
63035         * lib/unistd.in.h: Include declaration of getpagesize here.
63036         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
63037         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
63038         HAVE_SYS_PARAM_H.
63039         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
63040         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63041         * modules/getpagesize (Files): Remove lib/getpagesize.h.
63042         (Depends-on): Add unistd.
63043         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63044         (Include): Use <unistd.h> instead of getpagesize.h.
63045         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
63046         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63047         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
63048         gl_GETPAGESIZE invocation, already handled by module dependency.
63049         * lib/pagealign_alloc.c: Don't include getpagesize.h.
63050
63051 2007-12-02  Bruno Haible  <bruno@clisp.org>
63052
63053         * modules/strings-tests: New file.
63054         * tests/test-strings.c: New file.
63055
63056         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
63057         * lib/strings.in.h: New file.
63058         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
63059         * m4/strings_h.m4: New file.
63060         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
63061         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
63062         * modules/strings: New file.
63063         * modules/string (Makefile.am): Update.
63064         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
63065         Reported by Karl Berry.
63066
63067 2007-12-01  Eric Blake  <ebb9@byu.net>
63068
63069         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
63070         accommodate fix in cygwin 1.5.25.
63071
63072 2007-12-01  Jim Meyering  <meyering@redhat.com>
63073
63074         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
63075         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
63076         that would inhibit utf8-optimization of a regexp containing line-
63077         or buffer-anchors, e.g., `^', `$'.
63078
63079 2007-11-30  Bruno Haible  <bruno@clisp.org>
63080
63081         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
63082         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
63083         glthread_recursive_lock_init.
63084         * lib/lock.c (glthread_recursive_lock_init)
63085         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
63086         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63087
63088 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
63089
63090         New function qset_acl, like set_acl but with syscall semantics.
63091         * lib/acl.h (qset_acl): New decl.
63092         * lib/acl.c (qset_acl): New function.
63093         (set_acl): Use new function.  Use more-consistent diagnostics.
63094
63095 2007-11-28  Jim Meyering  <meyering@redhat.com>
63096
63097         * modules/physmem (License): Change from GPL to LGPLv2+.
63098
63099 2007-11-26  Bruno Haible  <bruno@clisp.org>
63100
63101         * lib/vasnprintf.c (decode_long_double): Don't abort if the
63102         'long double' type has excess precision.
63103         Reported by Jim Meyering in
63104         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
63105
63106 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63107
63108         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
63109         Sync from <http://gnu.org/licenses>.
63110         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
63111         with license text from same location.
63112         * doc/maintain.texi, doc/standards.texi:  Sync from
63113         <http://savannah.gnu.org/projects/gnustandards>.
63114
63115 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
63116         and Jim Meyering  <meyering@redhat.com>
63117
63118         Adjust getdate' grammar to accept a slightly more regular language.
63119         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
63120         Before, the former was rejected.
63121         * lib/getdate.y (digits_to_date_time): New function, factored
63122         out of ...
63123         (number): ...here.  Just call digits_to_date_time.
63124         (hybrid): New non-terminal to handle an <unsigned number,
63125         signed relative offset> sequence consistently.
63126
63127 2007-11-18  Jim Meyering  <meyering@redhat.com>
63128
63129         Pull my changes from coreutils:
63130         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
63131         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
63132         use of $gnulib_tool_option_extras, so that it's separated from the
63133         preceding argument.
63134
63135         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
63136         * build-aux/bootstrap (cp_mark_as_generated): Create any required
63137         parent destination directories before copying a file into place.
63138
63139 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
63140
63141         bootstrap: work also with 4-argument variant of AC_INIT
63142         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
63143
63144 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63145
63146         Port test-getaddrinfo to Solaris.
63147         Problem reported by Bruno Haible in
63148         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
63149         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
63150         explanation of setting 'hints'.
63151         Don't reject an implementation merely because it returns EAI_SERVICE.
63152         (EAI_SERVICE): Define to 0 if not defined.
63153
63154 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63155
63156         The license of gnu-make and posix-shell is now "GPLed build tool".
63157         * modules/gnu-make (License): Likewise.
63158         * modules/posix-shell (License): Likewise.
63159
63160         New module posix-shell, for determining a POSIX shell
63161         or perhaps something that is close enough to a POSIX shell.
63162         * m4/posix-shell.m4: New file.
63163         * modules/posix-shell: New file.
63164
63165         * MODULES.html.sh: Mention new module.
63166
63167         New module gnu-make, for determining whether we're using GNU Make.
63168         * m4/gnu-make.m4: New file.
63169         * modules/gnu-make: New file.
63170         * MODULES.html.sh: Mention new module.
63171
63172 2007-11-14  Jim Meyering  <meyering@redhat.com>
63173
63174         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
63175         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
63176         use this macro to create a function _definition_.
63177         Remove useless "#undef ARGMATCH_DIE".
63178
63179 2007-11-14  Bruno Haible  <bruno@clisp.org>
63180
63181         * lib/config.charset: Update for OpenBSD 4.1.
63182         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
63183
63184 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
63185
63186         Document 64-bit #if problems in stdint.texi.
63187         * doc/headers/stdint.texi (stdint.h): Mention problems with
63188         64-bit-#if, and how to work around them.
63189
63190         Don't insist on 'long long int' support in the preprocessor.  It
63191         breaks too many things.  For example, PRIdMAX still uses a 'long
63192         long int' format with the latest Sun compiler, even though
63193         HAVE_LONG_LONG_INT isn't defined due to that compiler's
63194         preprocessor problem.  This causes the latest coreutils to dump
63195         core on Solaris 10 sparc with the Sun C compiler.
63196         Instead, fix the 2007-10-16 problem in a different way, by evaluating
63197         the troublesome expressions at configure-time, not at #if-time.
63198         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
63199         preprocessor.
63200         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
63201         compile-time C checks, done at 'configure'-time.
63202         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
63203         * modules/inttypes (Makefile): Substitute the new symbols that
63204         gl_INTTYPES_H now generates.
63205         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
63206
63207 2007-11-12  Bruno Haible  <bruno@clisp.org>
63208
63209         Tests for Unicode character classification functions.
63210
63211         * modules/unictype/bidicategory-byname-tests: New file.
63212         * modules/unictype/bidicategory-name-tests: New file.
63213         * modules/unictype/bidicategory-of-tests: New file.
63214         * modules/unictype/bidicategory-test-tests: New file.
63215         * modules/unictype/block-list-tests: New file.
63216         * modules/unictype/block-of-tests: New file.
63217         * modules/unictype/block-test-tests: New file.
63218         * modules/unictype/category-C-tests: New file.
63219         * modules/unictype/category-Cc-tests: New file.
63220         * modules/unictype/category-Cf-tests: New file.
63221         * modules/unictype/category-Cn-tests: New file.
63222         * modules/unictype/category-Co-tests: New file.
63223         * modules/unictype/category-Cs-tests: New file.
63224         * modules/unictype/category-L-tests: New file.
63225         * modules/unictype/category-Ll-tests: New file.
63226         * modules/unictype/category-Lm-tests: New file.
63227         * modules/unictype/category-Lo-tests: New file.
63228         * modules/unictype/category-Lt-tests: New file.
63229         * modules/unictype/category-Lu-tests: New file.
63230         * modules/unictype/category-M-tests: New file.
63231         * modules/unictype/category-Mc-tests: New file.
63232         * modules/unictype/category-Me-tests: New file.
63233         * modules/unictype/category-Mn-tests: New file.
63234         * modules/unictype/category-N-tests: New file.
63235         * modules/unictype/category-Nd-tests: New file.
63236         * modules/unictype/category-Nl-tests: New file.
63237         * modules/unictype/category-No-tests: New file.
63238         * modules/unictype/category-P-tests: New file.
63239         * modules/unictype/category-Pc-tests: New file.
63240         * modules/unictype/category-Pd-tests: New file.
63241         * modules/unictype/category-Pe-tests: New file.
63242         * modules/unictype/category-Pf-tests: New file.
63243         * modules/unictype/category-Pi-tests: New file.
63244         * modules/unictype/category-Po-tests: New file.
63245         * modules/unictype/category-Ps-tests: New file.
63246         * modules/unictype/category-S-tests: New file.
63247         * modules/unictype/category-Sc-tests: New file.
63248         * modules/unictype/category-Sk-tests: New file.
63249         * modules/unictype/category-Sm-tests: New file.
63250         * modules/unictype/category-So-tests: New file.
63251         * modules/unictype/category-Z-tests: New file.
63252         * modules/unictype/category-Zl-tests: New file.
63253         * modules/unictype/category-Zp-tests: New file.
63254         * modules/unictype/category-Zs-tests: New file.
63255         * modules/unictype/category-and-not-tests: New file.
63256         * modules/unictype/category-and-tests: New file.
63257         * modules/unictype/category-byname-tests: New file.
63258         * modules/unictype/category-name-tests: New file.
63259         * modules/unictype/category-none-tests: New file.
63260         * modules/unictype/category-of-tests: New file.
63261         * modules/unictype/category-or-tests: New file.
63262         * modules/unictype/category-test-withtable-tests: New file.
63263         * modules/unictype/combining-class-tests: New file.
63264         * modules/unictype/ctype-alnum-tests: New file.
63265         * modules/unictype/ctype-alpha-tests: New file.
63266         * modules/unictype/ctype-blank-tests: New file.
63267         * modules/unictype/ctype-cntrl-tests: New file.
63268         * modules/unictype/ctype-digit-tests: New file.
63269         * modules/unictype/ctype-graph-tests: New file.
63270         * modules/unictype/ctype-lower-tests: New file.
63271         * modules/unictype/ctype-print-tests: New file.
63272         * modules/unictype/ctype-punct-tests: New file.
63273         * modules/unictype/ctype-space-tests: New file.
63274         * modules/unictype/ctype-upper-tests: New file.
63275         * modules/unictype/ctype-xdigit-tests: New file.
63276         * modules/unictype/decimal-digit-tests: New file.
63277         * modules/unictype/digit-tests: New file.
63278         * modules/unictype/mirror-tests: New file.
63279         * modules/unictype/numeric-tests: New file.
63280         * modules/unictype/property-alphabetic-tests: New file.
63281         * modules/unictype/property-ascii-hex-digit-tests: New file.
63282         * modules/unictype/property-bidi-arabic-digit-tests: New file.
63283         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
63284         * modules/unictype/property-bidi-block-separator-tests: New file.
63285         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
63286         * modules/unictype/property-bidi-common-separator-tests: New file.
63287         * modules/unictype/property-bidi-control-tests: New file.
63288         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
63289         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
63290         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
63291         * modules/unictype/property-bidi-european-digit-tests: New file.
63292         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
63293         * modules/unictype/property-bidi-left-to-right-tests: New file.
63294         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
63295         * modules/unictype/property-bidi-other-neutral-tests: New file.
63296         * modules/unictype/property-bidi-pdf-tests: New file.
63297         * modules/unictype/property-bidi-segment-separator-tests: New file.
63298         * modules/unictype/property-bidi-whitespace-tests: New file.
63299         * modules/unictype/property-byname-tests: New file.
63300         * modules/unictype/property-combining-tests: New file.
63301         * modules/unictype/property-composite-tests: New file.
63302         * modules/unictype/property-currency-symbol-tests: New file.
63303         * modules/unictype/property-dash-tests: New file.
63304         * modules/unictype/property-decimal-digit-tests: New file.
63305         * modules/unictype/property-default-ignorable-code-point-tests: New file.
63306         * modules/unictype/property-deprecated-tests: New file.
63307         * modules/unictype/property-diacritic-tests: New file.
63308         * modules/unictype/property-extender-tests: New file.
63309         * modules/unictype/property-format-control-tests: New file.
63310         * modules/unictype/property-grapheme-base-tests: New file.
63311         * modules/unictype/property-grapheme-extend-tests: New file.
63312         * modules/unictype/property-grapheme-link-tests: New file.
63313         * modules/unictype/property-hex-digit-tests: New file.
63314         * modules/unictype/property-hyphen-tests: New file.
63315         * modules/unictype/property-id-continue-tests: New file.
63316         * modules/unictype/property-id-start-tests: New file.
63317         * modules/unictype/property-ideographic-tests: New file.
63318         * modules/unictype/property-ids-binary-operator-tests: New file.
63319         * modules/unictype/property-ids-trinary-operator-tests: New file.
63320         * modules/unictype/property-ignorable-control-tests: New file.
63321         * modules/unictype/property-iso-control-tests: New file.
63322         * modules/unictype/property-join-control-tests: New file.
63323         * modules/unictype/property-left-of-pair-tests: New file.
63324         * modules/unictype/property-line-separator-tests: New file.
63325         * modules/unictype/property-logical-order-exception-tests: New file.
63326         * modules/unictype/property-lowercase-tests: New file.
63327         * modules/unictype/property-math-tests: New file.
63328         * modules/unictype/property-non-break-tests: New file.
63329         * modules/unictype/property-not-a-character-tests: New file.
63330         * modules/unictype/property-numeric-tests: New file.
63331         * modules/unictype/property-other-alphabetic-tests: New file.
63332         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
63333         * modules/unictype/property-other-grapheme-extend-tests: New file.
63334         * modules/unictype/property-other-id-continue-tests: New file.
63335         * modules/unictype/property-other-id-start-tests: New file.
63336         * modules/unictype/property-other-lowercase-tests: New file.
63337         * modules/unictype/property-other-math-tests: New file.
63338         * modules/unictype/property-other-uppercase-tests: New file.
63339         * modules/unictype/property-paired-punctuation-tests: New file.
63340         * modules/unictype/property-paragraph-separator-tests: New file.
63341         * modules/unictype/property-pattern-syntax-tests: New file.
63342         * modules/unictype/property-pattern-white-space-tests: New file.
63343         * modules/unictype/property-private-use-tests: New file.
63344         * modules/unictype/property-punctuation-tests: New file.
63345         * modules/unictype/property-quotation-mark-tests: New file.
63346         * modules/unictype/property-radical-tests: New file.
63347         * modules/unictype/property-sentence-terminal-tests: New file.
63348         * modules/unictype/property-soft-dotted-tests: New file.
63349         * modules/unictype/property-space-tests: New file.
63350         * modules/unictype/property-terminal-punctuation-tests: New file.
63351         * modules/unictype/property-test-tests: New file.
63352         * modules/unictype/property-titlecase-tests: New file.
63353         * modules/unictype/property-unassigned-code-value-tests: New file.
63354         * modules/unictype/property-unified-ideograph-tests: New file.
63355         * modules/unictype/property-uppercase-tests: New file.
63356         * modules/unictype/property-variation-selector-tests: New file.
63357         * modules/unictype/property-white-space-tests: New file.
63358         * modules/unictype/property-xid-continue-tests: New file.
63359         * modules/unictype/property-xid-start-tests: New file.
63360         * modules/unictype/property-zero-width-tests: New file.
63361         * modules/unictype/scripts-tests: New file.
63362         * modules/unictype/syntax-c-ident-tests: New file.
63363         * modules/unictype/syntax-c-whitespace-tests: New file.
63364         * modules/unictype/syntax-java-ident-tests: New file.
63365         * modules/unictype/syntax-java-whitespace-tests: New file.
63366         * tests/unictype/test-bidi_byname.c: New file.
63367         * tests/unictype/test-bidi_name.c: New file.
63368         * tests/unictype/test-bidi_of.c: New file.
63369         * tests/unictype/test-bidi_test.c: New file.
63370         * tests/unictype/test-block_list.c: New file.
63371         * tests/unictype/test-block_of.c: New file.
63372         * tests/unictype/test-block_test.c: New file.
63373         * tests/unictype/test-categ_and.c: New file.
63374         * tests/unictype/test-categ_and_not.c: New file.
63375         * tests/unictype/test-categ_byname.c: New file.
63376         * tests/unictype/test-categ_name.c: New file.
63377         * tests/unictype/test-categ_none.c: New file.
63378         * tests/unictype/test-categ_of.c: New file.
63379         * tests/unictype/test-categ_or.c: New file.
63380         * tests/unictype/test-categ_test_withtable.c: New file.
63381         * tests/unictype/test-combining.c: New file.
63382         * tests/unictype/test-decdigit.c: New file.
63383         * tests/unictype/test-digit.c: New file.
63384         * tests/unictype/test-mirror.c: New file.
63385         * tests/unictype/test-numeric.c: New file.
63386         * tests/unictype/test-pr_byname.c: New file.
63387         * tests/unictype/test-pr_test.c: New file.
63388         * tests/unictype/test-predicate-part1.h: New file.
63389         * tests/unictype/test-predicate-part2.h: New file.
63390         * tests/unictype/test-scripts.c: New file.
63391         * tests/unictype/test-sy_c_ident.c: New file.
63392         * tests/unictype/test-sy_java_ident.c: New file.
63393
63394         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
63395         for Unicode 5.0.0.
63396         * tests/unictype/test-categ_Cc.c: Likewise.
63397         * tests/unictype/test-categ_Cf.c: Likewise.
63398         * tests/unictype/test-categ_Cn.c: Likewise.
63399         * tests/unictype/test-categ_Co.c: Likewise.
63400         * tests/unictype/test-categ_Cs.c: Likewise.
63401         * tests/unictype/test-categ_L.c: Likewise.
63402         * tests/unictype/test-categ_Ll.c: Likewise.
63403         * tests/unictype/test-categ_Lm.c: Likewise.
63404         * tests/unictype/test-categ_Lo.c: Likewise.
63405         * tests/unictype/test-categ_Lt.c: Likewise.
63406         * tests/unictype/test-categ_Lu.c: Likewise.
63407         * tests/unictype/test-categ_M.c: Likewise.
63408         * tests/unictype/test-categ_Mc.c: Likewise.
63409         * tests/unictype/test-categ_Me.c: Likewise.
63410         * tests/unictype/test-categ_Mn.c: Likewise.
63411         * tests/unictype/test-categ_N.c: Likewise.
63412         * tests/unictype/test-categ_Nd.c: Likewise.
63413         * tests/unictype/test-categ_Nl.c: Likewise.
63414         * tests/unictype/test-categ_No.c: Likewise.
63415         * tests/unictype/test-categ_P.c: Likewise.
63416         * tests/unictype/test-categ_Pc.c: Likewise.
63417         * tests/unictype/test-categ_Pd.c: Likewise.
63418         * tests/unictype/test-categ_Pe.c: Likewise.
63419         * tests/unictype/test-categ_Pf.c: Likewise.
63420         * tests/unictype/test-categ_Pi.c: Likewise.
63421         * tests/unictype/test-categ_Po.c: Likewise.
63422         * tests/unictype/test-categ_Ps.c: Likewise.
63423         * tests/unictype/test-categ_S.c: Likewise.
63424         * tests/unictype/test-categ_Sc.c: Likewise.
63425         * tests/unictype/test-categ_Sk.c: Likewise.
63426         * tests/unictype/test-categ_Sm.c: Likewise.
63427         * tests/unictype/test-categ_So.c: Likewise.
63428         * tests/unictype/test-categ_Z.c: Likewise.
63429         * tests/unictype/test-categ_Zl.c: Likewise.
63430         * tests/unictype/test-categ_Zp.c: Likewise.
63431         * tests/unictype/test-categ_Zs.c: Likewise.
63432         * tests/unictype/test-ctype_alnum.c: Likewise.
63433         * tests/unictype/test-ctype_alpha.c: Likewise.
63434         * tests/unictype/test-ctype_blank.c: Likewise.
63435         * tests/unictype/test-ctype_cntrl.c: Likewise.
63436         * tests/unictype/test-ctype_digit.c: Likewise.
63437         * tests/unictype/test-ctype_graph.c: Likewise.
63438         * tests/unictype/test-ctype_lower.c: Likewise.
63439         * tests/unictype/test-ctype_print.c: Likewise.
63440         * tests/unictype/test-ctype_punct.c: Likewise.
63441         * tests/unictype/test-ctype_space.c: Likewise.
63442         * tests/unictype/test-ctype_upper.c: Likewise.
63443         * tests/unictype/test-ctype_xdigit.c: Likewise.
63444         * tests/unictype/test-decdigit.h: Likewise.
63445         * tests/unictype/test-digit.h: Likewise.
63446         * tests/unictype/test-numeric.h: Likewise.
63447         * tests/unictype/test-pr_alphabetic.c: Likewise.
63448         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
63449         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
63450         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
63451         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
63452         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
63453         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
63454         * tests/unictype/test-pr_bidi_control.c: Likewise.
63455         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
63456         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
63457         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
63458         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
63459         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
63460         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
63461         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
63462         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
63463         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
63464         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
63465         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
63466         * tests/unictype/test-pr_combining.c: Likewise.
63467         * tests/unictype/test-pr_composite.c: Likewise.
63468         * tests/unictype/test-pr_currency_symbol.c: Likewise.
63469         * tests/unictype/test-pr_dash.c: Likewise.
63470         * tests/unictype/test-pr_decimal_digit.c: Likewise.
63471         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
63472         * tests/unictype/test-pr_deprecated.c: Likewise.
63473         * tests/unictype/test-pr_diacritic.c: Likewise.
63474         * tests/unictype/test-pr_extender.c: Likewise.
63475         * tests/unictype/test-pr_format_control.c: Likewise.
63476         * tests/unictype/test-pr_grapheme_base.c: Likewise.
63477         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
63478         * tests/unictype/test-pr_grapheme_link.c: Likewise.
63479         * tests/unictype/test-pr_hex_digit.c: Likewise.
63480         * tests/unictype/test-pr_hyphen.c: Likewise.
63481         * tests/unictype/test-pr_id_continue.c: Likewise.
63482         * tests/unictype/test-pr_id_start.c: Likewise.
63483         * tests/unictype/test-pr_ideographic.c: Likewise.
63484         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
63485         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
63486         * tests/unictype/test-pr_ignorable_control.c: Likewise.
63487         * tests/unictype/test-pr_iso_control.c: Likewise.
63488         * tests/unictype/test-pr_join_control.c: Likewise.
63489         * tests/unictype/test-pr_left_of_pair.c: Likewise.
63490         * tests/unictype/test-pr_line_separator.c: Likewise.
63491         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
63492         * tests/unictype/test-pr_lowercase.c: Likewise.
63493         * tests/unictype/test-pr_math.c: Likewise.
63494         * tests/unictype/test-pr_non_break.c: Likewise.
63495         * tests/unictype/test-pr_not_a_character.c: Likewise.
63496         * tests/unictype/test-pr_numeric.c: Likewise.
63497         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
63498         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
63499         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
63500         * tests/unictype/test-pr_other_id_continue.c: Likewise.
63501         * tests/unictype/test-pr_other_id_start.c: Likewise.
63502         * tests/unictype/test-pr_other_lowercase.c: Likewise.
63503         * tests/unictype/test-pr_other_math.c: Likewise.
63504         * tests/unictype/test-pr_other_uppercase.c: Likewise.
63505         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
63506         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
63507         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
63508         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
63509         * tests/unictype/test-pr_private_use.c: Likewise.
63510         * tests/unictype/test-pr_punctuation.c: Likewise.
63511         * tests/unictype/test-pr_quotation_mark.c: Likewise.
63512         * tests/unictype/test-pr_radical.c: Likewise.
63513         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
63514         * tests/unictype/test-pr_soft_dotted.c: Likewise.
63515         * tests/unictype/test-pr_space.c: Likewise.
63516         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
63517         * tests/unictype/test-pr_titlecase.c: Likewise.
63518         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
63519         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
63520         * tests/unictype/test-pr_uppercase.c: Likewise.
63521         * tests/unictype/test-pr_variation_selector.c: Likewise.
63522         * tests/unictype/test-pr_white_space.c: Likewise.
63523         * tests/unictype/test-pr_xid_continue.c: Likewise.
63524         * tests/unictype/test-pr_xid_start.c: Likewise.
63525         * tests/unictype/test-pr_zero_width.c: Likewise.
63526         * tests/unictype/test-sy_c_whitespace.c: Likewise.
63527         * tests/unictype/test-sy_java_whitespace.c: Likewise.
63528
63529 2007-11-12  Bruno Haible  <bruno@clisp.org>
63530
63531         Unicode character classification functions.
63532         * lib/unictype.h: New file.
63533         * modules/unictype/base: New file.
63534         * modules/unictype/category-L: New file.
63535         * modules/unictype/category-Lu: New file.
63536         * modules/unictype/category-Ll: New file.
63537         * modules/unictype/category-Lt: New file.
63538         * modules/unictype/category-Lm: New file.
63539         * modules/unictype/category-Lo: New file.
63540         * modules/unictype/category-M: New file.
63541         * modules/unictype/category-Mn: New file.
63542         * modules/unictype/category-Mc: New file.
63543         * modules/unictype/category-Me: New file.
63544         * modules/unictype/category-N: New file.
63545         * modules/unictype/category-Nd: New file.
63546         * modules/unictype/category-Nl: New file.
63547         * modules/unictype/category-No: New file.
63548         * modules/unictype/category-P: New file.
63549         * modules/unictype/category-Pc: New file.
63550         * modules/unictype/category-Pd: New file.
63551         * modules/unictype/category-Ps: New file.
63552         * modules/unictype/category-Pe: New file.
63553         * modules/unictype/category-Pi: New file.
63554         * modules/unictype/category-Pf: New file.
63555         * modules/unictype/category-Po: New file.
63556         * modules/unictype/category-S: New file.
63557         * modules/unictype/category-Sm: New file.
63558         * modules/unictype/category-Sc: New file.
63559         * modules/unictype/category-Sk: New file.
63560         * modules/unictype/category-So: New file.
63561         * modules/unictype/category-Z: New file.
63562         * modules/unictype/category-Zs: New file.
63563         * modules/unictype/category-Zl: New file.
63564         * modules/unictype/category-Zp: New file.
63565         * modules/unictype/category-C: New file.
63566         * modules/unictype/category-Cc: New file.
63567         * modules/unictype/category-Cf: New file.
63568         * modules/unictype/category-Cs: New file.
63569         * modules/unictype/category-Co: New file.
63570         * modules/unictype/category-Cn: New file.
63571         * modules/unictype/category-or: New file.
63572         * modules/unictype/category-of: New file.
63573         * modules/unictype/category-test: New file.
63574         * modules/unictype/category-test-withtable: New file.
63575         * modules/unictype/category-byname: New file.
63576         * modules/unictype/category-none: New file.
63577         * modules/unictype/category-and: New file.
63578         * modules/unictype/category-and-not: New file.
63579         * modules/unictype/category-name: New file.
63580         * modules/unictype/combining-class: New file.
63581         * modules/unictype/category-all: New file.
63582         * modules/unictype/bidicategory-all: New file.
63583         * modules/unictype/bidicategory-byname: New file.
63584         * modules/unictype/bidicategory-name: New file.
63585         * modules/unictype/bidicategory-of: New file.
63586         * modules/unictype/bidicategory-test: New file.
63587         * modules/unictype/decimal-digit: New file.
63588         * modules/unictype/digit: New file.
63589         * modules/unictype/numeric: New file.
63590         * modules/unictype/mirror: New file.
63591         * modules/unictype/property-white-space: New file.
63592         * modules/unictype/property-alphabetic: New file.
63593         * modules/unictype/property-other-alphabetic: New file.
63594         * modules/unictype/property-not-a-character: New file.
63595         * modules/unictype/property-default-ignorable-code-point: New file.
63596         * modules/unictype/property-other-default-ignorable-code-point: New
63597         file.
63598         * modules/unictype/property-deprecated: New file.
63599         * modules/unictype/property-logical-order-exception: New file.
63600         * modules/unictype/property-variation-selector: New file.
63601         * modules/unictype/property-private-use: New file.
63602         * modules/unictype/property-unassigned-code-value: New file.
63603         * modules/unictype/property-uppercase: New file.
63604         * modules/unictype/property-other-uppercase: New file.
63605         * modules/unictype/property-lowercase: New file.
63606         * modules/unictype/property-other-lowercase: New file.
63607         * modules/unictype/property-titlecase: New file.
63608         * modules/unictype/property-soft-dotted: New file.
63609         * modules/unictype/property-id-start: New file.
63610         * modules/unictype/property-other-id-start: New file.
63611         * modules/unictype/property-id-continue: New file.
63612         * modules/unictype/property-other-id-continue: New file.
63613         * modules/unictype/property-xid-start: New file.
63614         * modules/unictype/property-xid-continue: New file.
63615         * modules/unictype/property-pattern-white-space: New file.
63616         * modules/unictype/property-pattern-syntax: New file.
63617         * modules/unictype/property-join-control: New file.
63618         * modules/unictype/property-grapheme-base: New file.
63619         * modules/unictype/property-grapheme-extend: New file.
63620         * modules/unictype/property-other-grapheme-extend: New file.
63621         * modules/unictype/property-grapheme-link: New file.
63622         * modules/unictype/property-bidi-control: New file.
63623         * modules/unictype/property-bidi-left-to-right: New file.
63624         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
63625         * modules/unictype/property-bidi-arabic-right-to-left: New file.
63626         * modules/unictype/property-bidi-european-digit: New file.
63627         * modules/unictype/property-bidi-eur-num-separator: New file.
63628         * modules/unictype/property-bidi-eur-num-terminator: New file.
63629         * modules/unictype/property-bidi-arabic-digit: New file.
63630         * modules/unictype/property-bidi-common-separator: New file.
63631         * modules/unictype/property-bidi-block-separator: New file.
63632         * modules/unictype/property-bidi-segment-separator: New file.
63633         * modules/unictype/property-bidi-whitespace: New file.
63634         * modules/unictype/property-bidi-non-spacing-mark: New file.
63635         * modules/unictype/property-bidi-boundary-neutral: New file.
63636         * modules/unictype/property-bidi-pdf: New file.
63637         * modules/unictype/property-bidi-embedding-or-override: New file.
63638         * modules/unictype/property-bidi-other-neutral: New file.
63639         * modules/unictype/property-hex-digit: New file.
63640         * modules/unictype/property-ascii-hex-digit: New file.
63641         * modules/unictype/property-ideographic: New file.
63642         * modules/unictype/property-unified-ideograph: New file.
63643         * modules/unictype/property-radical: New file.
63644         * modules/unictype/property-ids-binary-operator: New file.
63645         * modules/unictype/property-ids-trinary-operator: New file.
63646         * modules/unictype/property-zero-width: New file.
63647         * modules/unictype/property-space: New file.
63648         * modules/unictype/property-non-break: New file.
63649         * modules/unictype/property-iso-control: New file.
63650         * modules/unictype/property-format-control: New file.
63651         * modules/unictype/property-dash: New file.
63652         * modules/unictype/property-hyphen: New file.
63653         * modules/unictype/property-punctuation: New file.
63654         * modules/unictype/property-line-separator: New file.
63655         * modules/unictype/property-paragraph-separator: New file.
63656         * modules/unictype/property-quotation-mark: New file.
63657         * modules/unictype/property-sentence-terminal: New file.
63658         * modules/unictype/property-terminal-punctuation: New file.
63659         * modules/unictype/property-currency-symbol: New file.
63660         * modules/unictype/property-math: New file.
63661         * modules/unictype/property-other-math: New file.
63662         * modules/unictype/property-paired-punctuation: New file.
63663         * modules/unictype/property-left-of-pair: New file.
63664         * modules/unictype/property-combining: New file.
63665         * modules/unictype/property-composite: New file.
63666         * modules/unictype/property-decimal-digit: New file.
63667         * modules/unictype/property-numeric: New file.
63668         * modules/unictype/property-diacritic: New file.
63669         * modules/unictype/property-extender: New file.
63670         * modules/unictype/property-ignorable-control: New file.
63671         * modules/unictype/property-test: New file.
63672         * modules/unictype/property-byname: New file.
63673         * modules/unictype/property-all: New file.
63674         * modules/unictype/scripts: New file.
63675         * modules/unictype/scripts-all: New file.
63676         * modules/unictype/block-of: New file.
63677         * modules/unictype/block-test: New file.
63678         * modules/unictype/block-list: New file.
63679         * modules/unictype/block-all: New file.
63680         * modules/unictype/syntax-c-whitespace: New file.
63681         * modules/unictype/syntax-java-whitespace: New file.
63682         * modules/unictype/syntax-c-ident: New file.
63683         * modules/unictype/syntax-java-ident: New file.
63684         * modules/unictype/ctype-alnum: New file.
63685         * modules/unictype/ctype-alpha: New file.
63686         * modules/unictype/ctype-cntrl: New file.
63687         * modules/unictype/ctype-digit: New file.
63688         * modules/unictype/ctype-graph: New file.
63689         * modules/unictype/ctype-lower: New file.
63690         * modules/unictype/ctype-print: New file.
63691         * modules/unictype/ctype-punct: New file.
63692         * modules/unictype/ctype-space: New file.
63693         * modules/unictype/ctype-upper: New file.
63694         * modules/unictype/ctype-xdigit: New file.
63695         * modules/unictype/ctype-blank: New file.
63696         * lib/unictype/bidi_byname.c: New file.
63697         * lib/unictype/bidi_name.c: New file.
63698         * lib/unictype/bidi_of.c: New file.
63699         * lib/unictype/bidi_test.c: New file.
63700         * lib/unictype/bitmap.h: New file.
63701         * lib/unictype/block_test.c: New file.
63702         * lib/unictype/blocks.c: New file.
63703         * lib/unictype/categ_C.c: New file.
63704         * lib/unictype/categ_Cc.c: New file.
63705         * lib/unictype/categ_Cf.c: New file.
63706         * lib/unictype/categ_Cn.c: New file.
63707         * lib/unictype/categ_Co.c: New file.
63708         * lib/unictype/categ_Cs.c: New file.
63709         * lib/unictype/categ_L.c: New file.
63710         * lib/unictype/categ_Ll.c: New file.
63711         * lib/unictype/categ_Lm.c: New file.
63712         * lib/unictype/categ_Lo.c: New file.
63713         * lib/unictype/categ_Lt.c: New file.
63714         * lib/unictype/categ_Lu.c: New file.
63715         * lib/unictype/categ_M.c: New file.
63716         * lib/unictype/categ_Mc.c: New file.
63717         * lib/unictype/categ_Me.c: New file.
63718         * lib/unictype/categ_Mn.c: New file.
63719         * lib/unictype/categ_N.c: New file.
63720         * lib/unictype/categ_Nd.c: New file.
63721         * lib/unictype/categ_Nl.c: New file.
63722         * lib/unictype/categ_No.c: New file.
63723         * lib/unictype/categ_P.c: New file.
63724         * lib/unictype/categ_Pc.c: New file.
63725         * lib/unictype/categ_Pd.c: New file.
63726         * lib/unictype/categ_Pe.c: New file.
63727         * lib/unictype/categ_Pf.c: New file.
63728         * lib/unictype/categ_Pi.c: New file.
63729         * lib/unictype/categ_Po.c: New file.
63730         * lib/unictype/categ_Ps.c: New file.
63731         * lib/unictype/categ_S.c: New file.
63732         * lib/unictype/categ_Sc.c: New file.
63733         * lib/unictype/categ_Sk.c: New file.
63734         * lib/unictype/categ_Sm.c: New file.
63735         * lib/unictype/categ_So.c: New file.
63736         * lib/unictype/categ_Z.c: New file.
63737         * lib/unictype/categ_Zl.c: New file.
63738         * lib/unictype/categ_Zp.c: New file.
63739         * lib/unictype/categ_Zs.c: New file.
63740         * lib/unictype/categ_and.c: New file.
63741         * lib/unictype/categ_and_not.c: New file.
63742         * lib/unictype/categ_byname.c: New file.
63743         * lib/unictype/categ_name.c: New file.
63744         * lib/unictype/categ_none.c: New file.
63745         * lib/unictype/categ_of.c: New file.
63746         * lib/unictype/categ_or.c: New file.
63747         * lib/unictype/categ_test.c: New file.
63748         * lib/unictype/combining.c: New file.
63749         * lib/unictype/ctype_alnum.c: New file.
63750         * lib/unictype/ctype_alpha.c: New file.
63751         * lib/unictype/ctype_blank.c: New file.
63752         * lib/unictype/ctype_cntrl.c: New file.
63753         * lib/unictype/ctype_digit.c: New file.
63754         * lib/unictype/ctype_graph.c: New file.
63755         * lib/unictype/ctype_lower.c: New file.
63756         * lib/unictype/ctype_print.c: New file.
63757         * lib/unictype/ctype_punct.c: New file.
63758         * lib/unictype/ctype_space.c: New file.
63759         * lib/unictype/ctype_upper.c: New file.
63760         * lib/unictype/ctype_xdigit.c: New file.
63761         * lib/unictype/decdigit.c: New file.
63762         * lib/unictype/digit.c: New file.
63763         * lib/unictype/identsyntaxmap.h: New file.
63764         * lib/unictype/mirror.c: New file.
63765         * lib/unictype/numeric.c: New file.
63766         * lib/unictype/pr_alphabetic.c: New file.
63767         * lib/unictype/pr_ascii_hex_digit.c: New file.
63768         * lib/unictype/pr_bidi_arabic_digit.c: New file.
63769         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
63770         * lib/unictype/pr_bidi_block_separator.c: New file.
63771         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
63772         * lib/unictype/pr_bidi_common_separator.c: New file.
63773         * lib/unictype/pr_bidi_control.c: New file.
63774         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
63775         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
63776         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
63777         * lib/unictype/pr_bidi_european_digit.c: New file.
63778         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
63779         * lib/unictype/pr_bidi_left_to_right.c: New file.
63780         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
63781         * lib/unictype/pr_bidi_other_neutral.c: New file.
63782         * lib/unictype/pr_bidi_pdf.c: New file.
63783         * lib/unictype/pr_bidi_segment_separator.c: New file.
63784         * lib/unictype/pr_bidi_whitespace.c: New file.
63785         * lib/unictype/pr_byname.c: New file.
63786         * lib/unictype/pr_byname.gperf: New file.
63787         * lib/unictype/pr_combining.c: New file.
63788         * lib/unictype/pr_composite.c: New file.
63789         * lib/unictype/pr_currency_symbol.c: New file.
63790         * lib/unictype/pr_dash.c: New file.
63791         * lib/unictype/pr_decimal_digit.c: New file.
63792         * lib/unictype/pr_default_ignorable_code_point.c: New file.
63793         * lib/unictype/pr_deprecated.c: New file.
63794         * lib/unictype/pr_diacritic.c: New file.
63795         * lib/unictype/pr_extender.c: New file.
63796         * lib/unictype/pr_format_control.c: New file.
63797         * lib/unictype/pr_grapheme_base.c: New file.
63798         * lib/unictype/pr_grapheme_extend.c: New file.
63799         * lib/unictype/pr_grapheme_link.c: New file.
63800         * lib/unictype/pr_hex_digit.c: New file.
63801         * lib/unictype/pr_hyphen.c: New file.
63802         * lib/unictype/pr_id_continue.c: New file.
63803         * lib/unictype/pr_id_start.c: New file.
63804         * lib/unictype/pr_ideographic.c: New file.
63805         * lib/unictype/pr_ids_binary_operator.c: New file.
63806         * lib/unictype/pr_ids_trinary_operator.c: New file.
63807         * lib/unictype/pr_ignorable_control.c: New file.
63808         * lib/unictype/pr_iso_control.c: New file.
63809         * lib/unictype/pr_join_control.c: New file.
63810         * lib/unictype/pr_left_of_pair.c: New file.
63811         * lib/unictype/pr_line_separator.c: New file.
63812         * lib/unictype/pr_logical_order_exception.c: New file.
63813         * lib/unictype/pr_lowercase.c: New file.
63814         * lib/unictype/pr_math.c: New file.
63815         * lib/unictype/pr_non_break.c: New file.
63816         * lib/unictype/pr_not_a_character.c: New file.
63817         * lib/unictype/pr_numeric.c: New file.
63818         * lib/unictype/pr_other_alphabetic.c: New file.
63819         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
63820         * lib/unictype/pr_other_grapheme_extend.c: New file.
63821         * lib/unictype/pr_other_id_continue.c: New file.
63822         * lib/unictype/pr_other_id_start.c: New file.
63823         * lib/unictype/pr_other_lowercase.c: New file.
63824         * lib/unictype/pr_other_math.c: New file.
63825         * lib/unictype/pr_other_uppercase.c: New file.
63826         * lib/unictype/pr_paired_punctuation.c: New file.
63827         * lib/unictype/pr_paragraph_separator.c: New file.
63828         * lib/unictype/pr_pattern_syntax.c: New file.
63829         * lib/unictype/pr_pattern_white_space.c: New file.
63830         * lib/unictype/pr_private_use.c: New file.
63831         * lib/unictype/pr_punctuation.c: New file.
63832         * lib/unictype/pr_quotation_mark.c: New file.
63833         * lib/unictype/pr_radical.c: New file.
63834         * lib/unictype/pr_sentence_terminal.c: New file.
63835         * lib/unictype/pr_soft_dotted.c: New file.
63836         * lib/unictype/pr_space.c: New file.
63837         * lib/unictype/pr_terminal_punctuation.c: New file.
63838         * lib/unictype/pr_test.c: New file.
63839         * lib/unictype/pr_titlecase.c: New file.
63840         * lib/unictype/pr_unassigned_code_value.c: New file.
63841         * lib/unictype/pr_unified_ideograph.c: New file.
63842         * lib/unictype/pr_uppercase.c: New file.
63843         * lib/unictype/pr_variation_selector.c: New file.
63844         * lib/unictype/pr_white_space.c: New file.
63845         * lib/unictype/pr_xid_continue.c: New file.
63846         * lib/unictype/pr_xid_start.c: New file.
63847         * lib/unictype/pr_zero_width.c: New file.
63848         * lib/unictype/scripts.c: New file.
63849         * lib/unictype/sy_c_ident.c: New file.
63850         * lib/unictype/sy_c_whitespace.c: New file.
63851         * lib/unictype/sy_java_ident.c: New file.
63852         * lib/unictype/sy_java_whitespace.c: New file.
63853
63854         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
63855         Unicode 5.0.0.
63856         * lib/unictype/blocks.h: Likewise.
63857         * lib/unictype/categ_C.h: Likewise.
63858         * lib/unictype/categ_Cc.h: Likewise.
63859         * lib/unictype/categ_Cf.h: Likewise.
63860         * lib/unictype/categ_Cn.h: Likewise.
63861         * lib/unictype/categ_Co.h: Likewise.
63862         * lib/unictype/categ_Cs.h: Likewise.
63863         * lib/unictype/categ_L.h: Likewise.
63864         * lib/unictype/categ_Ll.h: Likewise.
63865         * lib/unictype/categ_Lm.h: Likewise.
63866         * lib/unictype/categ_Lo.h: Likewise.
63867         * lib/unictype/categ_Lt.h: Likewise.
63868         * lib/unictype/categ_Lu.h: Likewise.
63869         * lib/unictype/categ_M.h: Likewise.
63870         * lib/unictype/categ_Mc.h: Likewise.
63871         * lib/unictype/categ_Me.h: Likewise.
63872         * lib/unictype/categ_Mn.h: Likewise.
63873         * lib/unictype/categ_N.h: Likewise.
63874         * lib/unictype/categ_Nd.h: Likewise.
63875         * lib/unictype/categ_Nl.h: Likewise.
63876         * lib/unictype/categ_No.h: Likewise.
63877         * lib/unictype/categ_P.h: Likewise.
63878         * lib/unictype/categ_Pc.h: Likewise.
63879         * lib/unictype/categ_Pd.h: Likewise.
63880         * lib/unictype/categ_Pe.h: Likewise.
63881         * lib/unictype/categ_Pf.h: Likewise.
63882         * lib/unictype/categ_Pi.h: Likewise.
63883         * lib/unictype/categ_Po.h: Likewise.
63884         * lib/unictype/categ_Ps.h: Likewise.
63885         * lib/unictype/categ_S.h: Likewise.
63886         * lib/unictype/categ_Sc.h: Likewise.
63887         * lib/unictype/categ_Sk.h: Likewise.
63888         * lib/unictype/categ_Sm.h: Likewise.
63889         * lib/unictype/categ_So.h: Likewise.
63890         * lib/unictype/categ_Z.h: Likewise.
63891         * lib/unictype/categ_Zl.h: Likewise.
63892         * lib/unictype/categ_Zp.h: Likewise.
63893         * lib/unictype/categ_Zs.h: Likewise.
63894         * lib/unictype/categ_of.h: Likewise.
63895         * lib/unictype/combining.h: Likewise.
63896         * lib/unictype/ctype_alnum.h: Likewise.
63897         * lib/unictype/ctype_alpha.h: Likewise.
63898         * lib/unictype/ctype_blank.h: Likewise.
63899         * lib/unictype/ctype_cntrl.h: Likewise.
63900         * lib/unictype/ctype_digit.h: Likewise.
63901         * lib/unictype/ctype_graph.h: Likewise.
63902         * lib/unictype/ctype_lower.h: Likewise.
63903         * lib/unictype/ctype_print.h: Likewise.
63904         * lib/unictype/ctype_punct.h: Likewise.
63905         * lib/unictype/ctype_space.h: Likewise.
63906         * lib/unictype/ctype_upper.h: Likewise.
63907         * lib/unictype/ctype_xdigit.h: Likewise.
63908         * lib/unictype/decdigit.h: Likewise.
63909         * lib/unictype/digit.h: Likewise.
63910         * lib/unictype/mirror.h: Likewise.
63911         * lib/unictype/numeric.h: Likewise.
63912         * lib/unictype/pr_alphabetic.h: Likewise.
63913         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
63914         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
63915         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
63916         * lib/unictype/pr_bidi_block_separator.h: Likewise.
63917         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
63918         * lib/unictype/pr_bidi_common_separator.h: Likewise.
63919         * lib/unictype/pr_bidi_control.h: Likewise.
63920         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
63921         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
63922         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
63923         * lib/unictype/pr_bidi_european_digit.h: Likewise.
63924         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
63925         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
63926         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
63927         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
63928         * lib/unictype/pr_bidi_pdf.h: Likewise.
63929         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
63930         * lib/unictype/pr_bidi_whitespace.h: Likewise.
63931         * lib/unictype/pr_combining.h: Likewise.
63932         * lib/unictype/pr_composite.h: Likewise.
63933         * lib/unictype/pr_currency_symbol.h: Likewise.
63934         * lib/unictype/pr_dash.h: Likewise.
63935         * lib/unictype/pr_decimal_digit.h: Likewise.
63936         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
63937         * lib/unictype/pr_deprecated.h: Likewise.
63938         * lib/unictype/pr_diacritic.h: Likewise.
63939         * lib/unictype/pr_extender.h: Likewise.
63940         * lib/unictype/pr_format_control.h: Likewise.
63941         * lib/unictype/pr_grapheme_base.h: Likewise.
63942         * lib/unictype/pr_grapheme_extend.h: Likewise.
63943         * lib/unictype/pr_grapheme_link.h: Likewise.
63944         * lib/unictype/pr_hex_digit.h: Likewise.
63945         * lib/unictype/pr_hyphen.h: Likewise.
63946         * lib/unictype/pr_id_continue.h: Likewise.
63947         * lib/unictype/pr_id_start.h: Likewise.
63948         * lib/unictype/pr_ideographic.h: Likewise.
63949         * lib/unictype/pr_ids_binary_operator.h: Likewise.
63950         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
63951         * lib/unictype/pr_ignorable_control.h: Likewise.
63952         * lib/unictype/pr_iso_control.h: Likewise.
63953         * lib/unictype/pr_join_control.h: Likewise.
63954         * lib/unictype/pr_left_of_pair.h: Likewise.
63955         * lib/unictype/pr_line_separator.h: Likewise.
63956         * lib/unictype/pr_logical_order_exception.h: Likewise.
63957         * lib/unictype/pr_lowercase.h: Likewise.
63958         * lib/unictype/pr_math.h: Likewise.
63959         * lib/unictype/pr_non_break.h: Likewise.
63960         * lib/unictype/pr_not_a_character.h: Likewise.
63961         * lib/unictype/pr_numeric.h: Likewise.
63962         * lib/unictype/pr_other_alphabetic.h: Likewise.
63963         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
63964         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
63965         * lib/unictype/pr_other_id_continue.h: Likewise.
63966         * lib/unictype/pr_other_id_start.h: Likewise.
63967         * lib/unictype/pr_other_lowercase.h: Likewise.
63968         * lib/unictype/pr_other_math.h: Likewise.
63969         * lib/unictype/pr_other_uppercase.h: Likewise.
63970         * lib/unictype/pr_paired_punctuation.h: Likewise.
63971         * lib/unictype/pr_paragraph_separator.h: Likewise.
63972         * lib/unictype/pr_pattern_syntax.h: Likewise.
63973         * lib/unictype/pr_pattern_white_space.h: Likewise.
63974         * lib/unictype/pr_private_use.h: Likewise.
63975         * lib/unictype/pr_punctuation.h: Likewise.
63976         * lib/unictype/pr_quotation_mark.h: Likewise.
63977         * lib/unictype/pr_radical.h: Likewise.
63978         * lib/unictype/pr_sentence_terminal.h: Likewise.
63979         * lib/unictype/pr_soft_dotted.h: Likewise.
63980         * lib/unictype/pr_space.h: Likewise.
63981         * lib/unictype/pr_terminal_punctuation.h: Likewise.
63982         * lib/unictype/pr_titlecase.h: Likewise.
63983         * lib/unictype/pr_unassigned_code_value.h: Likewise.
63984         * lib/unictype/pr_unified_ideograph.h: Likewise.
63985         * lib/unictype/pr_uppercase.h: Likewise.
63986         * lib/unictype/pr_variation_selector.h: Likewise.
63987         * lib/unictype/pr_white_space.h: Likewise.
63988         * lib/unictype/pr_xid_continue.h: Likewise.
63989         * lib/unictype/pr_xid_start.h: Likewise.
63990         * lib/unictype/pr_zero_width.h: Likewise.
63991         * lib/unictype/scripts.h: Likewise.
63992         * lib/unictype/scripts_byname.gperf: Likewise.
63993         * lib/unictype/sy_c_ident.h: Likewise.
63994         * lib/unictype/sy_c_whitespace.h: Likewise.
63995         * lib/unictype/sy_java_ident.h: Likewise.
63996         * lib/unictype/sy_java_whitespace.h: Likewise.
63997
63998         * lib/unictype/Makefile: New file.
63999         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
64000         glibc.
64001         * lib/unictype/3level.h: New file, copied from glibc.
64002         * lib/unictype/3levelbit.h: New file.
64003
64004 2007-11-11  Bruno Haible  <bruno@clisp.org>
64005
64006         * modules/gperf: New file.
64007         * modules/iconv_open (Depends-on): Add it.
64008         (Makefile.am): Remove the GPERF definition.
64009
64010 2007-11-11  Bruno Haible  <bruno@clisp.org>
64011
64012         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
64013         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
64014
64015 2007-11-11  Bruno Haible  <bruno@clisp.org>
64016
64017         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
64018         (usage): Remove function.
64019
64020 2007-11-11  Bruno Haible  <bruno@clisp.org>
64021
64022         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
64023         gl_FUNC_CEILF_LIBS.
64024         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
64025         gl_FUNC_CEIL_LIBS.
64026         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
64027         gl_FUNC_CEILL_LIBS.
64028         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
64029         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
64030         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
64031
64032 2007-11-11  Bruno Haible  <bruno@clisp.org>
64033
64034         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
64035         roundf were declared but do not exist on functions.
64036         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
64037         roundl were declared but do not exist on functions.
64038         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
64039         HAVE_FLOORL_AND_CEILL, respectively.
64040         Needed for Sun C on Solaris 10.
64041
64042 2007-11-11  Bruno Haible  <bruno@clisp.org>
64043
64044         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
64045         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
64046         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
64047         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
64048         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
64049         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
64050         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
64051         HAVE_DECL_ROUNDF.
64052         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
64053         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
64054         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
64055         of HAVE_DECL_ROUND*.
64056         * modules/math (Makefile.am): Update.
64057
64058 2007-11-10  Bruno Haible  <bruno@clisp.org>
64059
64060         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
64061         ptrdiff_t as m4/intl.m4.
64062
64063 2007-11-10  Jim Meyering  <meyering@redhat.com>
64064
64065         Avoid link failure for the argmatch test.
64066         * tests/test-argmatch.c (usage): Define function to avoid a link
64067         failure: argmatch_die requires a usage function.
64068
64069 2007-11-09  Bruno Haible  <bruno@clisp.org>
64070
64071         * doc/functions/snprintf.texi: Mention BeOS deficiency.
64072         * doc/functions/vsnprintf.texi: Likewise.
64073         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
64074         with a size argument < 2.
64075
64076 2007-11-09  Bruno Haible  <bruno@clisp.org>
64077
64078         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
64079         buffer. Fixes an inefficiency introduced on 2007-11-03.
64080
64081 2007-11-09  Bruno Haible  <bruno@clisp.org>
64082
64083         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
64084         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
64085
64086 2007-11-08  Jim Meyering  <meyering@redhat.com>
64087
64088         Change cache variable name prefix "jm_" to "gl_" everywhere.
64089         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
64090         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
64091         * m4/uptime.m4: s/gl_/jm_/
64092
64093 2007-11-07  Bruno Haible  <bruno@clisp.org>
64094
64095         Update to GNU gettext 0.17.
64096         * m4/intl.m4: Update to GNU gettext 0.17.
64097         * m4/po.m4: Likewise.
64098         * modules/gettext (Files): Remove m4/ulonglong.m4.
64099         (configure.ac): Require gettext infrastructure from version 0.17.
64100
64101 2007-11-06  Bruno Haible  <bruno@clisp.org>
64102
64103         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
64104         symbolic values are not defined in a public header.
64105         * lib/freadable.c (freadable) [QNX]: Likewise.
64106         * lib/freadahead.c (freadahead) [QNX]: Likewise.
64107         * lib/freading.c (freading) [QNX]: Likewise.
64108         * lib/fseterr.c (fseterr) [QNX]: Likewise.
64109         * lib/fwritable.c (fwritable) [QNX]: Likewise.
64110         * lib/fwriting.c (fwriting) [QNX]: Likewise.
64111         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
64112         Reported by Alain Magloire.
64113
64114         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
64115
64116 2007-11-05  Bruno Haible  <bruno@clisp.org>
64117
64118         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
64119         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
64120         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
64121         Reported by Eric Blake.
64122
64123 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64124             Bruno Haible  <bruno@clisp.org>
64125
64126         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
64127         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
64128         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
64129         (malloc): Undefine also before including <stdlib.h>.
64130         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
64131         Needed on OSF/1 4.0.
64132
64133 2007-11-05  Jim Meyering  <meyering@redhat.com>
64134
64135         git-version-gen: sync from coreutils.
64136         * build-aux/git-version-gen: Add comments.
64137         Change the first '-' to '.' in the snapshot version string,
64138         e.g., 6.9-377-08144 -> 6.9.377-08144
64139         Remove first parameter.
64140         Don't declare a version "-dirty" merely because a time
64141         stamp has changed.
64142
64143 2007-11-04  Bruno Haible  <bruno@clisp.org>
64144
64145         * lib/lock.h: Protect all macro definitions containing an 'if'
64146         statement through a "do { ... } while (0)".
64147         * lib/tls.h: Likewise.
64148
64149 2007-11-04  Bruno Haible  <bruno@clisp.org>
64150
64151         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
64152
64153 2007-11-04  Bruno Haible  <bruno@clisp.org>
64154
64155         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
64156         * modules/fprintf-posix (Depends-on): Add nocrash.
64157         * modules/snprintf-posix (Depends-on): Likewise.
64158         * modules/sprintf-posix (Depends-on): Likewise.
64159         * modules/vasnprintf-posix (Depends-on): Likewise.
64160         * modules/vasprintf-posix (Depends-on): Likewise.
64161         * modules/vfprintf-posix (Depends-on): Likewise.
64162         * modules/vsnprintf-posix (Depends-on): Likewise.
64163         * modules/vsprintf-posix (Depends-on): Likewise.
64164         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64165         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64166         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64167         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64168         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64169         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64170         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64171
64172 2007-11-04  Bruno Haible  <bruno@clisp.org>
64173
64174         * modules/nocrash: New file.
64175         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
64176         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
64177
64178 2007-11-04  Bruno Haible  <bruno@clisp.org>
64179
64180         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
64181         precision handling.
64182         * tests/test-vasprintf-posix.c (test_function): Likewise.
64183         * tests/test-snprintf-posix.h (test_function): Likewise.
64184         * tests/test-sprintf-posix.h (test_function): Likewise.
64185
64186         Fix *printf behaviour for large precisions on mingw and BeOS.
64187         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
64188         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
64189         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
64190         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64191         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64192         gl_PRINTF_PRECISION and test its result. Invoke
64193         gl_PREREQ_VASNPRINTF_PRECISION.
64194         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64195         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64196         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64197         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64198         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64199         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64200         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64201         * doc/functions/fprintf.texi: Update.
64202         * doc/functions/printf.texi: Update.
64203         * doc/functions/snprintf.texi: Update.
64204         * doc/functions/sprintf.texi: Update.
64205         * doc/functions/vfprintf.texi: Update.
64206         * doc/functions/vprintf.texi: Update.
64207         * doc/functions/vsnprintf.texi: Update.
64208         * doc/functions/vsprintf.texi: Update.
64209
64210 2007-11-04  Bruno Haible  <bruno@clisp.org>
64211
64212         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
64213
64214 2007-11-04  Bruno Haible  <bruno@clisp.org>
64215
64216         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
64217         Reported by Sylvain Beucler <beuc@gnu.org>.
64218
64219 2007-11-03  Bruno Haible  <bruno@clisp.org>
64220
64221         * tests/test-fprintf-posix2.sh: New file.
64222         * tests/test-fprintf-posix2.c: New file.
64223         * modules/fprintf-posix-tests (Files): Add them.
64224         (TESTS): Add test-fprintf-posix2.sh.
64225         (configure.ac): Check for getrlimit and setrlimit.
64226         (check_PROGRAMS): Add test-fprintf-posix2.
64227
64228         * tests/test-printf-posix2.sh: New file.
64229         * tests/test-printf-posix2.c: New file.
64230         * modules/printf-posix-tests (Files): Add them.
64231         (TESTS): Add test-printf-posix2.sh.
64232         (configure.ac): Check for getrlimit and setrlimit.
64233         (check_PROGRAMS): Add test-printf-posix2.
64234
64235         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
64236         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
64237         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
64238         (decode_double): New function, copied from decode_long_double.
64239         (scale10_round_decimal_decoded): New function, extracted from
64240         scale10_round_decimal_long_double.
64241         (scale10_round_decimal_long_double): Use it.
64242         (scale10_round_decimal_double): New function.
64243         (floorlog10): New function.
64244         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
64245         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
64246         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64247         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64248         gl_PRINTF_ENOMEM and test its result. Invoke
64249         gl_PREREQ_VASNPRINTF_ENOMEM.
64250         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64251         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64252         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64253         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64254         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64255         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64256         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64257         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
64258         * modules/snprintf-posix (Depends-on): Likewise.
64259         * modules/sprintf-posix (Depends-on): Likewise.
64260         * modules/vasnprintf-posix (Depends-on): Likewise.
64261         * modules/vasprintf-posix (Depends-on): Likewise.
64262         * modules/vfprintf-posix (Depends-on): Likewise.
64263         * modules/vsnprintf-posix (Depends-on): Likewise.
64264         * modules/vsprintf-posix (Depends-on): Likewise.
64265         * doc/functions/fprintf.texi: Update.
64266         * doc/functions/printf.texi: Update.
64267         * doc/functions/snprintf.texi: Update.
64268         * doc/functions/sprintf.texi: Update.
64269         * doc/functions/vfprintf.texi: Update.
64270         * doc/functions/vprintf.texi: Update.
64271         * doc/functions/vsnprintf.texi: Update.
64272         * doc/functions/vsprintf.texi: Update.
64273
64274 2007-11-03  Bruno Haible  <bruno@clisp.org>
64275
64276         * modules/frexp-nolibm-tests: New file.
64277
64278         * modules/frexp-nolibm: New file.
64279         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
64280
64281 2007-11-03  Bruno Haible  <bruno@clisp.org>
64282
64283         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
64284         value is C99 compliant.
64285         Needed for OSF/1 5.1.
64286
64287 2007-11-03  Bruno Haible  <bruno@clisp.org>
64288
64289         Fix out-of-memory handling of vasnprintf.
64290         * lib/printf-parse.c: Include <errno.h>.
64291         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
64292         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
64293         is already set.
64294
64295 2007-11-02  Eric Blake  <ebb9@byu.net>
64296
64297         Fix tests on cygwin.
64298         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
64299
64300 2007-11-01  Bruno Haible  <bruno@clisp.org>
64301
64302         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
64303         warning.
64304         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
64305         needed for POSIX compatibility.
64306
64307 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
64308
64309         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
64310         for compatibility with GNU.
64311
64312 2007-11-01  Bruno Haible  <bruno@clisp.org>
64313
64314         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
64315         (putenv): Renamed from rpl_putenv. Change argument type from
64316         'const char *' to 'char *'.
64317         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
64318         of defining putenv in config.h, just set REPLACE_PUTENV.
64319         * modules/putenv (Depends-on): Add stdlib.
64320         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64321         (Include): Use <stdlib.h>.
64322         * lib/stdlib.in.h (putenv): New declaration.
64323         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
64324         REPLACE_PUTENV.
64325         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
64326         REPLACE_PUTENV.
64327         Needed for MacOS X 10.5.0.
64328         Reported by Peter O'Gorman <peter@pogma.com>.
64329
64330 2007-11-01  Jim Meyering  <meyering@redhat.com>
64331
64332         Treat an empty date string exactly like "0".
64333         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
64334         if the remaining date string (to be parsed) is empty, use "0".
64335         Reported by Mischa Molhoek and discussed in this thread:
64336         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
64337
64338 2007-10-31  Bruno Haible  <bruno@clisp.org>
64339
64340         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
64341         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
64342         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
64343         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
64344         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
64345         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
64346
64347 2007-10-31  Bruno Haible  <bruno@clisp.org>
64348
64349         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
64350         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
64351         (AC_TYPE_LONG_LONG_INT): Use it.
64352         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
64353         it as well.
64354         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
64355         to m4/longlong.m4.
64356         * modules/stdint (Files): Remove m4/ulonglong.m4.
64357         * modules/strtoull (Files): Use m4/longlong.m4 instead of
64358         m4/ulonglong.m4.
64359         * modules/strtoumax (Files): Likewise.
64360
64361 2007-10-30  Bruno Haible  <bruno@clisp.org>
64362
64363         * modules/xvasprintf-posix: New file.
64364         Suggested by Eric Blake.
64365
64366 2007-10-30  Bruno Haible  <bruno@clisp.org>
64367
64368         * modules/xprintf-posix-tests: New file.
64369         * tests/test-xprintf-posix.sh: New file.
64370         * tests/test-xprintf-posix.c: New file.
64371         * tests/test-xfprintf-posix.c: New file.
64372
64373         * modules/xprintf-posix: New file.
64374
64375 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64376
64377         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
64378         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
64379         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
64380
64381 2007-10-29  Bruno Haible  <bruno@clisp.org>
64382
64383         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
64384         contain the special marker '_cv_'.
64385         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
64386         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
64387         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
64388         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
64389         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
64390         Reported by Ralf Wildenhues.
64391
64392 2007-10-29  Bruno Haible  <bruno@clisp.org>
64393
64394         * gnulib-tool (func_import): When --lgpl is not specified, set
64395         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
64396         GPLv3.
64397         Reported by Simon Josefsson.
64398
64399 2007-10-28  Bruno Haible  <bruno@clisp.org>
64400
64401         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
64402         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
64403         HAVE_DECL_ISFINITE.
64404         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64405         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
64406         HAVE_DECL_ISFINITE.
64407
64408 2007-10-28  Bruno Haible  <bruno@clisp.org>
64409
64410         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
64411         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
64412
64413 2007-10-28  Bruno Haible  <bruno@clisp.org>
64414
64415         Fix link errors with Sun C 5.0 on Solaris 10.
64416         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
64417         function is declared but not present in the compiler's libm.
64418         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
64419         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
64420         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
64421         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
64422         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
64423         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
64424         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
64425         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64426         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
64427         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
64428         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
64429         HAVE_DECL_FLOORL.
64430
64431 2007-10-28  Bruno Haible  <bruno@clisp.org>
64432
64433         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
64434         gl_FUNC_FLOORL. Cache the result.
64435         (gl_FUNC_FLOORL): Use it.
64436         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
64437         gl_FUNC_CEILL. Cache the result.
64438         (gl_FUNC_CEILL): Use it.
64439
64440         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
64441         gl_FUNC_FLOOR. Cache the result.
64442         (gl_FUNC_FLOOR): Use it.
64443         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
64444         gl_FUNC_CEIL. Cache the result.
64445         (gl_FUNC_CEIL): Use it.
64446
64447         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
64448         gl_FUNC_FLOORF. Cache the result.
64449         (gl_FUNC_FLOORF): Use it.
64450         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
64451         gl_FUNC_CEILF. Cache the result.
64452         (gl_FUNC_CEILF): Use it.
64453
64454 2007-10-28  Bruno Haible  <bruno@clisp.org>
64455
64456         * gnulib-tool: Allow specifying the LGPL version number through
64457         --lgpl=2 or --lgpl=3.
64458         (func_usage): Document --lgpl with argument.
64459         Handle --lgpl=... arguments.
64460         (func_import): Recognize also gl_LGPL calls with an argument. When
64461         --lgpl=2 is used and the module's license is just LGPL, report an
64462         error. Set sed_transform_lib_file according to the lgpl variable. In
64463         the generated files, use --lgpl or gl_LGPL invocations with argument,
64464         if necessary.
64465         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
64466         an LGPv2+ license.
64467         * doc/gnulib-tool.texi (Modified imports): Update explanation of
64468         gl_LGPL macro.
64469
64470 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64471             Bruno Haible  <bruno@clisp.org>
64472
64473         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
64474         (u16_uctomb_aux): Likewise.
64475         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
64476         !HAVE_INLINE.
64477         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
64478
64479 2007-10-28  Bruno Haible  <bruno@clisp.org>
64480
64481         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
64482         Invoke AM_GETTEXT_OPTION if it exists.
64483         * modules/vasprintf: Likewise.
64484         * modules/verror: Likewise.
64485         * modules/xprintf: Likewise.
64486         * modules/xvasprintf: Likewise.
64487
64488 2007-10-27  Ben Pfaff  <blp@gnu.org>
64489
64490         * lib/math.in.h: Define isfinite macro and prototypes for
64491         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
64492         implementations.
64493         * m4/math_h.m4: New substitutions for isfinite module.
64494         * lib/isfinite.c: New file.
64495         * m4/isfinite.m4: New file.
64496         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
64497         * modules/isfinite: New file.
64498         * modules/isfinite-tests: New file.
64499         * tests/tests-isfinite.c: New file.
64500         * doc/functions/isfinite.texi: Mention isfinite module.
64501         * MODULES.html.sh: Mention new module.
64502
64503 2007-10-27  Ben Pfaff  <blp@gnu.org>
64504
64505         Ralf Wildenhues reported that Tru64 4.0D declares the round
64506         functions but does not have definitions.
64507         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
64508         cannot be found in any library, set the output variable to
64509         "missing" instead of "".
64510         * m4/round.m4: Also use our substitute if we cannot find round in
64511         any library, even if it is declared.
64512         * m4/roundf.m4: Likewise for roundf.
64513         * m4/roundl.m4: Likewise for roundl.
64514         * lib/math.in.h: Undefine roundf, round, roundl before defining
64515         their replacements, to allow for hypothetical systems where these
64516         may be defined as macros but not available in libraries.
64517
64518 2007-10-27  Bruno Haible  <bruno@clisp.org>
64519
64520         * doc/gnulib.texi: Invoke @firstparagraphindent.
64521         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
64522         changes in gnulib.
64523         (Source changes): New section.
64524
64525 2007-10-26  Bruno Haible  <bruno@clisp.org>
64526
64527         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
64528         borrowed from autoconf.
64529
64530 2007-10-26  Bruno Haible  <bruno@clisp.org>
64531
64532         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
64533         strerror returned the empty string. Needed on HP-UX 11.00.
64534
64535 2007-10-24  Micah Cowan  <micah@cowan.name>
64536
64537         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
64538         * build-aux/bootstrap: Remove support for now-unnecessary option,
64539         --cvs-user, and envvars CVS_USER, CVS_RSH.
64540
64541 2007-10-24  Jim Meyering  <meyering@redhat.com>
64542
64543         Avoid diagnostics from sha1sum when there is no cached checksum.
64544         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
64545         if the po.s1 file hasn't been created yet.
64546
64547         * build-aux/bootstrap: Sync from coreutils:
64548         2007-10-24  Jim Meyering  <meyering@redhat.com>
64549         Get gnulib from the git repository, not from an obsolete cvs one.
64550         * build-aux/bootstrap: Suggestion from Micah Cowan.
64551         2007-10-04  Jim Meyering  <jim@meyering.net>
64552         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
64553         (update_po_files): Work also when there are no .po files in po/.
64554
64555 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64556
64557         * README: Append ".git" to git and cg examples.
64558         Problem reported by Benoit Sigoure.
64559
64560 2007-10-23  Micah Cowan  <micah@cowan.name>
64561
64562         * users.txt: Add wget.
64563
64564 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64565
64566         Fix linking of some unistdio tests on FreeBSD.
64567         * modules/unistdio/u16-vsnprintf-tests
64568         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
64569         * modules/unistdio/u16-vsprintf-tests
64570         (test_u16_vsnprintf1_LDADD): Likewise.
64571         * modules/unistdio/u32-vsnprintf-tests
64572         (test_u32_vsnprintf1_LDADD): Likewise.
64573         * modules/unistdio/u32-vsprintf-tests
64574         (test_u32_vsprintf1_LDADD): Likewise.
64575         * modules/unistdio/u8-vsnprintf-tests
64576         (test_u8_vsnprintf1_LDADD): Likewise.
64577         * modules/unistdio/u8-vsprintf-tests
64578         (test_u8_vsprintf1_LDADD): Likewise.
64579         * modules/unistdio/ulc-vsnprintf-tests
64580         (test_ulc_vsnprintf1_LDADD): Likewise.
64581         * modules/unistdio/ulc-vsprintf-tests
64582         (test_ulc_vsprintf1_LDADD): Likewise.
64583
64584         Fix linking of some uniconv tests on FreeBSD.
64585         * modules/uniconv/u16-conv-from-enc-tests
64586         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
64587         * modules/uniconv/u16-conv-to-enc-tests
64588         (test_u16_conv_to_enc_LDADD): Likewise.
64589         * modules/uniconv/u16-strconv-from-enc-tests
64590         (test_u16_strconv_from_enc_LDADD): Likewise.
64591         * modules/uniconv/u16-strconv-to-enc-tests
64592         (test_u16_strconv_to_enc_LDADD): Likewise.
64593         * modules/uniconv/u32-conv-from-enc-tests
64594         (test_u32_conv_from_enc_LDADD): Likewise.
64595         * modules/uniconv/u32-conv-to-enc-tests
64596         (test_u32_conv_to_enc_LDADD): Likewise.
64597         * modules/uniconv/u32-strconv-from-enc-tests
64598         (test_u32_strconv_from_enc_LDADD): Likewise.
64599         * modules/uniconv/u32-strconv-to-enc-tests
64600         (test_u32_strconv_to_enc_LDADD): Likewise.
64601         * modules/uniconv/u8-conv-from-enc-tests
64602         (test_u8_conv_from_enc_LDADD): Likewise.
64603         * modules/uniconv/u8-conv-to-enc-tests
64604         (test_u8_conv_to_enc_LDADD): Likewise.
64605         * modules/uniconv/u8-strconv-from-enc-tests
64606         (test_u8_strconv_from_enc_LDADD): Likewise.
64607         * modules/uniconv/u8-strconv-to-enc-tests
64608         (test_u8_strconv_to_enc_LDADD): Likewise.
64609
64610 2007-10-22  Bruno Haible  <bruno@clisp.org>
64611
64612         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
64613         size.
64614
64615 2007-10-22  Eric Blake  <ebb9@byu.net>
64616
64617         Tweak x*printf documentation.
64618         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
64619         variable name and comments.
64620         Suggested by Bruno Haible.
64621
64622 2007-10-22  Bruno Haible  <bruno@clisp.org>
64623
64624         * lib/acl.c (copy_acl): Fix file name in comment.
64625
64626 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64627
64628         Fix Tru64 problem with stdbool.h.
64629         * lib/stdbool.in.h (false, true):
64630         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
64631         Don't declare as an enum in this situation; it runs afoul of Tru64.
64632         Problem reported by Steven M. Schweda in
64633         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
64634
64635 2007-10-22  Eric Blake  <ebb9@byu.net>
64636
64637         Also wrap vf?printf.
64638         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
64639         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
64640         (xvprintf, xvfprintf): New functions.
64641
64642 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64643
64644         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
64645         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
64646
64647         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
64648         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
64649
64650 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64651
64652         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
64653         by Bruno Haible.
64654
64655 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64656
64657         * lib/getloadavg.c
64658         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
64659         Undef `sys' after including sys/table.h, for Tru64 4.0D.
64660
64661         * tests/test-i-ring.c: Work for C89.
64662
64663 2007-10-22  Bruno Haible  <bruno@clisp.org>
64664
64665         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
64666         -1u, in preprocessor expression, so that we don't test for the bug
64667         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
64668         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
64669
64670 2007-10-22  Eric Blake  <ebb9@byu.net>
64671
64672         * tests/test-yesno.sh: Silence stderr during test.
64673
64674 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64675
64676         * modules/crypto/gc-camellia: New file.
64677
64678         * m4/gc-camellia.m4: New file.
64679
64680         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
64681
64682         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
64683
64684 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64685
64686         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
64687         --help to stdout.  Reported by sms@antinode.org (Steven
64688         M. Schweda).
64689
64690 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64691
64692         * users.txt: Fix link to libksba.
64693
64694 2007-10-21  Ben Pfaff  <blp@gnu.org>
64695
64696         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
64697         round.c roundf implementation that depends on floorf and ceilf to
64698         be tested unconditionally.
64699
64700 2007-10-21  Ben Pfaff  <blp@gnu.org>
64701
64702         * m4/check-libm-func.m4: Removed.
64703         * m4/check-math-lib.m4: New file.
64704         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
64705         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
64706         definition and lack of AC_LIBOBJ([roundf]).
64707         * m4/roundl.m4: Ditto, and similarly for roundl.
64708         * modules/round: Reference new m4 file.
64709         * modules/roundf: Ditto.
64710         * modules/roundl: Ditto.
64711         * tests/test-round2.c (main): Use ROUND instead of round.
64712         Bug report from Bruno Haible.
64713
64714 2007-10-21  Bruno Haible  <bruno@clisp.org>
64715
64716         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
64717         context.
64718
64719 2007-10-21  Bruno Haible  <bruno@clisp.org>
64720
64721         * tests/test-wcwidth.c (main): Allow negative result for some control
64722         characters.
64723
64724         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
64725         Needed on OSF/1 5.1.
64726
64727 2007-10-21  Bruno Haible  <bruno@clisp.org>
64728
64729         * tests/test-floorf1.c: Include isnanf.h.
64730         (main): Use isnanf() instead of isnan().
64731         * tests/test-ceilf1.c: Include isnanf.h.
64732         (main): Use isnanf() instead of isnan().
64733         * tests/test-truncf1.c: Include isnanf.h.
64734         (main): Use isnanf() instead of isnan().
64735         * tests/test-roundf1.c: Include isnanf.h.
64736         (main): Use isnanf() instead of isnan().
64737
64738 2007-10-21  Eric Blake  <ebb9@byu.net>
64739
64740         * users.txt: Update URL for m4.
64741
64742 2007-10-21  Bruno Haible  <bruno@clisp.org>
64743
64744         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
64745
64746 2007-10-21  Bruno Haible  <bruno@clisp.org>
64747
64748         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
64749         Git's management files if the CVS files are not present.
64750
64751 2007-10-20  Bruno Haible  <bruno@clisp.org>
64752
64753         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
64754         gcc-3.4.x.
64755
64756 2007-10-20  Ben Pfaff  <blp@gnu.org>
64757
64758         * lib/math.in.h: Declare round, roundf, roundl if we are providing
64759         implementations.
64760         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
64761         * lib/round.c: New file.
64762         * lib/roundf.c: New file.
64763         * lib/roundl.c: New file.
64764         * m4/round.m4: New file.
64765         * m4/roundf.m4: New file.
64766         * m4/roundl.m4: New file.
64767         * m4/check-libm-func-m4: New file.
64768         * modules/math: Replace round, roundf, roundl related @VARS@ in
64769         math.in.h.
64770         * modules/round: New file.
64771         * modules/round-tests: New file.
64772         * modules/roundf: New file.
64773         * modules/roundf-tests: New file.
64774         * modules/roundl: New file.
64775         * modules/roundl-tests: New file.
64776         * tests/test-round1.c: New file.
64777         * tests/test-round2.c: New file.
64778         * tests/test-roundf1.c: New file.
64779         * tests/test-roundf2.c: New file.
64780         * tests/test-roundl.c: New file.
64781         * doc/functions/round.texi: Mention round module.
64782         * doc/functions/roundf.texi: Mention roundf module.
64783         * doc/functions/roundl.texi: Mention roundl module.
64784         * MODULES.html.sh: Mention new modules.
64785         Thanks to Bruno Haible for suggestions.
64786
64787 2007-10-20  Jim Meyering  <meyering@redhat.com>
64788
64789         * lib/xprintf.c: Include <config.h> unconditionally.
64790
64791         Change xprintf's license to GPL.
64792         * modules/xprintf (License): s/LGPL/GPL/, since this module
64793         depends on modules (exit and exitfail) which are GPL.
64794         Suggestion from Bruno Haible.
64795
64796         xprintf fixes.
64797         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
64798         Use a clearer diagnostic.
64799         Patch from Bruno Haible.
64800
64801 2007-10-20  Bruno Haible  <bruno@clisp.org>
64802
64803         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
64804         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
64805         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64806
64807 2007-10-20  Bruno Haible  <bruno@clisp.org>
64808
64809         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
64810         precision in the comparison result > x - 1 or similar.
64811         * tests/test-ceilf2.c (correct_result_p): Likewise.
64812         * tests/test-truncf2.c (correct_result_p): Likewise.
64813         * tests/test-trunc2.c (correct_result_p): Likewise.
64814         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64815
64816 2007-10-20  Bruno Haible  <bruno@clisp.org>
64817
64818         * modules/ceil: New file.
64819         * m4/ceil.m4: New file.
64820         * doc/functions/ceil.texi: Mention the 'ceil' module.
64821
64822 2007-10-20  Bruno Haible  <bruno@clisp.org>
64823
64824         * modules/floor: New file.
64825         * m4/floor.m4: New file.
64826         * doc/functions/floor.texi: Mention the 'floor' module.
64827
64828 2007-10-20  Bruno Haible  <bruno@clisp.org>
64829
64830         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
64831         of %a.
64832         * modules/floorf-tests (Depends-on): Likewise.
64833         * modules/truncf-tests (Depends-on): Likewise.
64834         * modules/trunc-tests (Depends-on): Likewise.
64835         Reported by Ben Pfaff.
64836
64837 2007-10-19  Jim Meyering  <meyering@redhat.com>
64838
64839         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
64840         Don't bother testing specific errno values.  Just test ferror.
64841
64842         New module: xprintf
64843         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
64844
64845 2007-10-19  Bruno Haible  <bruno@clisp.org>
64846
64847         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
64848         syntax.
64849         * modules/javaexec (Makefile.am): Likewise.
64850         * modules/relocatable-prog (Makefile.am): Likewise.
64851         Suggested by Jim Meyering.
64852
64853 2007-10-18  Bruno Haible  <bruno@clisp.org>
64854
64855         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
64856         Reported by Jim Meyering.
64857
64858 2007-10-18  Eric Blake  <ebb9@byu.net>
64859
64860         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
64861
64862 2007-10-18  Bruno Haible  <bruno@clisp.org>
64863
64864         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
64865         the format string into writable memory. Needed in Fortify conditions.
64866
64867 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
64868             Bruno Haible  <bruno@clisp.org>
64869
64870         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
64871         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
64872         * modules/trim (Depends-on): Add mbchar.
64873         (configure.ac): Add gl_FUNC_MBRTOWC.
64874         (Makefile.am): Augment lib_SOURCES.
64875
64876 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
64877
64878         Modify glob.c to use fstatat and dirfd, to simplify it.
64879         Suggested by Eric Blake.
64880         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
64881         Don't include <stdbool.h>; not used.
64882         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
64883         (link_exists_p): Simplify implementation, since we can now assume
64884         dirfd and fstatat.
64885         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
64886
64887 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64888
64889         * gnulib-tool (func_get_dependencies): Fix sed script to
64890         match only tests.
64891
64892 2007-10-17  Bruno Haible  <bruno@clisp.org>
64893
64894         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
64895         allow locale names without encoding suffix.
64896         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
64897         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64898
64899 2007-10-16  Bruno Haible  <bruno@clisp.org>
64900
64901         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
64902         * lib/getgroups.c (getgroups): Likewise.
64903         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
64904
64905 2007-10-16  Bruno Haible  <bruno@clisp.org>
64906
64907         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
64908         * modules/malloc-posix (License): Likewise.
64909         * modules/realloc-posix (License): Likewise.
64910         * modules/calloc-posix (License): Likewise.
64911         * modules/intprops (License): Change from GPL to LGPL, with
64912         Paul Eggert's approval.
64913
64914 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64915
64916         Merge glibc changes into lib/glob.c.
64917
64918         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
64919         2007-10-15 04:59:03 UTC.  Here are the changes:
64920
64921         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
64922
64923         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
64924
64925         * lib/glob.c: Add some branch prediction throughout.
64926
64927         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
64928
64929         [BZ #5103]
64930         * lib/glob.c (glob): Recognize patterns starting \/.
64931
64932         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
64933
64934         [BZ #3996]
64935         * lib/glob.c (attribute_hidden): Define if not defined.
64936         (glob): Unescape dirname, filename or username when needed and not
64937         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
64938         is NULL.  Handle unescaped [ in pattern without closing ].
64939         Don't pass GLOB_CHECK down to recursive glob for directories.
64940         (__glob_pattern_type): New function.
64941         (__glob_pattern_p): Implement using __glob_pattern_type.
64942         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
64943         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
64944         Remove unreachable code.
64945
64946         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
64947
64948         * lib/glob.c (glob_in_dir): Add some comments and asserts to
64949         explain why there are no leaks.
64950
64951         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
64952
64953         [BZ #3253]
64954         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
64955         time, rather allocate increasingly bigger arrays of pointers, if
64956         possible with alloca, if too large with malloc.
64957
64958 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64959
64960         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
64961         Problem reported by H.Merijn Brand in
64962         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
64963         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
64964         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
64965
64966 2007-10-15  Bruno Haible  <bruno@clisp.org>
64967
64968         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
64969         with explicit rpl_ prefix.
64970         * lib/fopen.c (fopen): Likewise.
64971         * lib/freopen.c (freopen): Likewise.
64972         * lib/iconv.c (iconv): Likewise.
64973         * lib/iconv_close.c (iconv_close): Likewise.
64974
64975 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64976
64977         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
64978
64979 2007-10-15  Bruno Haible  <bruno@clisp.org>
64980
64981         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
64982         <stddef.h> instead of <stdlib.h> since we only need NULL.
64983         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64984
64985 2007-10-15  Bruno Haible  <bruno@clisp.org>
64986
64987         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
64988         Replace paragraph talking about LIBOBJS.
64989         Reported by Colin Watson <cjwatson@debian.org>.
64990
64991 2007-10-15  Bruno Haible  <bruno@clisp.org>
64992
64993         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
64994         <stdlib.h> before using NULL.
64995
64996 2007-10-15  Simon Josefsson  <simon@josefsson.org>
64997
64998         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
64999         Reported by Albert Chin <china@thewrittenword.com>.
65000
65001 2007-10-14  Bruno Haible  <bruno@clisp.org>
65002
65003         * modules/iconv_open-utf-tests: New file.
65004         * tests/test-iconv-utf.c: New file.
65005
65006         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
65007         * modules/iconv_open-utf: New file.
65008         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
65009         (iconv, iconv_close): New declarations.
65010         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
65011         be defined.
65012         (iconv_open): Add special handling of conversion between UTF-8 and
65013         UTF-{16,32}{BE,LE}.
65014         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
65015         * lib/iconv_close.c: New file.
65016         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
65017         gl_FUNC_ICONV_OPEN.
65018         (gl_FUNC_ICONV_OPEN): Use it.
65019         (gl_FUNC_ICONV_OPEN_UTF): New macro.
65020         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
65021         and REPLACE_ICONV_UTF.
65022         * modules/iconv_open (Depends-on): Add c-strcase.
65023         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
65024         ICONV_CONST.
65025         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
65026
65027 2007-10-13  Albert Chin  <china@thewrittenword.com>
65028             Bruno Haible  <bruno@clisp.org>
65029
65030         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
65031         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
65032
65033 2007-10-13  Bruno Haible  <bruno@clisp.org>
65034
65035         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
65036         defined, use the ISO C99 inline semantics.
65037         * lib/argp.h (ARGP_EI): Likewise.
65038
65039 2007-10-13  Bruno Haible  <bruno@clisp.org>
65040
65041         Handle 'inline' change in gcc 4.3.0.
65042         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
65043         argp_fmtstream_write, argp_fmtstream_set_lmargin,
65044         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
65045         argp_fmtstream_point): Disable 'extern' declaration if the function
65046         definition is going to be provided inline.
65047         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
65048         semantics, not the ISO C99 inline semantics.
65049         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
65050         'extern' declaration if the function definition is going to be provided
65051         inline.
65052         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
65053         the GNU C inline semantics, not the ISO C99 inline semantics. With
65054         GCC 4.2, avoid a warning.
65055
65056 2007-10-13  Bruno Haible  <bruno@clisp.org>
65057
65058         * lib/freading.h (freading): Enable the use of __freading for
65059         glibc >= 2.7.
65060         * lib/freading.c (freading): Likewise.
65061
65062 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
65063
65064         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
65065         "warning: C99 inline functions are not supported; using GNU89".
65066
65067 2007-10-12  Bruno Haible  <bruno@clisp.org>
65068
65069         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
65070         of 2.
65071         * tests/test-ceilf2.c: New file.
65072         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
65073
65074         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
65075         * modules/ceilf-tests: Update.
65076
65077 2007-10-12  Bruno Haible  <bruno@clisp.org>
65078
65079         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
65080         of 2.
65081         * tests/test-floorf2.c: New file.
65082         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
65083
65084         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
65085         * modules/floorf-tests: Update.
65086
65087 2007-10-12  Bruno Haible  <bruno@clisp.org>
65088
65089         * tests/test-trunc2.c: New file.
65090         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
65091
65092         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
65093         * modules/trunc-tests: Update.
65094
65095 2007-10-12  Bruno Haible  <bruno@clisp.org>
65096
65097         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
65098         of 2.
65099         * tests/test-truncf2.c: New file.
65100         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
65101
65102         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
65103         * modules/truncf-tests: Update.
65104
65105 2007-10-11  Eric Blake  <ebb9@byu.net>
65106
65107         Don't claim strerror is broken on Interix.
65108         * doc/functions/strerror.texi (strerror): Known broken systems are
65109         now Solaris 8, and not Interix.
65110         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
65111         Interix on cross-compile.
65112         Reported by Martin Koeppe in
65113         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
65114
65115 2007-10-11  Bruno Haible  <bruno@clisp.org>
65116
65117         * modules/i-ring-tests: New file.
65118         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
65119         instead of assert.
65120
65121 2007-10-11  Bruno Haible  <bruno@clisp.org>
65122
65123         * modules/filenamecat-tests: New file.
65124         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
65125         * lib/filenamecat.c: Remove test code.
65126
65127 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
65128
65129         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
65130
65131         * lib/strerror.c: Include <string.h> always, to test interface,
65132         and to remove the need for the dummy.
65133         Include intprops.h to compute width instead of doing it ourselves
65134         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
65135         (strerror): Define it to return NULL if there's no system strerror.
65136         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
65137         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
65138         ancient pre-strerror Unix systems well any more.  Saying "unknown
65139         system error" is enough.
65140         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
65141         simpler strerror.c implementation.
65142         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
65143         Simplify the tests to reflect the simpler strerror implementation.
65144         * modules/strerror (Depends-on): Add intprops.
65145
65146 2007-10-09  Eric Blake  <ebb9@byu.net>
65147
65148         Silence test-fpending.
65149         * modules/fpending-tests (Files): Add wrapper script.
65150         * tests/test-fpending.sh: New file.
65151
65152 2007-10-09  Bruno Haible  <bruno@clisp.org>
65153
65154         * MODULES.html.sh (func_module): Don't create a hyperlink for
65155         function names like 'printf_frexp'.
65156         (Misc): Add crc, memxor.
65157         (Characteristics of floating types): New section.
65158         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
65159         isnanf-nolibm, signbit, trunc, truncf, truncl.
65160         (Enhancements for ISO C 99 functions): New subsection Input/output.
65161         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
65162         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
65163         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
65164         (Compatibility checks for POSIX:2001 functions): Add clock-time.
65165         (Enhancements for POSIX:2001 functions): Add chdir-long.
65166         (File system functions): Add areadlink, chdir-safer, read-file.
65167         Remove cycle-check.
65168         (File system as inode set): New section.
65169         (Date and time): Add gethrxtime.
65170         (Multithreading): Add openmp.
65171         (Internationalization functions): Add localename.
65172         (Unicode string functions): Add unistr/u*-mbsnlen.
65173         (Support for maintaining and releasing projects): Add git-version-gen.
65174         (Lone files): Remove directories.
65175
65176 2007-10-08  Ben Pfaff  <blp@gnu.org>
65177
65178         * lib/xmalloca.h: Fix typo in comment.
65179
65180 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65181
65182         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
65183         when avoiding problems with integer overflow.  Use a portable test
65184         instead.
65185
65186 2007-10-08  Simon Josefsson  <simon@josefsson.org>
65187
65188         * modules/dummy (License): Change to LGPLv2+.
65189         * modules/float (License): Likewise
65190         * modules/realloc (License): Likewise
65191         * modules/stdlib (License): Likewise
65192
65193 2007-10-07  Bruno Haible  <bruno@clisp.org>
65194
65195         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
65196         * floor.c (TWO_MANT_DIG): Likewise.
65197         * ceil.c (TWO_MANT_DIG): Likewise.
65198         Reported by Ben Pfaff.
65199
65200 2007-10-07  Bruno Haible  <bruno@clisp.org>
65201
65202         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
65203         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
65204         * lib/frexp.c (FUNC): Likewise.
65205         * lib/printf-frexp.h (printf_frexp): Likewise.
65206         * lib/printf-frexpl.h (printf_frexpl): Likewise.
65207         * lib/printf-frexp.c (FUNC): Likewise.
65208         Suggested by Jim Meyering.
65209
65210 2007-10-07  Jim Meyering  <meyering@redhat.com>
65211
65212         Make xnanosleep's integer overflow test more robust.
65213         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
65214         so that gcc-4.3.0 doesn't optimize away this test for overflow.
65215
65216 2007-10-07  Bruno Haible  <bruno@clisp.org>
65217
65218         * NEWS: Mention the license change.
65219
65220         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
65221         abbreviations in the modules files.
65222
65223         Change copyright notice from GPLv2+ to GPLv3+.
65224         * README: Change copyright notice.
65225         * MODULES.html.sh: Likewise.
65226         * build-aux/bootstrap.conf: Likewise.
65227         * build-aux/config.libpath: Likewise.
65228         * build-aux/csharpcomp.sh.in: Likewise.
65229         * build-aux/csharpexec.sh.in: Likewise.
65230         * build-aux/install-reloc: Likewise.
65231         * build-aux/javacomp.sh.in: Likewise.
65232         * build-aux/javaexec.sh.in: Likewise.
65233         * build-aux/ldd.sh.in: Likewise.
65234         * build-aux/reloc-ldflags: Likewise.
65235         * build-aux/relocatable.sh.in: Likewise.
65236         * build-aux/x-to-1.in: Likewise.
65237         * check-module: Likewise.
65238         * config/srclistvars.sh: Likewise.
65239         * gnulib-tool: Likewise.
65240         * lib/acl-internal.h: Likewise.
65241         * lib/acl.c: Likewise.
65242         * lib/acl.h: Likewise.
65243         * lib/acl_entries.c: Likewise.
65244         * lib/areadlink-with-size.c: Likewise.
65245         * lib/areadlink.c: Likewise.
65246         * lib/areadlink.h: Likewise.
65247         * lib/argmatch.c: Likewise.
65248         * lib/argmatch.h: Likewise.
65249         * lib/argp-ba.c: Likewise.
65250         * lib/argp-eexst.c: Likewise.
65251         * lib/argp-fmtstream.c: Likewise.
65252         * lib/argp-fmtstream.h: Likewise.
65253         * lib/argp-fs-xinl.c: Likewise.
65254         * lib/argp-help.c: Likewise.
65255         * lib/argp-namefrob.h: Likewise.
65256         * lib/argp-parse.c: Likewise.
65257         * lib/argp-pin.c: Likewise.
65258         * lib/argp-pv.c: Likewise.
65259         * lib/argp-pvh.c: Likewise.
65260         * lib/argp-xinl.c: Likewise.
65261         * lib/argp.h: Likewise.
65262         * lib/at-func.c: Likewise.
65263         * lib/atanl.c: Likewise.
65264         * lib/backupfile.c: Likewise.
65265         * lib/backupfile.h: Likewise.
65266         * lib/basename.c: Likewise.
65267         * lib/binary-io.h: Likewise.
65268         * lib/byteswap.in.h: Likewise.
65269         * lib/c-stack.c: Likewise.
65270         * lib/c-stack.h: Likewise.
65271         * lib/c-strcasestr.c: Likewise.
65272         * lib/c-strcasestr.h: Likewise.
65273         * lib/c-strstr.c: Likewise.
65274         * lib/c-strstr.h: Likewise.
65275         * lib/c-strtod.c: Likewise.
65276         * lib/calloc.c: Likewise.
65277         * lib/canon-host.c: Likewise.
65278         * lib/canon-host.h: Likewise.
65279         * lib/canonicalize-lgpl.c: Likewise.
65280         * lib/canonicalize.c: Likewise.
65281         * lib/canonicalize.h: Likewise.
65282         * lib/ceil.c: Likewise.
65283         * lib/ceilf.c: Likewise.
65284         * lib/ceill.c: Likewise.
65285         * lib/chdir-long.c: Likewise.
65286         * lib/chdir-long.h: Likewise.
65287         * lib/chdir-safer.c: Likewise.
65288         * lib/chdir-safer.h: Likewise.
65289         * lib/chown.c: Likewise.
65290         * lib/classpath.c: Likewise.
65291         * lib/classpath.h: Likewise.
65292         * lib/clean-temp.c: Likewise.
65293         * lib/clean-temp.h: Likewise.
65294         * lib/cloexec.c: Likewise.
65295         * lib/close-stream.c: Likewise.
65296         * lib/closein.c: Likewise.
65297         * lib/closein.h: Likewise.
65298         * lib/closeout.c: Likewise.
65299         * lib/closeout.h: Likewise.
65300         * lib/concat-filename.c: Likewise.
65301         * lib/copy-file.c: Likewise.
65302         * lib/copy-file.h: Likewise.
65303         * lib/count-one-bits.h: Likewise.
65304         * lib/crc.c: Likewise.
65305         * lib/crc.h: Likewise.
65306         * lib/creat-safer.c: Likewise.
65307         * lib/csharpcomp.c: Likewise.
65308         * lib/csharpcomp.h: Likewise.
65309         * lib/csharpexec.c: Likewise.
65310         * lib/csharpexec.h: Likewise.
65311         * lib/cycle-check.c: Likewise.
65312         * lib/cycle-check.h: Likewise.
65313         * lib/diacrit.c: Likewise.
65314         * lib/diacrit.h: Likewise.
65315         * lib/diffseq.h: Likewise.
65316         * lib/dirchownmod.c: Likewise.
65317         * lib/dirent.in.h: Likewise.
65318         * lib/dirfd.c: Likewise.
65319         * lib/dirfd.h: Likewise.
65320         * lib/dirname.c: Likewise.
65321         * lib/dirname.h: Likewise.
65322         * lib/dummy.c: Likewise.
65323         * lib/dup-safer.c: Likewise.
65324         * lib/dup2.c: Likewise.
65325         * lib/eealloc.h: Likewise.
65326         * lib/error.c: Likewise.
65327         * lib/error.h: Likewise.
65328         * lib/euidaccess.c: Likewise.
65329         * lib/exclude.c: Likewise.
65330         * lib/exclude.h: Likewise.
65331         * lib/execute.c: Likewise.
65332         * lib/execute.h: Likewise.
65333         * lib/exitfail.c: Likewise.
65334         * lib/exitfail.h: Likewise.
65335         * lib/expl.c: Likewise.
65336         * lib/fatal-signal.c: Likewise.
65337         * lib/fatal-signal.h: Likewise.
65338         * lib/fbufmode.c: Likewise.
65339         * lib/fbufmode.h: Likewise.
65340         * lib/fchdir.c: Likewise.
65341         * lib/fchmodat.c: Likewise.
65342         * lib/fchownat.c: Likewise.
65343         * lib/fcntl--.h: Likewise.
65344         * lib/fcntl-safer.h: Likewise.
65345         * lib/fcntl.in.h: Likewise.
65346         * lib/fd-safer.c: Likewise.
65347         * lib/fflush.c: Likewise.
65348         * lib/file-has-acl.c: Likewise.
65349         * lib/file-set.c: Likewise.
65350         * lib/file-type.c: Likewise.
65351         * lib/file-type.h: Likewise.
65352         * lib/fileblocks.c: Likewise.
65353         * lib/filemode.c: Likewise.
65354         * lib/filemode.h: Likewise.
65355         * lib/filename.h: Likewise.
65356         * lib/filenamecat.c: Likewise.
65357         * lib/filenamecat.h: Likewise.
65358         * lib/findprog.c: Likewise.
65359         * lib/findprog.h: Likewise.
65360         * lib/float.in.h: Likewise.
65361         * lib/floor.c: Likewise.
65362         * lib/floorf.c: Likewise.
65363         * lib/floorl.c: Likewise.
65364         * lib/fopen-safer.c: Likewise.
65365         * lib/fopen.c: Likewise.
65366         * lib/fpending.c: Likewise.
65367         * lib/fpending.h: Likewise.
65368         * lib/fprintf.c: Likewise.
65369         * lib/fprintftime.h: Likewise.
65370         * lib/fpucw.h: Likewise.
65371         * lib/fpurge.c: Likewise.
65372         * lib/fpurge.h: Likewise.
65373         * lib/freadable.c: Likewise.
65374         * lib/freadable.h: Likewise.
65375         * lib/freadahead.c: Likewise.
65376         * lib/freadahead.h: Likewise.
65377         * lib/freading.c: Likewise.
65378         * lib/freading.h: Likewise.
65379         * lib/free.c: Likewise.
65380         * lib/freopen.c: Likewise.
65381         * lib/frexp.c: Likewise.
65382         * lib/frexpl.c: Likewise.
65383         * lib/fseek.c: Likewise.
65384         * lib/fseterr.c: Likewise.
65385         * lib/fseterr.h: Likewise.
65386         * lib/fstatat.c: Likewise.
65387         * lib/fstrcmp.c: Likewise.
65388         * lib/fstrcmp.h: Likewise.
65389         * lib/fsusage.c: Likewise.
65390         * lib/fsusage.h: Likewise.
65391         * lib/ftell.c: Likewise.
65392         * lib/ftello.c: Likewise.
65393         * lib/fts-cycle.c: Likewise.
65394         * lib/fts.c: Likewise.
65395         * lib/fts_.h: Likewise.
65396         * lib/full-read.c: Likewise.
65397         * lib/full-read.h: Likewise.
65398         * lib/full-write.c: Likewise.
65399         * lib/full-write.h: Likewise.
65400         * lib/fwritable.c: Likewise.
65401         * lib/fwritable.h: Likewise.
65402         * lib/fwriteerror.c: Likewise.
65403         * lib/fwriteerror.h: Likewise.
65404         * lib/fwriting.c: Likewise.
65405         * lib/fwriting.h: Likewise.
65406         * lib/gcd.c: Likewise.
65407         * lib/gcd.h: Likewise.
65408         * lib/getcwd.c: Likewise.
65409         * lib/getdate.h: Likewise.
65410         * lib/getdate.y: Likewise.
65411         * lib/getdomainname.c: Likewise.
65412         * lib/getdomainname.h: Likewise.
65413         * lib/getgroups.c: Likewise.
65414         * lib/gethostname.c: Likewise.
65415         * lib/gethrxtime.c: Likewise.
65416         * lib/gethrxtime.h: Likewise.
65417         * lib/getloadavg.c: Likewise.
65418         * lib/getndelim2.c: Likewise.
65419         * lib/getndelim2.h: Likewise.
65420         * lib/getnline.c: Likewise.
65421         * lib/getnline.h: Likewise.
65422         * lib/getopt.c: Likewise.
65423         * lib/getopt.in.h: Likewise.
65424         * lib/getopt1.c: Likewise.
65425         * lib/getopt_int.h: Likewise.
65426         * lib/getpagesize.h: Likewise.
65427         * lib/getsubopt.c: Likewise.
65428         * lib/gettime.c: Likewise.
65429         * lib/getugroups.c: Likewise.
65430         * lib/getugroups.h: Likewise.
65431         * lib/getusershell.c: Likewise.
65432         * lib/gl_anyavltree_list1.h: Likewise.
65433         * lib/gl_anyavltree_list2.h: Likewise.
65434         * lib/gl_anyhash_list1.h: Likewise.
65435         * lib/gl_anyhash_list2.h: Likewise.
65436         * lib/gl_anylinked_list1.h: Likewise.
65437         * lib/gl_anylinked_list2.h: Likewise.
65438         * lib/gl_anyrbtree_list1.h: Likewise.
65439         * lib/gl_anyrbtree_list2.h: Likewise.
65440         * lib/gl_anytree_list1.h: Likewise.
65441         * lib/gl_anytree_list2.h: Likewise.
65442         * lib/gl_anytree_oset.h: Likewise.
65443         * lib/gl_anytreehash_list1.h: Likewise.
65444         * lib/gl_anytreehash_list2.h: Likewise.
65445         * lib/gl_array_list.c: Likewise.
65446         * lib/gl_array_list.h: Likewise.
65447         * lib/gl_array_oset.c: Likewise.
65448         * lib/gl_array_oset.h: Likewise.
65449         * lib/gl_avltree_list.c: Likewise.
65450         * lib/gl_avltree_list.h: Likewise.
65451         * lib/gl_avltree_oset.c: Likewise.
65452         * lib/gl_avltree_oset.h: Likewise.
65453         * lib/gl_avltreehash_list.c: Likewise.
65454         * lib/gl_avltreehash_list.h: Likewise.
65455         * lib/gl_carray_list.c: Likewise.
65456         * lib/gl_carray_list.h: Likewise.
65457         * lib/gl_linked_list.c: Likewise.
65458         * lib/gl_linked_list.h: Likewise.
65459         * lib/gl_linkedhash_list.c: Likewise.
65460         * lib/gl_linkedhash_list.h: Likewise.
65461         * lib/gl_list.c: Likewise.
65462         * lib/gl_list.h: Likewise.
65463         * lib/gl_oset.c: Likewise.
65464         * lib/gl_oset.h: Likewise.
65465         * lib/gl_rbtree_list.c: Likewise.
65466         * lib/gl_rbtree_list.h: Likewise.
65467         * lib/gl_rbtree_oset.c: Likewise.
65468         * lib/gl_rbtree_oset.h: Likewise.
65469         * lib/gl_rbtreehash_list.c: Likewise.
65470         * lib/gl_rbtreehash_list.h: Likewise.
65471         * lib/gl_sublist.c: Likewise.
65472         * lib/gl_sublist.h: Likewise.
65473         * lib/group-member.c: Likewise.
65474         * lib/group-member.h: Likewise.
65475         * lib/hard-locale.c: Likewise.
65476         * lib/hard-locale.h: Likewise.
65477         * lib/hash-pjw.c: Likewise.
65478         * lib/hash-pjw.h: Likewise.
65479         * lib/hash-triple.c: Likewise.
65480         * lib/hash.c: Likewise.
65481         * lib/hash.h: Likewise.
65482         * lib/human.c: Likewise.
65483         * lib/human.h: Likewise.
65484         * lib/i-ring.c: Likewise.
65485         * lib/i-ring.h: Likewise.
65486         * lib/idcache.c: Likewise.
65487         * lib/imaxabs.c: Likewise.
65488         * lib/imaxdiv.c: Likewise.
65489         * lib/inet_pton.c: Likewise.
65490         * lib/inet_pton.h: Likewise.
65491         * lib/intprops.h: Likewise.
65492         * lib/inttostr.c: Likewise.
65493         * lib/inttostr.h: Likewise.
65494         * lib/inttypes.in.h: Likewise.
65495         * lib/isapipe.c: Likewise.
65496         * lib/isdir.c: Likewise.
65497         * lib/isnan.c: Likewise.
65498         * lib/isnan.h: Likewise.
65499         * lib/isnanf.c: Likewise.
65500         * lib/isnanf.h: Likewise.
65501         * lib/isnanl-nolibm.h: Likewise.
65502         * lib/isnanl.c: Likewise.
65503         * lib/isnanl.h: Likewise.
65504         * lib/javacomp.c: Likewise.
65505         * lib/javacomp.h: Likewise.
65506         * lib/javaexec.c: Likewise.
65507         * lib/javaexec.h: Likewise.
65508         * lib/javaversion.c: Likewise.
65509         * lib/javaversion.h: Likewise.
65510         * lib/javaversion.java: Likewise.
65511         * lib/lbrkprop.h: Likewise.
65512         * lib/lchmod.h: Likewise.
65513         * lib/lchown.c: Likewise.
65514         * lib/ldexpl.c: Likewise.
65515         * lib/linebreak.c: Likewise.
65516         * lib/linebreak.h: Likewise.
65517         * lib/linebuffer.c: Likewise.
65518         * lib/linebuffer.h: Likewise.
65519         * lib/locale.in.h: Likewise.
65520         * lib/logl.c: Likewise.
65521         * lib/long-options.c: Likewise.
65522         * lib/long-options.h: Likewise.
65523         * lib/lstat.c: Likewise.
65524         * lib/lstat.h: Likewise.
65525         * lib/math.in.h: Likewise.
65526         * lib/mbchar.c: Likewise.
65527         * lib/mbchar.h: Likewise.
65528         * lib/mbfile.h: Likewise.
65529         * lib/mbiter.h: Likewise.
65530         * lib/mbscasecmp.c: Likewise.
65531         * lib/mbscasestr.c: Likewise.
65532         * lib/mbschr.c: Likewise.
65533         * lib/mbscspn.c: Likewise.
65534         * lib/mbslen.c: Likewise.
65535         * lib/mbsncasecmp.c: Likewise.
65536         * lib/mbsnlen.c: Likewise.
65537         * lib/mbspbrk.c: Likewise.
65538         * lib/mbspcasecmp.c: Likewise.
65539         * lib/mbsrchr.c: Likewise.
65540         * lib/mbssep.c: Likewise.
65541         * lib/mbsspn.c: Likewise.
65542         * lib/mbsstr.c: Likewise.
65543         * lib/mbstok_r.c: Likewise.
65544         * lib/mbswidth.c: Likewise.
65545         * lib/mbswidth.h: Likewise.
65546         * lib/mbuiter.h: Likewise.
65547         * lib/memcasecmp.c: Likewise.
65548         * lib/memcasecmp.h: Likewise.
65549         * lib/memchr.c: Likewise.
65550         * lib/memcmp.c: Likewise.
65551         * lib/memcoll.c: Likewise.
65552         * lib/memcoll.h: Likewise.
65553         * lib/memcpy.c: Likewise.
65554         * lib/memrchr.c: Likewise.
65555         * lib/mkancesdirs.c: Likewise.
65556         * lib/mkdir-p.c: Likewise.
65557         * lib/mkdir-p.h: Likewise.
65558         * lib/mkdir.c: Likewise.
65559         * lib/mkdirat.c: Likewise.
65560         * lib/mkdtemp.c: Likewise.
65561         * lib/mkstemp-safer.c: Likewise.
65562         * lib/mkstemp.c: Likewise.
65563         * lib/modechange.c: Likewise.
65564         * lib/modechange.h: Likewise.
65565         * lib/mountlist.c: Likewise.
65566         * lib/mountlist.h: Likewise.
65567         * lib/mpsort.c: Likewise.
65568         * lib/nanosleep.c: Likewise.
65569         * lib/obstack.c: Likewise.
65570         * lib/obstack.h: Likewise.
65571         * lib/open-safer.c: Likewise.
65572         * lib/open.c: Likewise.
65573         * lib/openat-die.c: Likewise.
65574         * lib/openat-priv.h: Likewise.
65575         * lib/openat-proc.c: Likewise.
65576         * lib/openat.c: Likewise.
65577         * lib/openat.h: Likewise.
65578         * lib/pagealign_alloc.c: Likewise.
65579         * lib/pagealign_alloc.h: Likewise.
65580         * lib/physmem.c: Likewise.
65581         * lib/physmem.h: Likewise.
65582         * lib/pipe-safer.c: Likewise.
65583         * lib/pipe.c: Likewise.
65584         * lib/pipe.h: Likewise.
65585         * lib/posixtm.c: Likewise.
65586         * lib/posixtm.h: Likewise.
65587         * lib/posixver.c: Likewise.
65588         * lib/printf-frexp.c: Likewise.
65589         * lib/printf-frexp.h: Likewise.
65590         * lib/printf-frexpl.c: Likewise.
65591         * lib/printf-frexpl.h: Likewise.
65592         * lib/printf.c: Likewise.
65593         * lib/progname.c: Likewise.
65594         * lib/progname.h: Likewise.
65595         * lib/progreloc.c: Likewise.
65596         * lib/putenv.c: Likewise.
65597         * lib/quote.c: Likewise.
65598         * lib/quote.h: Likewise.
65599         * lib/quotearg.c: Likewise.
65600         * lib/quotearg.h: Likewise.
65601         * lib/raise.c: Likewise.
65602         * lib/readline.c: Likewise.
65603         * lib/readline.h: Likewise.
65604         * lib/readlink.c: Likewise.
65605         * lib/readtokens.c: Likewise.
65606         * lib/readtokens.h: Likewise.
65607         * lib/readtokens0.c: Likewise.
65608         * lib/readtokens0.h: Likewise.
65609         * lib/readutmp.c: Likewise.
65610         * lib/readutmp.h: Likewise.
65611         * lib/realloc.c: Likewise.
65612         * lib/relocwrapper.c: Likewise.
65613         * lib/rename-dest-slash.c: Likewise.
65614         * lib/rename.c: Likewise.
65615         * lib/rmdir.c: Likewise.
65616         * lib/rpmatch.c: Likewise.
65617         * lib/safe-read.c: Likewise.
65618         * lib/safe-read.h: Likewise.
65619         * lib/safe-write.c: Likewise.
65620         * lib/safe-write.h: Likewise.
65621         * lib/same-inode.h: Likewise.
65622         * lib/same.c: Likewise.
65623         * lib/same.h: Likewise.
65624         * lib/save-cwd.c: Likewise.
65625         * lib/save-cwd.h: Likewise.
65626         * lib/savedir.c: Likewise.
65627         * lib/savedir.h: Likewise.
65628         * lib/savewd.c: Likewise.
65629         * lib/savewd.h: Likewise.
65630         * lib/search.in.h: Likewise.
65631         * lib/setenv.c: Likewise.
65632         * lib/setenv.h: Likewise.
65633         * lib/settime.c: Likewise.
65634         * lib/sh-quote.c: Likewise.
65635         * lib/sh-quote.h: Likewise.
65636         * lib/sig2str.c: Likewise.
65637         * lib/sig2str.h: Likewise.
65638         * lib/signal.in.h: Likewise.
65639         * lib/signbitd.c: Likewise.
65640         * lib/signbitf.c: Likewise.
65641         * lib/signbitl.c: Likewise.
65642         * lib/sigprocmask.c: Likewise.
65643         * lib/sincosl.c: Likewise.
65644         * lib/sleep.c: Likewise.
65645         * lib/sprintf.c: Likewise.
65646         * lib/sqrtl.c: Likewise.
65647         * lib/stat-time.h: Likewise.
65648         * lib/stdio--.h: Likewise.
65649         * lib/stdio-safer.h: Likewise.
65650         * lib/stdlib--.h: Likewise.
65651         * lib/stdlib-safer.h: Likewise.
65652         * lib/stdlib.in.h: Likewise.
65653         * lib/stpcpy.c: Likewise.
65654         * lib/stpncpy.c: Likewise.
65655         * lib/strchrnul.c: Likewise.
65656         * lib/strcspn.c: Likewise.
65657         * lib/strerror.c: Likewise.
65658         * lib/strftime.c: Likewise.
65659         * lib/strftime.h: Likewise.
65660         * lib/striconveh.c: Likewise.
65661         * lib/striconveh.h: Likewise.
65662         * lib/striconveha.c: Likewise.
65663         * lib/striconveha.h: Likewise.
65664         * lib/stripslash.c: Likewise.
65665         * lib/strnlen1.c: Likewise.
65666         * lib/strnlen1.h: Likewise.
65667         * lib/strtod.c: Likewise.
65668         * lib/strtoimax.c: Likewise.
65669         * lib/strtok_r.c: Likewise.
65670         * lib/strtol.c: Likewise.
65671         * lib/strtoll.c: Likewise.
65672         * lib/strtoul.c: Likewise.
65673         * lib/strtoull.c: Likewise.
65674         * lib/sysexits.in.h: Likewise.
65675         * lib/tempname.c: Likewise.
65676         * lib/tempname.h: Likewise.
65677         * lib/timespec.h: Likewise.
65678         * lib/tls.c: Likewise.
65679         * lib/tls.h: Likewise.
65680         * lib/tmpdir.c: Likewise.
65681         * lib/tmpdir.h: Likewise.
65682         * lib/tmpfile-safer.c: Likewise.
65683         * lib/tmpfile.c: Likewise.
65684         * lib/trigl.c: Likewise.
65685         * lib/trigl.h: Likewise.
65686         * lib/trim.c: Likewise.
65687         * lib/trim.h: Likewise.
65688         * lib/trunc.c: Likewise.
65689         * lib/truncf.c: Likewise.
65690         * lib/truncl.c: Likewise.
65691         * lib/tsearch.c: Likewise.
65692         * lib/unicodeio.c: Likewise.
65693         * lib/unicodeio.h: Likewise.
65694         * lib/unistd--.h: Likewise.
65695         * lib/unistd-safer.h: Likewise.
65696         * lib/unistdio/ulc-fprintf.c: Likewise.
65697         * lib/unistdio/ulc-vfprintf.c: Likewise.
65698         * lib/unlinkdir.c: Likewise.
65699         * lib/unlinkdir.h: Likewise.
65700         * lib/unlocked-io.h: Likewise.
65701         * lib/unsetenv.c: Likewise.
65702         * lib/userspec.c: Likewise.
65703         * lib/utime.c: Likewise.
65704         * lib/utimecmp.c: Likewise.
65705         * lib/utimecmp.h: Likewise.
65706         * lib/utimens.c: Likewise.
65707         * lib/verify.h: Likewise.
65708         * lib/verror.c: Likewise.
65709         * lib/verror.h: Likewise.
65710         * lib/version-etc-fsf.c: Likewise.
65711         * lib/version-etc.c: Likewise.
65712         * lib/version-etc.h: Likewise.
65713         * lib/vfprintf.c: Likewise.
65714         * lib/vprintf.c: Likewise.
65715         * lib/vsprintf.c: Likewise.
65716         * lib/w32spawn.h: Likewise.
65717         * lib/wait-process.c: Likewise.
65718         * lib/wait-process.h: Likewise.
65719         * lib/wcwidth.c: Likewise.
65720         * lib/write-any-file.c: Likewise.
65721         * lib/xalloc-die.c: Likewise.
65722         * lib/xalloc.h: Likewise.
65723         * lib/xasprintf.c: Likewise.
65724         * lib/xgetcwd.c: Likewise.
65725         * lib/xgetcwd.h: Likewise.
65726         * lib/xgetdomainname.c: Likewise.
65727         * lib/xgetdomainname.h: Likewise.
65728         * lib/xgethostname.c: Likewise.
65729         * lib/xmalloc.c: Likewise.
65730         * lib/xmalloca.c: Likewise.
65731         * lib/xmalloca.h: Likewise.
65732         * lib/xmemcoll.c: Likewise.
65733         * lib/xnanosleep.c: Likewise.
65734         * lib/xreadlink.c: Likewise.
65735         * lib/xreadlink.h: Likewise.
65736         * lib/xsetenv.c: Likewise.
65737         * lib/xsetenv.h: Likewise.
65738         * lib/xstriconv.c: Likewise.
65739         * lib/xstriconv.h: Likewise.
65740         * lib/xstrndup.c: Likewise.
65741         * lib/xstrndup.h: Likewise.
65742         * lib/xstrtod.c: Likewise.
65743         * lib/xstrtod.h: Likewise.
65744         * lib/xstrtol-error.c: Likewise.
65745         * lib/xstrtol.c: Likewise.
65746         * lib/xstrtol.h: Likewise.
65747         * lib/xtime.h: Likewise.
65748         * lib/xvasprintf.c: Likewise.
65749         * lib/xvasprintf.h: Likewise.
65750         * lib/yesno.c: Likewise.
65751         * lib/yesno.h: Likewise.
65752         * posix-modules: Likewise.
65753         * tests/test-alloca-opt.c: Likewise.
65754         * tests/test-arcfour.c: Likewise.
65755         * tests/test-arctwo.c: Likewise.
65756         * tests/test-argmatch.c: Likewise.
65757         * tests/test-argp-2.sh: Likewise.
65758         * tests/test-argp.c: Likewise.
65759         * tests/test-arpa_inet.c: Likewise.
65760         * tests/test-array_list.c: Likewise.
65761         * tests/test-array_oset.c: Likewise.
65762         * tests/test-atexit.c: Likewise.
65763         * tests/test-avltree_list.c: Likewise.
65764         * tests/test-avltree_oset.c: Likewise.
65765         * tests/test-avltreehash_list.c: Likewise.
65766         * tests/test-base64.c: Likewise.
65767         * tests/test-binary-io.c: Likewise.
65768         * tests/test-byteswap.c: Likewise.
65769         * tests/test-c-ctype.c: Likewise.
65770         * tests/test-c-strcasecmp.c: Likewise.
65771         * tests/test-c-strcasestr.c: Likewise.
65772         * tests/test-c-strncasecmp.c: Likewise.
65773         * tests/test-c-strstr.c: Likewise.
65774         * tests/test-canonicalize-lgpl.c: Likewise.
65775         * tests/test-canonicalize.c: Likewise.
65776         * tests/test-carray_list.c: Likewise.
65777         * tests/test-ceilf.c: Likewise.
65778         * tests/test-ceill.c: Likewise.
65779         * tests/test-count-one-bits.c: Likewise.
65780         * tests/test-crc.c: Likewise.
65781         * tests/test-dirname.c: Likewise.
65782         * tests/test-fbufmode.c: Likewise.
65783         * tests/test-fcntl.c: Likewise.
65784         * tests/test-fflush.c: Likewise.
65785         * tests/test-floorf.c: Likewise.
65786         * tests/test-floorl.c: Likewise.
65787         * tests/test-fopen.c: Likewise.
65788         * tests/test-fprintf-posix.c: Likewise.
65789         * tests/test-fprintf-posix.h: Likewise.
65790         * tests/test-fpurge.c: Likewise.
65791         * tests/test-freadable.c: Likewise.
65792         * tests/test-freadahead.c: Likewise.
65793         * tests/test-freading.c: Likewise.
65794         * tests/test-freopen.c: Likewise.
65795         * tests/test-frexp.c: Likewise.
65796         * tests/test-frexpl.c: Likewise.
65797         * tests/test-fseek.c: Likewise.
65798         * tests/test-fseeko.c: Likewise.
65799         * tests/test-fseterr.c: Likewise.
65800         * tests/test-fstrcmp.c: Likewise.
65801         * tests/test-ftell.c: Likewise.
65802         * tests/test-ftello.c: Likewise.
65803         * tests/test-fwritable.c: Likewise.
65804         * tests/test-fwriting.c: Likewise.
65805         * tests/test-getaddrinfo.c: Likewise.
65806         * tests/test-getpass.c: Likewise.
65807         * tests/test-gettimeofday.c: Likewise.
65808         * tests/test-hmac-md5.c: Likewise.
65809         * tests/test-hmac-sha1.c: Likewise.
65810         * tests/test-iconv.c: Likewise.
65811         * tests/test-iconvme.c: Likewise.
65812         * tests/test-inttypes.c: Likewise.
65813         * tests/test-isnan.c: Likewise.
65814         * tests/test-isnanf.c: Likewise.
65815         * tests/test-isnanl-nolibm.c: Likewise.
65816         * tests/test-isnanl.c: Likewise.
65817         * tests/test-isnanl.h: Likewise.
65818         * tests/test-ldexpl.c: Likewise.
65819         * tests/test-linked_list.c: Likewise.
65820         * tests/test-linkedhash_list.c: Likewise.
65821         * tests/test-locale.c: Likewise.
65822         * tests/test-localename.c: Likewise.
65823         * tests/test-lock.c: Likewise.
65824         * tests/test-lseek.c: Likewise.
65825         * tests/test-malloca.c: Likewise.
65826         * tests/test-math.c: Likewise.
65827         * tests/test-mbscasecmp.c: Likewise.
65828         * tests/test-mbscasestr1.c: Likewise.
65829         * tests/test-mbscasestr2.c: Likewise.
65830         * tests/test-mbscasestr3.c: Likewise.
65831         * tests/test-mbscasestr4.c: Likewise.
65832         * tests/test-mbschr.c: Likewise.
65833         * tests/test-mbscspn.c: Likewise.
65834         * tests/test-mbsncasecmp.c: Likewise.
65835         * tests/test-mbspbrk.c: Likewise.
65836         * tests/test-mbspcasecmp.c: Likewise.
65837         * tests/test-mbsrchr.c: Likewise.
65838         * tests/test-mbsspn.c: Likewise.
65839         * tests/test-mbsstr1.c: Likewise.
65840         * tests/test-mbsstr2.c: Likewise.
65841         * tests/test-mbsstr3.c: Likewise.
65842         * tests/test-md5.c: Likewise.
65843         * tests/test-memmem.c: Likewise.
65844         * tests/test-netinet_in.c: Likewise.
65845         * tests/test-open.c: Likewise.
65846         * tests/test-printf-frexp.c: Likewise.
65847         * tests/test-printf-frexpl.c: Likewise.
65848         * tests/test-printf-posix.c: Likewise.
65849         * tests/test-printf-posix.h: Likewise.
65850         * tests/test-rbtree_list.c: Likewise.
65851         * tests/test-rbtree_oset.c: Likewise.
65852         * tests/test-rbtreehash_list.c: Likewise.
65853         * tests/test-read-file.c: Likewise.
65854         * tests/test-rijndael.c: Likewise.
65855         * tests/test-search.c: Likewise.
65856         * tests/test-signbit.c: Likewise.
65857         * tests/test-sleep.c: Likewise.
65858         * tests/test-snprintf-posix.c: Likewise.
65859         * tests/test-snprintf-posix.h: Likewise.
65860         * tests/test-snprintf.c: Likewise.
65861         * tests/test-sprintf-posix.c: Likewise.
65862         * tests/test-sprintf-posix.h: Likewise.
65863         * tests/test-stat-time.c: Likewise.
65864         * tests/test-stdbool.c: Likewise.
65865         * tests/test-stdint.c: Likewise.
65866         * tests/test-stdio.c: Likewise.
65867         * tests/test-stdlib.c: Likewise.
65868         * tests/test-stpncpy.c: Likewise.
65869         * tests/test-strcasestr.c: Likewise.
65870         * tests/test-striconv.c: Likewise.
65871         * tests/test-striconveh.c: Likewise.
65872         * tests/test-striconveha.c: Likewise.
65873         * tests/test-string.c: Likewise.
65874         * tests/test-sys_select.c: Likewise.
65875         * tests/test-sys_socket.c: Likewise.
65876         * tests/test-sys_stat.c: Likewise.
65877         * tests/test-sys_time.c: Likewise.
65878         * tests/test-sysexits.c: Likewise.
65879         * tests/test-time.c: Likewise.
65880         * tests/test-tls.c: Likewise.
65881         * tests/test-trunc.c: Likewise.
65882         * tests/test-truncf.c: Likewise.
65883         * tests/test-truncl.c: Likewise.
65884         * tests/test-unistd.c: Likewise.
65885         * tests/test-vasnprintf-posix.c: Likewise.
65886         * tests/test-vasnprintf-posix2.c: Likewise.
65887         * tests/test-vasnprintf.c: Likewise.
65888         * tests/test-vasprintf-posix.c: Likewise.
65889         * tests/test-vasprintf.c: Likewise.
65890         * tests/test-verify.c: Likewise.
65891         * tests/test-vfprintf-posix.c: Likewise.
65892         * tests/test-vprintf-posix.c: Likewise.
65893         * tests/test-vsnprintf-posix.c: Likewise.
65894         * tests/test-vsnprintf.c: Likewise.
65895         * tests/test-vsprintf-posix.c: Likewise.
65896         * tests/test-wchar.c: Likewise.
65897         * tests/test-wctype.c: Likewise.
65898         * tests/test-wcwidth.c: Likewise.
65899         * tests/test-xstrtol.c: Likewise.
65900         * tests/test-xvasprintf.c: Likewise.
65901         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
65902         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
65903         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
65904         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
65905         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
65906         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
65907         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
65908         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
65909         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
65910         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
65911         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
65912         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
65913         * tests/uniname/test-uninames.c: Likewise.
65914         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
65915         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
65916         * tests/unistdio/test-u16-printf1.h: Likewise.
65917         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
65918         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
65919         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
65920         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
65921         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
65922         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
65923         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
65924         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
65925         * tests/unistdio/test-u32-printf1.h: Likewise.
65926         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
65927         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
65928         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
65929         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
65930         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
65931         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
65932         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
65933         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
65934         * tests/unistdio/test-u8-printf1.h: Likewise.
65935         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
65936         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
65937         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
65938         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
65939         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
65940         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
65941         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
65942         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
65943         * tests/unistdio/test-ulc-printf1.h: Likewise.
65944         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
65945         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
65946         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
65947         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
65948         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
65949         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
65950         * tests/uniwidth/test-u16-strwidth.c: Likewise.
65951         * tests/uniwidth/test-u16-width.c: Likewise.
65952         * tests/uniwidth/test-u32-strwidth.c: Likewise.
65953         * tests/uniwidth/test-u32-width.c: Likewise.
65954         * tests/uniwidth/test-u8-strwidth.c: Likewise.
65955         * tests/uniwidth/test-u8-width.c: Likewise.
65956         * tests/uniwidth/test-uc_width.c: Likewise.
65957         * config/srclist-update: Likewise.
65958         (fixlicense): Update to GPLv3+.
65959
65960         Change copyright notice from LGPLv2.1+ to LGPLv3+.
65961         * tests/test-tsearch.c: Change copyright notice.
65962
65963         Change copyright notice from LGPLv2.0+ to LGPLv3+.
65964         * lib/c-strcaseeq.h: Change copyright notice.
65965         * lib/streq.h: Likewise.
65966         * lib/uniconv.h: Likewise.
65967         * lib/uniconv/u-conv-from-enc.h: Likewise.
65968         * lib/uniconv/u-conv-to-enc.h: Likewise.
65969         * lib/uniconv/u-strconv-from-enc.h: Likewise.
65970         * lib/uniconv/u-strconv-to-enc.h: Likewise.
65971         * lib/uniconv/u16-conv-from-enc.c: Likewise.
65972         * lib/uniconv/u16-conv-to-enc.c: Likewise.
65973         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
65974         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
65975         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
65976         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
65977         * lib/uniconv/u32-conv-from-enc.c: Likewise.
65978         * lib/uniconv/u32-conv-to-enc.c: Likewise.
65979         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
65980         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
65981         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
65982         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
65983         * lib/uniconv/u8-conv-from-enc.c: Likewise.
65984         * lib/uniconv/u8-conv-to-enc.c: Likewise.
65985         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
65986         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
65987         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
65988         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
65989         * lib/uniname.h: Likewise.
65990         * lib/uniname/uniname.c: Likewise.
65991         * lib/unistdio.h: Likewise.
65992         * lib/unistdio/u-asnprintf.h: Likewise.
65993         * lib/unistdio/u-asprintf.h: Likewise.
65994         * lib/unistdio/u-printf-args.c: Likewise.
65995         * lib/unistdio/u-printf-args.h: Likewise.
65996         * lib/unistdio/u-printf-parse.h: Likewise.
65997         * lib/unistdio/u-snprintf.h: Likewise.
65998         * lib/unistdio/u-sprintf.h: Likewise.
65999         * lib/unistdio/u-vasprintf.h: Likewise.
66000         * lib/unistdio/u-vsnprintf.h: Likewise.
66001         * lib/unistdio/u-vsprintf.h: Likewise.
66002         * lib/unistdio/u16-asnprintf.c: Likewise.
66003         * lib/unistdio/u16-asprintf.c: Likewise.
66004         * lib/unistdio/u16-printf-parse.c: Likewise.
66005         * lib/unistdio/u16-snprintf.c: Likewise.
66006         * lib/unistdio/u16-sprintf.c: Likewise.
66007         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
66008         * lib/unistdio/u16-u16-asprintf.c: Likewise.
66009         * lib/unistdio/u16-u16-snprintf.c: Likewise.
66010         * lib/unistdio/u16-u16-sprintf.c: Likewise.
66011         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
66012         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
66013         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
66014         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
66015         * lib/unistdio/u16-vasnprintf.c: Likewise.
66016         * lib/unistdio/u16-vasprintf.c: Likewise.
66017         * lib/unistdio/u16-vsnprintf.c: Likewise.
66018         * lib/unistdio/u16-vsprintf.c: Likewise.
66019         * lib/unistdio/u32-asnprintf.c: Likewise.
66020         * lib/unistdio/u32-asprintf.c: Likewise.
66021         * lib/unistdio/u32-printf-parse.c: Likewise.
66022         * lib/unistdio/u32-snprintf.c: Likewise.
66023         * lib/unistdio/u32-sprintf.c: Likewise.
66024         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
66025         * lib/unistdio/u32-u32-asprintf.c: Likewise.
66026         * lib/unistdio/u32-u32-snprintf.c: Likewise.
66027         * lib/unistdio/u32-u32-sprintf.c: Likewise.
66028         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
66029         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
66030         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
66031         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
66032         * lib/unistdio/u32-vasnprintf.c: Likewise.
66033         * lib/unistdio/u32-vasprintf.c: Likewise.
66034         * lib/unistdio/u32-vsnprintf.c: Likewise.
66035         * lib/unistdio/u32-vsprintf.c: Likewise.
66036         * lib/unistdio/u8-asnprintf.c: Likewise.
66037         * lib/unistdio/u8-asprintf.c: Likewise.
66038         * lib/unistdio/u8-printf-parse.c: Likewise.
66039         * lib/unistdio/u8-snprintf.c: Likewise.
66040         * lib/unistdio/u8-sprintf.c: Likewise.
66041         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
66042         * lib/unistdio/u8-u8-asprintf.c: Likewise.
66043         * lib/unistdio/u8-u8-snprintf.c: Likewise.
66044         * lib/unistdio/u8-u8-sprintf.c: Likewise.
66045         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
66046         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
66047         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
66048         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
66049         * lib/unistdio/u8-vasnprintf.c: Likewise.
66050         * lib/unistdio/u8-vasprintf.c: Likewise.
66051         * lib/unistdio/u8-vsnprintf.c: Likewise.
66052         * lib/unistdio/u8-vsprintf.c: Likewise.
66053         * lib/unistdio/ulc-asnprintf.c: Likewise.
66054         * lib/unistdio/ulc-asprintf.c: Likewise.
66055         * lib/unistdio/ulc-printf-parse.c: Likewise.
66056         * lib/unistdio/ulc-snprintf.c: Likewise.
66057         * lib/unistdio/ulc-sprintf.c: Likewise.
66058         * lib/unistdio/ulc-vasnprintf.c: Likewise.
66059         * lib/unistdio/ulc-vasprintf.c: Likewise.
66060         * lib/unistdio/ulc-vsnprintf.c: Likewise.
66061         * lib/unistdio/ulc-vsprintf.c: Likewise.
66062         * lib/unistr.h: Likewise.
66063         * lib/unistr/u-cpy-alloc.h: Likewise.
66064         * lib/unistr/u-cpy.h: Likewise.
66065         * lib/unistr/u-endswith.h: Likewise.
66066         * lib/unistr/u-move.h: Likewise.
66067         * lib/unistr/u-set.h: Likewise.
66068         * lib/unistr/u-startswith.h: Likewise.
66069         * lib/unistr/u-stpcpy.h: Likewise.
66070         * lib/unistr/u-stpncpy.h: Likewise.
66071         * lib/unistr/u-strcat.h: Likewise.
66072         * lib/unistr/u-strcpy.h: Likewise.
66073         * lib/unistr/u-strcspn.h: Likewise.
66074         * lib/unistr/u-strdup.h: Likewise.
66075         * lib/unistr/u-strlen.h: Likewise.
66076         * lib/unistr/u-strncat.h: Likewise.
66077         * lib/unistr/u-strncpy.h: Likewise.
66078         * lib/unistr/u-strnlen.h: Likewise.
66079         * lib/unistr/u-strpbrk.h: Likewise.
66080         * lib/unistr/u-strspn.h: Likewise.
66081         * lib/unistr/u-strstr.h: Likewise.
66082         * lib/unistr/u-strtok.h: Likewise.
66083         * lib/unistr/u16-check.c: Likewise.
66084         * lib/unistr/u16-chr.c: Likewise.
66085         * lib/unistr/u16-cmp.c: Likewise.
66086         * lib/unistr/u16-cpy-alloc.c: Likewise.
66087         * lib/unistr/u16-cpy.c: Likewise.
66088         * lib/unistr/u16-endswith.c: Likewise.
66089         * lib/unistr/u16-mblen.c: Likewise.
66090         * lib/unistr/u16-mbsnlen.c: Likewise.
66091         * lib/unistr/u16-mbtouc-aux.c: Likewise.
66092         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
66093         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
66094         * lib/unistr/u16-mbtouc.c: Likewise.
66095         * lib/unistr/u16-mbtoucr.c: Likewise.
66096         * lib/unistr/u16-move.c: Likewise.
66097         * lib/unistr/u16-next.c: Likewise.
66098         * lib/unistr/u16-prev.c: Likewise.
66099         * lib/unistr/u16-set.c: Likewise.
66100         * lib/unistr/u16-startswith.c: Likewise.
66101         * lib/unistr/u16-stpcpy.c: Likewise.
66102         * lib/unistr/u16-stpncpy.c: Likewise.
66103         * lib/unistr/u16-strcat.c: Likewise.
66104         * lib/unistr/u16-strchr.c: Likewise.
66105         * lib/unistr/u16-strcmp.c: Likewise.
66106         * lib/unistr/u16-strcpy.c: Likewise.
66107         * lib/unistr/u16-strcspn.c: Likewise.
66108         * lib/unistr/u16-strdup.c: Likewise.
66109         * lib/unistr/u16-strlen.c: Likewise.
66110         * lib/unistr/u16-strmblen.c: Likewise.
66111         * lib/unistr/u16-strmbtouc.c: Likewise.
66112         * lib/unistr/u16-strncat.c: Likewise.
66113         * lib/unistr/u16-strncmp.c: Likewise.
66114         * lib/unistr/u16-strncpy.c: Likewise.
66115         * lib/unistr/u16-strnlen.c: Likewise.
66116         * lib/unistr/u16-strpbrk.c: Likewise.
66117         * lib/unistr/u16-strrchr.c: Likewise.
66118         * lib/unistr/u16-strspn.c: Likewise.
66119         * lib/unistr/u16-strstr.c: Likewise.
66120         * lib/unistr/u16-strtok.c: Likewise.
66121         * lib/unistr/u16-to-u32.c: Likewise.
66122         * lib/unistr/u16-to-u8.c: Likewise.
66123         * lib/unistr/u16-uctomb-aux.c: Likewise.
66124         * lib/unistr/u16-uctomb.c: Likewise.
66125         * lib/unistr/u32-check.c: Likewise.
66126         * lib/unistr/u32-chr.c: Likewise.
66127         * lib/unistr/u32-cmp.c: Likewise.
66128         * lib/unistr/u32-cpy-alloc.c: Likewise.
66129         * lib/unistr/u32-cpy.c: Likewise.
66130         * lib/unistr/u32-endswith.c: Likewise.
66131         * lib/unistr/u32-mblen.c: Likewise.
66132         * lib/unistr/u32-mbsnlen.c: Likewise.
66133         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
66134         * lib/unistr/u32-mbtouc.c: Likewise.
66135         * lib/unistr/u32-mbtoucr.c: Likewise.
66136         * lib/unistr/u32-move.c: Likewise.
66137         * lib/unistr/u32-next.c: Likewise.
66138         * lib/unistr/u32-prev.c: Likewise.
66139         * lib/unistr/u32-set.c: Likewise.
66140         * lib/unistr/u32-startswith.c: Likewise.
66141         * lib/unistr/u32-stpcpy.c: Likewise.
66142         * lib/unistr/u32-stpncpy.c: Likewise.
66143         * lib/unistr/u32-strcat.c: Likewise.
66144         * lib/unistr/u32-strchr.c: Likewise.
66145         * lib/unistr/u32-strcmp.c: Likewise.
66146         * lib/unistr/u32-strcpy.c: Likewise.
66147         * lib/unistr/u32-strcspn.c: Likewise.
66148         * lib/unistr/u32-strdup.c: Likewise.
66149         * lib/unistr/u32-strlen.c: Likewise.
66150         * lib/unistr/u32-strmblen.c: Likewise.
66151         * lib/unistr/u32-strmbtouc.c: Likewise.
66152         * lib/unistr/u32-strncat.c: Likewise.
66153         * lib/unistr/u32-strncmp.c: Likewise.
66154         * lib/unistr/u32-strncpy.c: Likewise.
66155         * lib/unistr/u32-strnlen.c: Likewise.
66156         * lib/unistr/u32-strpbrk.c: Likewise.
66157         * lib/unistr/u32-strrchr.c: Likewise.
66158         * lib/unistr/u32-strspn.c: Likewise.
66159         * lib/unistr/u32-strstr.c: Likewise.
66160         * lib/unistr/u32-strtok.c: Likewise.
66161         * lib/unistr/u32-to-u16.c: Likewise.
66162         * lib/unistr/u32-to-u8.c: Likewise.
66163         * lib/unistr/u32-uctomb.c: Likewise.
66164         * lib/unistr/u8-check.c: Likewise.
66165         * lib/unistr/u8-chr.c: Likewise.
66166         * lib/unistr/u8-cmp.c: Likewise.
66167         * lib/unistr/u8-cpy-alloc.c: Likewise.
66168         * lib/unistr/u8-cpy.c: Likewise.
66169         * lib/unistr/u8-endswith.c: Likewise.
66170         * lib/unistr/u8-mblen.c: Likewise.
66171         * lib/unistr/u8-mbsnlen.c: Likewise.
66172         * lib/unistr/u8-mbtouc-aux.c: Likewise.
66173         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
66174         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
66175         * lib/unistr/u8-mbtouc.c: Likewise.
66176         * lib/unistr/u8-mbtoucr.c: Likewise.
66177         * lib/unistr/u8-move.c: Likewise.
66178         * lib/unistr/u8-next.c: Likewise.
66179         * lib/unistr/u8-prev.c: Likewise.
66180         * lib/unistr/u8-set.c: Likewise.
66181         * lib/unistr/u8-startswith.c: Likewise.
66182         * lib/unistr/u8-stpcpy.c: Likewise.
66183         * lib/unistr/u8-stpncpy.c: Likewise.
66184         * lib/unistr/u8-strcat.c: Likewise.
66185         * lib/unistr/u8-strchr.c: Likewise.
66186         * lib/unistr/u8-strcmp.c: Likewise.
66187         * lib/unistr/u8-strcpy.c: Likewise.
66188         * lib/unistr/u8-strcspn.c: Likewise.
66189         * lib/unistr/u8-strdup.c: Likewise.
66190         * lib/unistr/u8-strlen.c: Likewise.
66191         * lib/unistr/u8-strmblen.c: Likewise.
66192         * lib/unistr/u8-strmbtouc.c: Likewise.
66193         * lib/unistr/u8-strncat.c: Likewise.
66194         * lib/unistr/u8-strncmp.c: Likewise.
66195         * lib/unistr/u8-strncpy.c: Likewise.
66196         * lib/unistr/u8-strnlen.c: Likewise.
66197         * lib/unistr/u8-strpbrk.c: Likewise.
66198         * lib/unistr/u8-strrchr.c: Likewise.
66199         * lib/unistr/u8-strspn.c: Likewise.
66200         * lib/unistr/u8-strstr.c: Likewise.
66201         * lib/unistr/u8-strtok.c: Likewise.
66202         * lib/unistr/u8-to-u16.c: Likewise.
66203         * lib/unistr/u8-to-u32.c: Likewise.
66204         * lib/unistr/u8-uctomb-aux.c: Likewise.
66205         * lib/unistr/u8-uctomb.c: Likewise.
66206         * lib/unitypes.h: Likewise.
66207         * lib/uniwidth.h: Likewise.
66208         * lib/uniwidth/cjk.h: Likewise.
66209         * lib/uniwidth/u16-strwidth.c: Likewise.
66210         * lib/uniwidth/u16-width.c: Likewise.
66211         * lib/uniwidth/u32-strwidth.c: Likewise.
66212         * lib/uniwidth/u32-width.c: Likewise.
66213         * lib/uniwidth/u8-strwidth.c: Likewise.
66214         * lib/uniwidth/u8-width.c: Likewise.
66215         * lib/uniwidth/width.c: Likewise.
66216
66217 2007-10-07  Bruno Haible  <bruno@clisp.org>
66218
66219         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
66220         The file is still under LGPL (see modules/inttypes).
66221
66222 2007-10-06  Bruno Haible  <bruno@clisp.org>
66223
66224         * modules/trunc (Dependencies): Add 'extensions'.
66225         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
66226         Reported by Ben Pfaff <blp@gnu.org>.
66227
66228 2007-10-06  Bruno Haible  <bruno@clisp.org>
66229
66230         * modules/freopen-tests: New file.
66231         * tests/test-freopen.c: New file.
66232
66233         * modules/fopen-tests: New file.
66234         * tests/test-fopen.c: New file.
66235
66236         * modules/fopen: New file.
66237         * lib/fopen.c: New file.
66238         * m4/fopen.m4: New file.
66239         * modules/freopen: New file.
66240         * lib/freopen.c: New file.
66241         * m4/freopen.m4: New file.
66242         * lib/stdio.in.h (fopen, freopen): New declarations.
66243         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
66244         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66245         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
66246         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66247         * doc/functions/fopen.texi: Mention the 'fopen' module.
66248         * doc/functions/freopen.texi: Mention the 'freopen' module.
66249
66250 2007-10-06  Bruno Haible  <bruno@clisp.org>
66251
66252         * modules/open-tests: New file.
66253         * tests/test-open.c: New file.
66254
66255         * modules/open: New file.
66256         * lib/open.c: New file.
66257         * m4/open.m4: New file.
66258         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
66259         lib/open.c does.
66260         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
66261         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
66262         macros.
66263         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
66264         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
66265         REPLACE_OPEN.
66266         * doc/functions/open.texi: Mention the 'open' module.
66267
66268 2007-10-04  Bruno Haible  <bruno@clisp.org>
66269
66270         * modules/ceill-tests: New file.
66271         * tests/test-ceill.c: New file.
66272
66273         * modules/ceill: New file.
66274         * lib/ceill.c: Replace entire file.
66275         * m4/ceill.m4: New file.
66276         * lib/math.in.h (ceill): Replace declaration.
66277         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
66278         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
66279         * doc/functions/ceill.texi: Mention the 'ceill' module.
66280         * modules/mathl (Files): Remove lib/ceill.c.
66281         (Depends-on): Add ceill.
66282
66283 2007-10-04  Bruno Haible  <bruno@clisp.org>
66284
66285         * modules/ceilf-tests: New file.
66286         * tests/test-ceilf.c: New file.
66287
66288         * modules/ceilf: New file.
66289         * lib/ceil.c: New file.
66290         * lib/ceilf.c: New file.
66291         * m4/ceilf.m4: New file.
66292         * lib/math.in.h (ceilf): New declaration.
66293         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
66294         HAVE_DECL_CEILF.
66295         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
66296         HAVE_DECL_CEILF.
66297         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
66298
66299 2007-10-04  Bruno Haible  <bruno@clisp.org>
66300
66301         * modules/floorl-tests: New file.
66302         * tests/test-floorl.c: New file.
66303
66304         * modules/floorl: New file.
66305         * lib/floorl.c: Replace entire file.
66306         * m4/floorl.m4: New file.
66307         * lib/math.in.h (floorl): Replace declaration.
66308         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
66309         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
66310         * doc/functions/floorl.texi: Mention the 'floorl' module.
66311         * modules/mathl (Files): Remove lib/floorl.c.
66312         (Depends-on): Add floorl.
66313
66314 2007-10-04  Bruno Haible  <bruno@clisp.org>
66315
66316         * modules/floorf-tests: New file.
66317         * tests/test-floorf.c: New file.
66318
66319         * modules/floorf: New file.
66320         * lib/floor.c: New file.
66321         * lib/floorf.c: New file.
66322         * m4/floorf.m4: New file.
66323         * lib/math.in.h (floorf): New declaration.
66324         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
66325         HAVE_DECL_FLOORF.
66326         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
66327         HAVE_DECL_FLOORF.
66328         * doc/functions/floorf.texi: Mention the 'floorf' module.
66329
66330 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
66331             Bruno Haible  <bruno@clisp.org>
66332
66333         Advertise for the Git server instead of the CVS server.
66334         * doc/gnulib-intro.texi (Steady Development): Mention the Git
66335         repository instead of the CVS one.
66336         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
66337         about all VCS systems generically.
66338         * doc/gnulib.texi (Introduction): Capitalize `Git'.
66339
66340 2007-10-04  Bruno Haible  <bruno@clisp.org>
66341
66342         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
66343         means.
66344         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
66345
66346 2007-10-04  Bruno Haible  <bruno@clisp.org>
66347
66348         * modules/truncl-tests: New file.
66349         * tests/test-truncl.c: New file.
66350
66351         * modules/truncl: New file.
66352         * lib/truncl.c: New file.
66353         * m4/truncl.m4: New file.
66354         * lib/math.in.h (truncl): New declaration.
66355         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
66356         HAVE_DECL_TRUNCL.
66357         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
66358         HAVE_DECL_TRUNCL.
66359         * doc/functions/truncl.texi: Mention the 'truncl' module.
66360
66361 2007-10-04  Bruno Haible  <bruno@clisp.org>
66362
66363         * modules/truncf-tests: New file.
66364         * tests/test-truncf.c: New file.
66365
66366         * modules/truncf: New file.
66367         * lib/trunc.c: Make paramerizable through USE_* macros.
66368         * lib/truncf.c: New file.
66369         * m4/truncf.m4: New file.
66370         * lib/math.in.h (truncf): New declaration.
66371         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
66372         HAVE_DECL_TRUNCF.
66373         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
66374         HAVE_DECL_TRUNCF.
66375         * doc/functions/truncf.texi: Mention the 'truncf' module.
66376
66377 2007-10-03  Bruno Haible  <bruno@clisp.org>
66378
66379         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
66380         augmentation also for tests modules.
66381         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
66382         * modules/atexit-tests (Makefile.am): Likewise.
66383         * modules/binary-io-tests (Makefile.am): Likewise.
66384         * modules/c-strcase-tests (Makefile.am): Likewise.
66385         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
66386         * modules/canonicalize-tests (Makefile.am): Likewise.
66387         * modules/closein-tests (Makefile.am): Likewise.
66388         * modules/fprintf-posix-tests (Makefile.am): Likewise.
66389         * modules/freadahead-tests (Makefile.am): Likewise.
66390         * modules/fseek-tests (Makefile.am): Likewise.
66391         * modules/fseeko-tests (Makefile.am): Likewise.
66392         * modules/ftell-tests (Makefile.am): Likewise.
66393         * modules/ftello-tests (Makefile.am): Likewise.
66394         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
66395         * modules/isnanl-tests (Makefile.am): Likewise.
66396         * modules/lseek-tests (Makefile.am): Likewise.
66397         * modules/mbscasecmp-tests (Makefile.am): Likewise.
66398         * modules/mbscasestr-tests (Makefile.am): Likewise.
66399         * modules/mbschr-tests (Makefile.am): Likewise.
66400         * modules/mbscspn-tests (Makefile.am): Likewise.
66401         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
66402         * modules/mbspbrk-tests (Makefile.am): Likewise.
66403         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
66404         * modules/mbsrchr-tests (Makefile.am): Likewise.
66405         * modules/mbsspn-tests (Makefile.am): Likewise.
66406         * modules/mbsstr-tests (Makefile.am): Likewise.
66407         * modules/printf-posix-tests (Makefile.am): Likewise.
66408         * modules/snprintf-posix-tests (Makefile.am): Likewise.
66409         * modules/sprintf-posix-tests (Makefile.am): Likewise.
66410         * modules/tsearch-tests (Makefile.am): Likewise.
66411         * modules/uniname/uniname-tests (Makefile.am): Likewise.
66412         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
66413         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
66414         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
66415         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
66416         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
66417         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
66418         * modules/vprintf-posix-tests (Makefile.am): Likewise.
66419         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
66420         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
66421         * modules/xstrtoimax-tests (Makefile.am): Likewise.
66422         * modules/xstrtol-tests (Makefile.am): Likewise.
66423         * modules/xstrtoumax-tests (Makefile.am): Likewise.
66424         * modules/yesno-tests (Makefile.am): Likewise.
66425
66426 2007-10-03  Bruno Haible  <bruno@clisp.org>
66427
66428         * modules/trunc-tests: New file.
66429         * tests/test-trunc.c: New file.
66430
66431         * modules/trunc: New file.
66432         * lib/trunc.c: New file.
66433         * m4/trunc.m4: New file.
66434         * lib/math.in.h (trunc): New declaration.
66435         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
66436         HAVE_DECL_TRUNC.
66437         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
66438         HAVE_DECL_TRUNC.
66439         * doc/functions/trunc.texi: Mention the 'trunc' module.
66440
66441 2007-10-03  Bruno Haible  <bruno@clisp.org>
66442
66443         * tests/test-fpending.c: New file, mostly copied
66444         from coreutils/lib/t-fpending.c.
66445         * modules/fpending-tests: New file.
66446
66447 2007-10-03  Bruno Haible  <bruno@clisp.org>
66448
66449         Port the stdio extensions to QNX (untested).
66450         * lib/fseterr.c (fseterr): Add support for QNX.
66451         * lib/fbufmode.c (fbufmode): Likewise.
66452         * lib/freadable.c (freadable): Likewise.
66453         * lib/fwritable.c (fwritable): Likewise.
66454         * lib/freading.c (freading): Likewise.
66455         * lib/fwriting.c (fwriting): Likewise.
66456         * lib/freadahead.c (freadahed): Likewise.
66457         * lib/fpurge.c (fpurge): Likewise.
66458         * lib/fseeko.c (rpl_fseeko): Likewise.
66459
66460 2007-10-03  Bruno Haible  <bruno@clisp.org>
66461             Jim Meyering  <jim@meyering.net>
66462             Eric Blake  <ebb9@byu.net>
66463
66464         * doc/relocatable.texi: Use @command instead of @program.
66465
66466 2007-10-02  Jim Meyering  <jim@meyering.net>
66467
66468         Perform one more "_.h" -> ".in.h" substitution.
66469         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
66470         instead of unistd_.h here, too.
66471
66472 2007-10-01  Bruno Haible  <bruno@clisp.org>
66473
66474         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
66475         Needed for the alloca-opt module.
66476
66477 2007-09-30  Bruno Haible  <bruno@clisp.org>
66478
66479         * lib/alloca.in.h: Renamed from lib/alloca_.h.
66480         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
66481         alloca_.h.
66482         * lib/argz.in.h: Renamed from lib/argz_.h.
66483         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
66484         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
66485         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
66486         byteswap_.h.
66487         * lib/dirent.in.h: Renamed from lib/dirent_.h.
66488         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
66489         dirent_.h.
66490         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
66491         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
66492         fcntl_.h.
66493         * lib/float.in.h: Renamed from lib/float_.h.
66494         * modules/float (Files, Makefile.am): Use float.in.h instead of
66495         float_.h.
66496         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
66497         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
66498         fnmatch_.h.
66499         * lib/getopt.in.h: Renamed from lib/getopt_.h.
66500         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
66501         getopt_.h.
66502         * lib/glob.in.h: Renamed from lib/glob_.h.
66503         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
66504         * lib/iconv.in.h: Renamed from lib/iconv_.h.
66505         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
66506         iconv_.h.
66507         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
66508         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
66509         inttypes_.h.
66510         * lib/locale.in.h: Renamed from lib/locale_.h.
66511         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
66512         locale_.h.
66513         * lib/math.in.h: Renamed from lib/math_.h.
66514         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
66515         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
66516         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
66517         of netinet_in_.h. Add dependency.
66518         * lib/poll.in.h: Renamed from lib/poll_.h.
66519         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
66520         * lib/search.in.h: Renamed from lib/search_.h.
66521         * modules/search (Files, Makefile.am): Use search.in.h instead of
66522         search_.h.
66523         * lib/signal.in.h: Renamed from lib/signal_.h.
66524         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
66525         _signal.h.
66526         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
66527         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
66528         stdbool_.h.
66529         * lib/stdint.in.h: Renamed from lib/stdint_.h.
66530         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
66531         stdint_.h.
66532         * lib/stdio.in.h: Renamed from lib/stdio_.h.
66533         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
66534         stdio_.h.
66535         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
66536         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
66537         stdlib_.h.
66538         * lib/string.in.h: Renamed from lib/string_.h.
66539         * modules/string (Files, Makefile.am): Use string.in.h instead of
66540         string_.h.
66541         * doc/gnulib-tool.texi (Initial import): Update.
66542         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
66543         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
66544         of sys_select_.h. Add dependency.
66545         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
66546         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
66547         of sys_socket_.h.
66548         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
66549         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
66550         sys_stat_.h.
66551         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
66552         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
66553         sys_time_.h.
66554         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
66555         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
66556         sysexits_.h.
66557         * lib/time.in.h: Renamed from lib/time_.h.
66558         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
66559         * lib/unistd.in.h: Renamed from lib/unistd_.h.
66560         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
66561         unistd_.h.
66562         * lib/wchar.in.h: Renamed from lib/wchar_.h.
66563         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
66564         wchar_.h.
66565         * lib/wctype.in.h: Renamed from lib/wctype_.h.
66566         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
66567         wctype_.h.
66568         * build-aux/bootstrap (slurp): Update.
66569         * lib/.cppi-disable: Update.
66570
66571 2007-09-30  Bruno Haible  <bruno@clisp.org>
66572
66573         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
66574         Needed on BeOS.
66575
66576 2007-09-30  Bruno Haible  <bruno@clisp.org>
66577
66578         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
66579
66580 2007-09-29  Bruno Haible  <bruno@clisp.org>
66581
66582         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
66583
66584 2007-09-29  Bruno Haible  <bruno@clisp.org>
66585
66586         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
66587         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
66588         * build-aux/install-reloc: Compile also areadlink.c.
66589         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
66590
66591 2007-09-29  Bruno Haible  <bruno@clisp.org>
66592
66593         * gnulib-tool (func_emit_initmacro_done): Indentation.
66594
66595 2007-09-29  Bruno Haible  <bruno@clisp.org>
66596
66597         * README: Add CVS checkout update instructions.
66598         Info from Bob Proulx <bob@proulx.com>.
66599
66600 2007-09-28  Eric Blake  <ebb9@byu.net>
66601
66602         Provide move-if-change.
66603         * build-aux/move-if-change: New file, based on best practice
66604         rather than any canonical upstream location.
66605
66606 2007-09-28  Jim Meyering  <jim@meyering.net>
66607
66608         Fix canonicalize loop-detection corner case.
66609         Do not attempt to stat the symlink values stored via seen_triple.
66610         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
66611         on linux-2.6.18, (but not 2.6.22).
66612         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
66613         triple_compare.  The former compares dev,ino,filename, while the latter
66614         would actually stat dirname(filename) when dev and ino were equal.
66615         * lib/hash-triple.c: Install <string.h>.
66616         (STREQ): Define.
66617         (triple_compare_ino_str): New function.
66618         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
66619
66620 2007-09-28  Eric Blake  <ebb9@byu.net>
66621
66622         Enforce that AC_REPLACE_FUNCS files exist.
66623         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
66624         override check for typos.
66625
66626         Fix test-closein on Solaris 10.
66627         * tests/test-closein.c (main): Don't assume stdin can be inherited
66628         closed on all systems.
66629         * tests/test-closein.sh: Likewise.
66630         Reported by Piotr Tarnowski.
66631
66632 2007-09-28  Jim Meyering  <jim@meyering.net>
66633
66634         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
66635
66636 2007-09-27  Jim Meyering  <jim@meyering.net>
66637
66638         canonicalize: Avoid a false-positive cycle failure.
66639         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
66640         Sort.  Remove cycle-check.
66641         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
66642         not cycle-check.h.
66643         (seen_triple): New function.
66644         (canonicalize_filename_mode): Use it instead of cycle-check.
66645         * tests/test-canonicalize.c: Add a test for this bug.
66646         * tests/test-canonicalize.sh: Set up and run the test.
66647
66648         New module, file-set, from coreutils.
66649         * modules/file-set: Define it.
66650         * lib/file-set.c, lib/file-set.h: Implement.
66651
66652         New module, hash-triple, from coreutils.
66653         * modules/hash-triple: Define it.
66654         * lib/hash-triple.c, lib/hash-triple.h: Implement.
66655
66656 2007-09-25  Eric Blake  <ebb9@byu.net>
66657
66658         Fix strerror on Interix.
66659         * lib/string_.h (strerror): Declare replacement.
66660         * doc/functions/strerror.texi (strerror): Document the Interix
66661         shortcoming.
66662         * modules/string (Makefile.am): Support new hooks.
66663         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
66664         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
66665         gl_FUNC_STRERROR_SEPARATE.
66666         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
66667         * lib/strerror.c (rpl_strerror): Provide replacement.
66668         * modules/strerror (Depends-on): Add string.
66669         (configure.ac): Detect use of module.
66670         * tests/test-strerror.c: New file.
66671         * modules/strerror-tests: New test module.
66672         * modules/argp (Depends-on): Add strerror.
66673         * modules/error (Depends-on): Likewise.
66674         Reported by Martin Koeppe.
66675
66676 2007-09-24  Bruno Haible  <bruno@clisp.org>
66677
66678         * README: Update git instructions.
66679
66680 2007-09-24  Eric Blake  <ebb9@byu.net>
66681
66682         Revert fpending breakage from 2007-09-08.
66683         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
66684         __fpending.c.
66685
66686 2007-09-24  Jim Meyering  <jim@meyering.net>
66687
66688         filenamecat.c: Add a test.
66689         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
66690         showing how the function works when DIR is the empty string.
66691
66692 2007-09-21  Simon Josefsson  <simon@josefsson.org>
66693
66694         * tests/test-canonicalize.sh: Turn on executable bit.
66695
66696 2007-09-19  Eric Blake  <ebb9@byu.net>
66697
66698         * README: Update CVS instructions.
66699
66700 2007-09-18  Bruno Haible  <bruno@clisp.org>
66701
66702         * modules/areadlink: New file.
66703         * lib/areadlink.h (areadlink): New declaration.
66704         * lib/areadlink.c: New file, based on lib/xreadlink.c.
66705
66706 2007-09-17  Jim Meyering  <jim@meyering.net>
66707
66708         * lib/savewd.c (ESTALE) [!defined]: Define.
66709         Reported to be required on Interix by Martin Koeppe.
66710
66711 2007-09-17  Bruno Haible  <bruno@clisp.org>
66712
66713         * gnulib-tool (func_version): Use $version.
66714
66715 2007-09-16  Bruno Haible  <bruno@clisp.org>
66716
66717         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
66718         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
66719         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
66720         Reported by Greg Schafer <gschafer@zip.com.au>.
66721
66722 2007-09-15  Bruno Haible  <bruno@clisp.org>
66723
66724         * gnulib-tool (sed): Try a little harder to make bash understand the
66725         alias.
66726         Reported by Bruce Korb <bruce.korb@gmail.com>.
66727
66728 2007-09-13  Eric Blake  <ebb9@byu.net>
66729
66730         * ChangeLog: Remove conflict markers.
66731
66732 2007-09-13  Simon Josefsson  <simon@josefsson.org>
66733
66734         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
66735         Reported by Bruno Haible <bruno@clisp.org>.
66736
66737 2007-09-12  Bruno Haible  <bruno@clisp.org>
66738
66739         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
66740         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
66741         is not defined.
66742
66743 2007-09-12  Eric Blake  <ebb9@byu.net>
66744
66745         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
66746         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
66747         Autoconf definition.
66748         * modules/euidaccess (Depends-on): Add extensions, for
66749         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
66750         * modules/fnmatch (Depends-on): Likewise.
66751         * modules/getaddrinfo (Depends-on): Likewise.
66752         * modules/getdelim (Depends-on): Likewise.
66753         * modules/getline (Depends-on): Likewise.
66754         * modules/getsubopt (Depends-on): Likewise.
66755         * modules/gettext (Depends-on): Likewise.
66756         * modules/group-member (Depends-on): Likewise.
66757         * modules/mbchar (Depends-on): Likewise.
66758         * modules/memmem (Depends-on): Likewise.
66759         * modules/mempcpy (Depends-on): Likewise.
66760         * modules/memrchr (Depends-on): Likewise.
66761         * modules/pagealign_alloc (Depends-on): Likewise.
66762         * modules/readutmp (Depends-on): Likewise.
66763         * modules/stpcpy (Depends-on): Likewise.
66764         * modules/stpncpy (Depends-on): Likewise.
66765         * modules/strchrnul (Depends-on): Likewise.
66766         * modules/strndup (Depends-on): Likewise.
66767         * modules/strsep (Depends-on): Likewise.
66768         * modules/strverscmp (Depends-on): Likewise.
66769         * modules/vasprintf (Depends-on): Likewise.
66770         * modules/wcwidth (Depends-on): Likewise.
66771         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
66772         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
66773         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
66774         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
66775         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
66776         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
66777         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
66778         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
66779         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
66780         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
66781         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
66782         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66783         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66784         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
66785         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
66786         * m4/readutmp.m4 (gl_READUTMP): Likewise.
66787         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66788         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66789         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66790         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66791         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66792         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66793         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66794         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
66795         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
66796         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66797         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
66798         so that lock.m4 can be used in gettext without extensions module.
66799
66800 2007-09-11  Bruno Haible  <bruno@clisp.org>
66801
66802         * m4/isc-posix.m4: Remove file.
66803         Suggested by Eric Blake.
66804
66805 2007-09-11  Eric Blake  <ebb9@byu.net>
66806
66807         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
66808
66809 2007-09-10  Bruno Haible  <bruno@clisp.org>
66810
66811         * posix-modules: Fix typo in error message.
66812         Reported by Matt <mkraai@beckman.com>.
66813
66814 2007-09-09  Bruno Haible  <bruno@clisp.org>
66815
66816         * doc/functions/getdelim.texi: Update list of platforms lacking the
66817         function.
66818         * doc/functions/getline.texi: Likewise.
66819
66820 2007-09-09  Jim Meyering  <jim@meyering.net>
66821
66822         * lib/hash.c (hash_initialize): Detect calloc failure.
66823         Reported by Bruno Haible.
66824
66825 2007-09-09  Bruno Haible  <bruno@clisp.org>
66826
66827         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
66828         malloc or realloc fails.
66829
66830 2007-09-09  Bruno Haible  <bruno@clisp.org>
66831
66832         * modules/getcwd (Depends-on): Add malloc-posix.
66833         * modules/glob (Depends-on): Likewise.
66834         * modules/putenv (Depends-on): Likewise.
66835         * modules/strdup (Depends-on): Likewise.
66836         * modules/getdelim (Depends-on): Add realloc-posix.
66837         * modules/read-file (Depends-on): Likewise.
66838
66839 2007-09-09  Bruno Haible  <bruno@clisp.org>
66840
66841         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
66842         (gl_FUNC_MALLOC_POSIX): Require it.
66843         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
66844         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
66845         * modules/realloc (Files): Add m4/malloc.m4.
66846         * modules/calloc (Files): Likewise.
66847
66848 2007-09-09  Bruno Haible  <bruno@clisp.org>
66849
66850         * modules/malloc-posix: New file.
66851         * modules/malloc (Depends-on): Add malloc-posix.
66852         * lib/malloc.c: Include errno.h.
66853         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
66854         and a POSIX-compatible malloc into a single function. Set ENOMEM
66855         when returning NULL.
66856         * m4/malloc.m4: New file.
66857         * doc/functions/malloc.texi: Mention the malloc-posix module.
66858         * lib/stdlib_.h (malloc): New declaration.
66859         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66860         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
66861         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
66862         and HAVE_MALLOC_POSIX.
66863
66864 2007-09-09  Bruno Haible  <bruno@clisp.org>
66865
66866         * modules/realloc-posix: New file.
66867         * modules/realloc (Depends-on): Add realloc-posix.
66868         * lib/realloc.c: Include errno.h.
66869         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
66870         and a POSIX-compatible realloc into a single function. Set ENOMEM
66871         when returning NULL.
66872         * m4/realloc.m4: New file.
66873         * doc/functions/realloc.texi: Mention the realloc-posix module.
66874         * lib/stdlib_.h (realloc): New declaration.
66875         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66876         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
66877         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
66878         and HAVE_REALLOC_POSIX.
66879
66880 2007-09-09  Bruno Haible  <bruno@clisp.org>
66881
66882         * modules/calloc-posix: New file.
66883         * modules/calloc (Depends-on): Add calloc-posix.
66884         * lib/calloc.c: Include errno.h.
66885         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
66886         and a POSIX-compatible calloc into a single function. Set ENOMEM
66887         when returning NULL.
66888         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
66889         * doc/functions/calloc.texi: Mention the calloc-posix module.
66890         * lib/stdlib_.h (calloc): New declaration.
66891         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66892         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
66893         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
66894         and HAVE_CALLOC_POSIX.
66895
66896 2007-09-09  Bruno Haible  <bruno@clisp.org>
66897
66898         Allow for modules to show an arbitrary notice.
66899         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
66900         * gnulib-tool: New option --extract-notice.
66901         (func_usage): Document it.
66902         (sed_extract_prog): Update.
66903         (func_get_notice): New function.
66904         (func_modules_notice): New function.
66905         (func_import, func_create_testdir): Invoke it.
66906         Suggested by Jim Meyering.
66907
66908 2007-09-09  Bruno Haible  <bruno@clisp.org>
66909
66910         * gnulib-tool: New options --verbose, --quiet.
66911         (func_usage): Document them.
66912         (verbose): New variable.
66913         (func_execute_command): New function.
66914         (func_import): Don't show the module list and the file list if
66915         $verbose < 0.
66916         (func_create_testdir): Likewise. Use func_execute_command.
66917         (func_create_megatestdir): Use func_execute_command.
66918
66919 2007-09-08  Bruno Haible  <bruno@clisp.org>
66920
66921         * gnulib-tool (func_import): Prefer rsync over wget when available,
66922         for fetching the PO files.
66923
66924 2007-09-08  Bruno Haible  <bruno@clisp.org>
66925
66926         * posix-modules: New file. Portions copied from gnulib-tool.
66927         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
66928
66929 2007-09-08  Jim Meyering  <jim@meyering.net>
66930
66931         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
66932         * lib/fpending.h: Rename from __fpending.h.
66933         * lib/fpending.c: Rename from __fpending.c.
66934         Include "fpending.h", not "__fpending.h".
66935         * lib/__fpending.h, lib/__fpending.c: Remove files.
66936         * modules/fpending (Files): Reflect new file names.
66937         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
66938
66939 2007-09-08  Bruno Haible  <bruno@clisp.org>
66940
66941         * m4/inttypes-h.m4: Remove stub file.
66942
66943 2007-09-07  Simon Josefsson  <simon@josefsson.org>
66944
66945         * doc/headers/stdint.texi: Discuss #include_next issue.
66946
66947 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
66948
66949         * build-aux/bootstrap: Remove obsolete comment about wget --help.
66950
66951 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66952
66953         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
66954         in variable name.
66955
66956 2007-09-03  Jim Meyering  <jim@meyering.net>
66957
66958         New module: git-version-gen.
66959         * modules/git-version-gen: New file.
66960
66961         Import changes from coreutils for bootstrap script.
66962
66963         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
66964
66965         bootstrap: uses rsync to download the .po files
66966         * build-aux/bootstrap (po_download_command_format): New global.
66967         (download_po_files): Use rsync.
66968         (update_po_files): Don't remove .po files after download,
66969         so future rsync runs can take advantage of the copies.
66970
66971         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
66972
66973         Solve the unnecessary-.po-file-regeneration problem once and for all.
66974         * build-aux/bootstrap (download_po_files): New function, renamed from
66975         get_translations.  Now, downloads, but doesn't update LINGUAS.
66976         (update_po_files): New function.
66977
66978         bootstrap: Ignore more.
66979         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
66980         uniwidth to e.g., lib/.gitignore.
66981         (slurp): Handle the sys_stat_.h -> sys mapping, too.
66982
66983         * build-aux/bootstrap: New setting: vc_ignore.
66984         (insert_sorted_if_absent): Create $file if absent.
66985         Adapt to new, possibly empty, list: $vc_ignore.
66986
66987         bootstrap: generate more ignorable names
66988         * build-aux/bootstrap (slurp): When generating ignorable names,
66989         also map .sin to .sed, .gperf to .c, and .y to .c.
66990
66991 2007-09-03  Jim Meyering  <jim@meyering.net>
66992
66993         * build-aux/git-version-gen: New file, from coreutils.  For details, see
66994         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
66995
66996 2007-09-02  Bruno Haible  <bruno@clisp.org>
66997
66998         Fix mis-recognition of 'mcs' on QNX 6.
66999         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
67000         output contains the string "Mono".
67001         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
67002         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
67003
67004 2007-09-01  Bruno Haible  <bruno@clisp.org>
67005
67006         Fix collision between uniwidth/* and linebreak modules.
67007         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
67008         u32_width): Remove declarations.
67009         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
67010         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
67011         streq3, streq2, streq1, streq0): Remove functions.
67012         (STREQ): Remove macro.
67013         (is_cjk_encoding): Remove function.
67014         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
67015         (uc_width, u8_width, u16_width, u32_width): Remove functions.
67016         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
67017         * NEWS: Document the change.
67018
67019 2007-09-01  Bruno Haible  <bruno@clisp.org>
67020
67021         * lib/streq.h: Add double-inclusion guard.
67022
67023 2007-09-01  Karl Berry  <karl@gnu.org>
67024
67025         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
67026
67027 2007-08-28  Jim Meyering  <jim@meyering.net>
67028
67029         Rename mreadlink_with_size to areadlink_with_size.
67030         * NEWS: Document the change.
67031         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
67032         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
67033         * lib/mreadlink.h: Rename this to...
67034         * lib/areadlink.h: ...this.
67035         * modules/mreadlink-with-size: Rename this to...
67036         * modules/areadlink-with-size: ...this.
67037         * lib/canonicalize.c: Reflect the renaming.
67038         * modules/canonicalize: Likewise.
67039
67040 2007-08-26  Bruno Haible  <bruno@clisp.org>
67041
67042         * gnulib-tool (func_import): When deciding which files to remove,
67043         consider also dangling symbolic links.
67044         Reported by Eric Blake.
67045
67046 2007-08-26  Bruno Haible  <bruno@clisp.org>
67047
67048         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
67049
67050 2007-08-23  Simon Josefsson  <simon@josefsson.org>
67051
67052         * lib/readline.c: Don't include getline.h, the prototype is now
67053         found in stdio.h.
67054
67055 2007-08-23  Jim Meyering  <jim@meyering.net>
67056
67057         Getdelim touchup.
67058         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
67059         around the funlockfile call, since funlockfile never sets errno.
67060         Don't set errno upon failed realloc.
67061
67062 2007-08-22  Eric Blake  <ebb9@byu.net>
67063
67064         Getline touchups.
67065         * lib/getdelim.c (getdelim): Revert regression that required *n to
67066         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
67067         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
67068         getdelim, rather than whether implementation is missing.
67069         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
67070         * lib/stdio_.h (getline): Also declare if replacement is
67071         required.
67072         * doc/functions/getdelim.texi: New file.
67073         * doc/functions/getline.texi: Likewise.
67074         * doc/gnulib.texi (Function Substitutes): Add new files.
67075         Reported by Bruno Haible.
67076
67077 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
67078
67079         * users.txt: Add Guile.
67080
67081 2007-08-22  Eric Blake  <ebb9@byu.net>
67082
67083         * tests/test-getdelim.c (main): Use remove, not unlink.
67084         * tests/test-getline.c (main): Likewise.
67085
67086         Move getline and getdelim into stdio.h, per POSIX 200x.
67087         * modules/getline (Files): Remove getline.h.
67088         (Depends-on): Add stdio.
67089         (configure.ac): Add module indicator.
67090         * modules/getdelim (Files): Remove getdelim.h.
67091         (Depends-on): Add stdio.
67092         (configure.ac): Add module indicator.
67093         * modules/stdio (Makefile.am): Work with new indicators.
67094         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
67095         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
67096         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67097         * lib/getdelim.h: Delete.
67098         * lib/getline.h: Delete.
67099         * lib/stdio_.h (getdelim, getline): Declare.
67100         * modules/getdelim-tests: New module.
67101         * modules/getline-tests: Likewise.
67102         * tests/test-getdelim.c: New file.
67103         * tests/test-getline.c: Likewise.
67104         * NEWS: Document the change.
67105         * lib/getline.c: Update choice of header.
67106         * lib/csharpcomp.c: Likewise.
67107         * lib/getpass.c: Likewise.
67108         * lib/javacomp.c: Likewise.
67109         * lib/javaversion.c: Likewise.
67110         * lib/yesno.c: Likewise.
67111         * lib/getdelim.c: Likewise.
67112         (getdelim): Set errno on failure, and avoid memory leak.
67113
67114 2007-08-19  Bruno Haible  <bruno@clisp.org>
67115
67116         * modules/closein (Depends-on): Add freadahead.
67117         * lib/closein.c: Include freadahead.h.
67118         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
67119         is zero.
67120
67121 2007-08-19  Bruno Haible  <bruno@clisp.org>
67122
67123         * modules/freadahead-tests: New file.
67124         * tests/test-freadahead.sh: New file.
67125         * tests/test-freadahead.c: New file.
67126
67127         * modules/freadahead: New file.
67128         * lib/freadahead.h: New file.
67129         * lib/freadahead.c: New file.
67130         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
67131         fbufmode, fpurge, freadable, fwritable.
67132
67133 2007-08-19  Eric Blake  <ebb9@byu.net>
67134
67135         Test yesno in combination with closein.
67136         * lib/yesno.c (yesno): Document use of stdin.
67137         * modules/yesno-tests (Files): New module.
67138         * tests/test-yesno.c (main): New file.
67139         * tests/test-yesno.sh: Likewise.
67140
67141 2007-08-19  Bruno Haible  <bruno@clisp.org>
67142
67143         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
67144         * lib/fseeko.c (rpl_fseeko): Likewise.
67145         * lib/fseterr.c (fseterr): Likewise.
67146
67147 2007-08-19  Bruno Haible  <bruno@clisp.org>
67148
67149         * tests/test-lseek.c (main): Disable a test for BeOS.
67150         * doc/functions/lseek.texi: Document the BeOS bug.
67151
67152 2007-08-19  Bruno Haible  <bruno@clisp.org>
67153             Eric Blake  <ebb9@byu.net>
67154
67155         * lib/lseek.c: Include <sys/stat.h>.
67156         (rpl_lseek): Add workaround code also for Unix platforms.
67157         Needed for BeOS.
67158         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
67159         * doc/functions/lseek.texi: Document BeOS definiency.
67160
67161 2007-08-18  Bruno Haible  <bruno@clisp.org>
67162
67163         * modules/fstrcmp-tests: New file.
67164         * tests/test-fstrcmp.c: New file.
67165
67166 2007-08-18  Bruno Haible  <bruno@clisp.org>
67167
67168         * modules/fstrcmp: New file, from GNU gettext with modifications.
67169         * lib/fstrcmp.h: New file, from GNU gettext.
67170         * lib/fstrcmp.c: New file, from GNU gettext.
67171         * MODULES.html.sh (String handling): Add fstrcmp.
67172
67173 2007-08-18  Bruno Haible  <bruno@clisp.org>
67174
67175         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
67176         'bool'.
67177         (diag, compareseq): Remove const from the ctxt argument.
67178         (USE_HEURISTIC): Undefine at the end.
67179
67180 2007-08-18  Jim Meyering  <jim@meyering.net>
67181
67182         New file: lib/idcache.h
67183         * NEWS: Mention the addition.
67184         * modules/idcache (Files): Add lib/idcache.h
67185         * lib/idcache.c: Include "idcache.h".
67186         Don't include <sys/types.h>.
67187         Add a FIXME comment.
67188         Move file-scoped "static" declarations to the top.
67189         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
67190
67191 2007-08-17  Bruno Haible  <bruno@clisp.org>
67192         and Paul Eggert  <eggert@cs.ucla.edu>
67193
67194         * MODULES.html.sh: Add diffseq.
67195         * modules/diffseq: New file.
67196         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
67197         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
67198
67199 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67200
67201         Import changes from coreutils for bootstrap script.
67202
67203         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
67204
67205         * build-aux/bootstrap (slurp): Work even in environments where
67206         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
67207         current code does not slurp files whose names start with ".", and
67208         this looks like it might be a troublesome area.
67209
67210         2007-07-11  Jim Meyering  <jim@meyering.net>
67211
67212         If there's a GPL vN copyright comment, require that N == 3.
67213
67214         2007-07-08  Jim Meyering  <jim@meyering.net>
67215
67216         Run the coreutils-specific code only if tests/Makefile.am.in exists.
67217         * build-aux/bootstrap (mam_template): Move definition out of loop.
67218
67219         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
67220
67221         * build-aux/bootstrap (symlink_to_dir): Rename function from
67222         symlink_to_gnulib.  Add a directory parameter.  Update all
67223         callers.
67224         (cp_mark_as_generated): Also check for -- and link to -- files in
67225         gl/.
67226
67227         2007-07-08  Jim Meyering  <jim@meyering.net>
67228
67229         Adapt to deeper hierarchy in gnulib.
67230         * build-aux/bootstrap (symlink_to_dir): If the destination
67231         directory doesn't exist, create it. This is required at least for
67232         "lib/uniwidth/cjk.h".
67233
67234         2007-05-15  Jim Meyering  <jim@meyering.net>
67235
67236         * build-aux/bootstrap: Now that generated Makefile.am files
67237         are no longer under version control, they must be created at
67238         bootstrap time.
67239
67240 2007-08-14  Ben Pfaff  <blp@gnu.org>
67241
67242         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
67243
67244 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67245
67246         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
67247         given the changes below.
67248         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
67249         even on hosts that have padding bits beyond the supported 64.
67250
67251 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67252
67253         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
67254         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
67255         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
67256         depends on it.
67257         (xstrtol_error): Remove.
67258         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
67259         but with a different signature.
67260         (ATTRIBUTE_NORETURN, __attribute__): New macros.
67261         * lib/xstrtol-error.c: Include exitfail.h.
67262         (xstrtol_fatal): New function, with a different signature from the
67263         old xstrtol_error, so that the caller need not worry about passing
67264         in an exit status, or about storage management of the option argument.
67265         (xstrtol_error): Now a static function.  Redo signature to
67266         implement xstrtol_fatal.  Output the correct number of hyphens in
67267         front of the option so that the caller need not worry about
67268         storage management.
67269         (N_): New macro.
67270         (_): Remove; not used now.
67271         * modules/xstrtol: Depend on getopt.
67272         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
67273         of old STRTOL_FATAL_ERROR macro.
67274         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
67275         of test program.
67276         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
67277         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
67278
67279 2007-08-08  Eric Blake  <ebb9@byu.net>
67280
67281         * lib/xstrtol-error.c: Add missing include.
67282
67283         Move xstrtol messages into gnulib domain, when --pobase is used.
67284         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
67285         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
67286         * modules/xstrtol (Files): Distribute new file.
67287         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
67288         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
67289         * tests/test-xstrtol.c: ...into new file.
67290         * tests/test-xstrtoul.c: Also test xstrtoul.
67291         * tests/test-xstrtoimax.c: Also test xstrtoimax.
67292         * tests/test-xstrtoumax.c: Also test xstrtoumax.
67293         * tests/test-xstrtol.sh: Drive the tests.
67294         * tests/test-xstrtoimax.sh: Likewise.
67295         * tests/test-xstrtoumax.sh: Likewise.
67296         * modules/xstrtol-tests: New module.
67297         * modules/xstrtoimax-tests: Likewise.
67298         * modules/xstrtoumax-tests: Likewise.
67299
67300 2007-08-08  Jim Meyering  <jim@meyering.net>
67301
67302         New function: mfile_name_concat.
67303         * lib/filenamecat.c (mfile_name_concat): New function, just like
67304         file_name_concat, but return NULL upon failure rather than exiting
67305         with a diagnostic.
67306         * lib/filenamecat.h: Declare it.
67307
67308 2007-08-07  Bruno Haible  <bruno@clisp.org>
67309
67310         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
67311         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
67312         warning from gcc.
67313         Reported by Eric Blake.
67314
67315 2007-08-07  Simon Josefsson  <simon@josefsson.org>
67316
67317         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
67318         * modules/crypto/arcfour (License): Likewise.
67319         * modules/crypto/des-tests (License): Likewise.
67320         * modules/crypto/gc-arctwo-tests (License): Likewise.
67321         * modules/crypto/gc-des-tests (License): Likewise.
67322         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
67323         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
67324         * modules/crypto/gc-md2-tests (License): Likewise.
67325         * modules/crypto/gc-md4-tests (License): Likewise.
67326         * modules/crypto/gc-md5-tests (License): Likewise.
67327         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
67328         * modules/crypto/gc-rijndael-tests (License): Likewise.
67329         * modules/crypto/gc-sha1-tests (License): Likewise.
67330         * modules/crypto/gc-tests (License): Likewise.
67331         * modules/crypto/hmac-md5 (License): Likewise.
67332         * modules/crypto/hmac-sha1 (License): Likewise.
67333         * modules/crypto/md2-tests (License): Likewise.
67334         * modules/crypto/md4-tests (License): Likewise.
67335         * modules/crypto/md5 (License): Likewise.
67336         * modules/crypto/rijndael (License): Likewise.
67337         * modules/crypto/sha1 (License): Likewise.
67338         * modules/memxor (License): Likewise.
67339
67340 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67341         and Bruno Haible  <bruno@clisp.org>
67342
67343         * NEWS: Describe interface changes to human, xstrtol.
67344         * lib/human.h: Include <xstrtol.h>.
67345         (human_options): Return enum strtol_error, not int.  Remove
67346         bool arg; take int * instead.
67347         * lib/human.c: Don't include "gettext.h".
67348         (_): Remove; no longer used.
67349         Don't include <xstrtol.h>, since human.h does it.
67350         (human_options): Adjust to abovementioned interface changes.
67351         Do not report error to stderr; that's now the caller's
67352         responsibility.
67353         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
67354         interface change.
67355         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
67356         Str, Argument_type_string.  All uses changed.  Put " argument"
67357         in diagnostics to make them clearer.  Change wording of suffix
67358         message for clarity.
67359         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
67360         Argument_type_string.
67361         (STRTOL_FATAL_WARN): Remove; no longer used.
67362         * modules/human (Depends-on): Remove gettext-h.
67363
67364 2007-08-06  Simon Josefsson  <simon@josefsson.org>
67365
67366         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
67367
67368 2007-07-31  Bruno Haible  <bruno@clisp.org>
67369
67370         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
67371         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
67372         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
67373
67374 2007-07-31  Bruno Haible  <bruno@clisp.org>
67375
67376         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
67377         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
67378
67379 2007-07-30  Bruno Haible  <bruno@clisp.org>
67380
67381         * modules/base64 (License): Use the synonymous term "LGPLv2+".
67382         * modules/c-ctype (License): Likewise.
67383         * modules/c-strcase (License): Likewise.
67384         * modules/check-version (License): Likewise.
67385         * modules/iconv (License): Likewise.
67386         * modules/iconv_open (License): Likewise.
67387         * modules/read-file (License): Likewise.
67388         * modules/striconv (License): Likewise.
67389         * modules/strverscmp (License): Likewise.
67390         * modules/vasprintf (License): Likewise.
67391         * modules/crypto/des (License): Likewise.
67392         * modules/crypto/gc (License): Likewise.
67393         * modules/crypto/gc-arcfour (License): Likewise.
67394         * modules/crypto/gc-arctwo (License): Likewise.
67395         * modules/crypto/gc-des (License): Likewise.
67396         * modules/crypto/gc-hmac-md5 (License): Likewise.
67397         * modules/crypto/gc-hmac-sha1 (License): Likewise.
67398         * modules/crypto/gc-md2 (License): Likewise.
67399         * modules/crypto/gc-md4 (License): Likewise.
67400         * modules/crypto/gc-md5 (License): Likewise.
67401         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
67402         * modules/crypto/gc-random (License): Likewise.
67403         * modules/crypto/gc-rijndael (License): Likewise.
67404         * modules/crypto/gc-sha1 (License): Likewise.
67405         * modules/crypto/md2 (License): Likewise.
67406         * modules/crypto/md4 (License): Likewise.
67407
67408 2007-07-30  Jim Meyering  <jim@meyering.net>
67409
67410         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
67411         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
67412         it has valid stat data.  This bug would cause du not to count the
67413         sizes of inaccessible directories.
67414         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
67415         in <http://bugzilla.redhat.com/250077>.
67416
67417 2007-07-25  Peter O'Gorman  <peter@pogma.com>
67418             Bruno Haible  <bruno@clisp.org>
67419
67420         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
67421         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
67422         #include_next, gives a diagnostic about it, but reports no error in
67423         the exit code.
67424         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
67425
67426 2007-07-24  Ben Pfaff  <blp@gnu.org>
67427
67428         Improve name: "count-one-bits" is better than "popcount".
67429         * MODULES.html.sh: Update name.
67430         * lib/popcount.h: Renamed lib/count-one-bits.h.
67431         (popcount): Renamed count_one_bits.
67432         (popcountl): Renamed count_one_bits_l.
67433         (popcountll): Renamed count_one_bits_ll.
67434         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
67435         * modules/popcount: Renamed module/count-one-bits.
67436         * modules/popcount-tests: Renamed module/count-one-bits-tests.
67437         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
67438
67439 2007-07-23  Ben Pfaff  <blp@gnu.org>
67440
67441         * lib/popcount.h (popcount32): Reduce size of constants, to allow
67442         better code generation, and add U to large constants to avoid
67443         warnings, in non-GCC case.
67444         Suggested by Bruno Haible.
67445
67446 2007-07-23  Ben Pfaff  <blp@gnu.org>
67447
67448         * lib/popcount.h: Use verify_true instead of if...abort.
67449         * modules/popcount: Depend on verify module.
67450         Suggested by Jim Meyering.
67451
67452 2007-07-23  Bruno Haible  <bruno@clisp.org>
67453
67454         * gnulib-tool (func_import): Create a .cvsignore file also when the
67455         directory is not yet in CVS but the toplevel directory is. When
67456         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
67457         Reported by Karl Berry.
67458
67459 2007-07-22  Ben Pfaff  <blp@gnu.org>
67460
67461         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
67462         case.
67463         Suggested by Eric Blake.
67464
67465 2007-07-22  Ben Pfaff  <blp@gnu.org>
67466
67467         New module: popcount.
67468         * MODULES.html.sh: Add popcount.
67469         * modules/popcount: New file.
67470         * modules/popcount-tests: New file.
67471         * tests/test-popcount.c: New file.
67472         * lib/popcount.h: New file.
67473         * m4/popcount.m4: New file.
67474
67475 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
67476
67477         * build-aux/announce-gen: Update to GPLv3.
67478
67479         * build-aux/config.guess: Update from config.
67480
67481 2007-07-21  Bruno Haible  <bruno@clisp.org>
67482
67483         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
67484         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
67485
67486 2007-07-20  Jim Meyering  <jim@meyering.net>
67487
67488         * check-module: Diagnose a self-dependency.
67489
67490 2007-07-19  Bruno Haible  <bruno@clisp.org>
67491
67492         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
67493         empty.
67494         Reported by Eric Blake.
67495
67496 2007-07-18  Bruno Haible  <bruno@clisp.org>
67497
67498         * gnulib-tool: New options --po-base, --po-domain.
67499         (func_usage): Document them.
67500         (pobase, po_domain): New variables.
67501         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
67502         DEFAULT_TEXT_DOMAIN.
67503         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
67504         (func_import): Consider pobase and po_domain. Create a po/ directory.
67505         (func_create_testdir): Set pobase and po_domain to empty.
67506         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
67507         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
67508
67509 2007-07-18  Bruno Haible  <bruno@clisp.org>
67510
67511         * gnulib-tool (func_get_automake_snippet): Synthesize also an
67512         EXTRA_DIST augmentation for files in build-aux/.
67513
67514 2007-07-16  Bruno Haible  <bruno@clisp.org>
67515
67516         * modules/lseek (License): Use the synonymous term "LGPLv2+".
67517         * modules/getdelim (License): Likewise.
67518
67519 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67520
67521         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
67522         * modules/d-type (License): Likewise.
67523         * modules/extensions (License): Likewise.
67524         * modules/fnmatch (License): Likewise.
67525         * modules/fseeko (License): Likewise.
67526         * modules/getaddrinfo (License): Likewise.
67527         * modules/getline (License): Likewise.
67528         * modules/getlogin_r (License): Likewise.
67529         * modules/getpass (License): Likewise.
67530         * modules/gettimeofday (License): Likewise.
67531         * modules/glob (License): Likewise.
67532         * modules/inet_ntop (License): Likewise.
67533         * modules/malloc (License): Likewise.
67534         * modules/malloca (License): Likewise.
67535         * modules/memmem (License): Likewise.
67536         * modules/mempcpy (License): Likewise.
67537         * modules/memset (License): Likewise.
67538         * modules/minmax (License): Likewise.
67539         * modules/mktime (License): Likewise.
67540         * modules/netinet_in (License): Likewise.
67541         * modules/pathmax (License): Likewise.
67542         * modules/poll (License): Likewise.
67543         * modules/regex (License): Likewise.
67544         * modules/snprintf (License): Likewise.
67545         * modules/stdbool (License): Likewise.
67546         * modules/stdint (License): Likewise.
67547         * modules/stdio (License): Likewise.
67548         * modules/strcase (License): Likewise.
67549         * modules/strcasestr (License): Likewise.
67550         * modules/strdup (License): Likewise.
67551         * modules/string (License): Likewise.
67552         * modules/strndup (License): Likewise.
67553         * modules/strnlen (License): Likewise.
67554         * modules/strpbrk (License): Likewise.
67555         * modules/strptime (License): Likewise.
67556         * modules/strsep (License): Likewise.
67557         * modules/sys_select (License): Likewise.
67558         * modules/sys_socket (License): Likewise.
67559         * modules/sys_stat (License): Likewise.
67560         * modules/sys_time (License): Likewise.
67561         * modules/time (License): Likewise.
67562         * modules/time_r (License): Likewise.
67563         * modules/timegm (License): Likewise.
67564         * modules/unistd (License): Likewise.
67565         * modules/vsnprintf (License): Likewise.
67566         * modules/wctype (License): Likewise.
67567
67568 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67569
67570         * modules/argz (License): LGPLv2+.
67571
67572 2007-07-15  Karl Berry  <karl@gnu.org>
67573
67574         * doc/gnulib.texi: revise node structure per new fdl.texi.
67575
67576 2007-07-14  Bruno Haible  <bruno@clisp.org>
67577
67578         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
67579         the output file.
67580         * lib/uniname/uninames.h: Regenerated.
67581
67582 2007-07-14  Karl Berry  <karl@gnu.org>
67583
67584         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
67585         omitting sectioning and index commands.
67586
67587 2007-07-13  Bruno Haible  <bruno@clisp.org>
67588
67589         New gnulib-tool option --more-symlinks.
67590         * gnulib-tool (func_usage): Document --more-symlinks.
67591         (do_copyrights): New variable.
67592         Recognize option --more-symlinks.
67593         (func_import): Don't add a copyright notice transform to
67594         sed_transform_lib_file if do_copyrights is empty.
67595
67596 2007-07-13  Bruno Haible  <bruno@clisp.org>
67597
67598         * lib/vasnprintf.c (decimal_point_char): Define also if
67599         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
67600         && !NEED_PRINTF_DIRECTIVE_A.
67601         Reported by Clemens Koller <clemens.koller@anagramm.de> via
67602         Gary V. Vaughan <gary@gnu.org>.
67603
67604 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
67605
67606         * lib/inttypes_.h: Undo previous change, since it was fixed
67607         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
67608
67609 2007-07-13  Bruno Haible  <bruno@clisp.org>
67610
67611         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
67612         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
67613
67614 2007-07-13  Jim Meyering  <jim@meyering.net>
67615
67616         df: Don't fail for Tru64's "file-on-file mount".
67617         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
67618         so we fall through and use statfs instead.  Details here:
67619         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
67620         Reported by Albert Chin.
67621
67622 2007-07-13  Bruno Haible  <bruno@clisp.org>
67623
67624         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
67625         * modules/configmake (License): Likewise.
67626         * modules/gettext (License): Likewise.
67627         * modules/gettext-h (License): Likewise.
67628         * modules/include_next (License): Likewise.
67629         * modules/link-warning (License): Likewise.
67630         * modules/localcharset (License): Likewise.
67631         * modules/localename (License): Likewise.
67632         * modules/lock (License): Likewise.
67633         * modules/relocatable-lib-lgpl (License): Likewise.
67634         * modules/size_max (License): Likewise.
67635         * modules/vasnprintf (License): Likewise.
67636         * modules/wchar (License): Likewise.
67637         * modules/xsize (License): Likewise.
67638
67639 2007-07-13  Bruno Haible  <bruno@clisp.org>
67640
67641         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
67642         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
67643
67644 2007-07-12  Bruno Haible  <bruno@clisp.org>
67645
67646         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
67647         in the modules files.
67648
67649 2007-07-11  Karl Berry  <karl@gnu.org>
67650
67651         * MODULES.html.sh (func_module): use
67652          sed -e '\|^'"${includefile}"'$|d'
67653          instead of /.../d, to avoid errors on $includefile's containing /.
67654
67655 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67656
67657         * gnulib-tool (func_import): Avoid duplication of --avoid
67658         statements
67659         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
67660         names to `_' in variable names.
67661
67662 2007-07-10  Eric Blake  <ebb9@byu.net>
67663
67664         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
67665         * NEWS: Document this change.
67666
67667 2007-07-08  Bruno Haible  <bruno@clisp.org>
67668
67669         Update to Unicode 5.0.
67670         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
67671         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
67672         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
67673         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
67674         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
67675         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
67676         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
67677         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
67678         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
67679         U+10A3F, U+1D242..U+1D244.
67680         (nonspacing_table_ind): Update.
67681         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
67682         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
67683
67684 2007-07-08  Bruno Haible  <bruno@clisp.org>
67685
67686         Update to Unicode 5.0.
67687         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
67688         code transform. Extend the name index field of unicode_name_to_code and
67689         unicode_code_to_name from 16 to 24 bits.
67690         * lib/uniname/uniname.c (unicode_character_name,
67691         unicode_name_character): Add the range 0x12xxx to the code transform.
67692         * lib/uniname/uninames.h: Regenerated.
67693         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
67694
67695 2007-07-07  Bruno Haible  <bruno@clisp.org>
67696
67697         * modules/wcwidth-tests: New file.
67698         * tests/test-wcwidth.c: New file.
67699
67700         Work around MacOS X wcwidth() bug.
67701         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
67702         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
67703         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
67704         original wcwidth in non-UTF-8 locales.
67705         * modules/wcwidth (Depends-on): Add localcharset, streq,
67706         uniwidth/width.
67707         * doc/functions/wcwidth.texi: Update.
67708
67709 2007-07-07  Bruno Haible  <bruno@clisp.org>
67710
67711         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
67712         (wcwidth): New declaration.
67713         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
67714         macros.
67715         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
67716         here. Prepare for creating <wchar.h> unconditionally.
67717         * modules/wchar (Depends-on): Add link-warning.
67718         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
67719         REPLACE_WCWIDTH, and GL_LINK_WARNING.
67720         * lib/wcwidth.h: Remove file.
67721         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
67722         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
67723         * modules/wcwidth (Files): Remove lib/wcwidth.h.
67724         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
67725         (Include): Replace wcwidth.h with <wchar.h>.
67726         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
67727         * lib/mbchar.h: Don't include wcwidth.h.
67728         * lib/mbswidth.c: Likewise.
67729         * NEWS: Mention the change.
67730
67731 2007-07-07  Bruno Haible  <bruno@clisp.org>
67732
67733         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
67734         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
67735         definition with an external declaration.
67736         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
67737         defined as a function. Remove AC_C_INLINE requirement.
67738         * modules/wcwidth (Files): Add lib/wcwidth.c.
67739         (Makefile.am): Remove redundant statement.
67740
67741 2007-07-07  Bruno Haible  <bruno@clisp.org>
67742
67743         * MODULES.html.sh (Unicode string functions): Add the new modules.
67744
67745         * tests/uniwidth/test-u32-strwidth.c: New file.
67746         * modules/uniwidth/u32-strwidth-tests: New file.
67747
67748         * lib/uniwidth/u32-strwidth.c: New file.
67749         * modules/uniwidth/u32-strwidth: New file.
67750
67751         * tests/uniwidth/test-u16-strwidth.c: New file.
67752         * modules/uniwidth/u16-strwidth-tests: New file.
67753
67754         * lib/uniwidth/u16-strwidth.c: New file.
67755         * modules/uniwidth/u16-strwidth: New file.
67756
67757         * tests/uniwidth/test-u8-strwidth.c: New file.
67758         * modules/uniwidth/u8-strwidth-tests: New file.
67759
67760         * lib/uniwidth/u8-strwidth.c: New file.
67761         * modules/uniwidth/u8-strwidth: New file.
67762
67763         * tests/uniwidth/test-u32-width.c: New file.
67764         * modules/uniwidth/u32-width-tests: New file.
67765
67766         * lib/uniwidth/u32-width.c: New file.
67767         * modules/uniwidth/u32-width: New file.
67768
67769         * tests/uniwidth/test-u16-width.c: New file.
67770         * modules/uniwidth/u16-width-tests: New file.
67771
67772         * lib/uniwidth/u16-width.c: New file.
67773         * modules/uniwidth/u16-width: New file.
67774
67775         * tests/uniwidth/test-u8-width.c: New file.
67776         * modules/uniwidth/u8-width-tests: New file.
67777
67778         * lib/uniwidth/u8-width.c: New file.
67779         * modules/uniwidth/u8-width: New file.
67780
67781         * tests/uniwidth/test-uc_width.c: New file.
67782         * modules/uniwidth/width-tests: New file.
67783
67784         * lib/uniwidth/width.c: New file, from GNU libiconv.
67785         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
67786         * modules/uniwidth/width: New file.
67787
67788         * lib/uniwidth.h: New file, from GNU libiconv.
67789         * modules/uniwidth/base: New file.
67790
67791 2007-07-07  Bruno Haible  <bruno@clisp.org>
67792
67793         * lib/uniname.h: New file, from GNU gettext.
67794         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
67795         * lib/uniname/uninames.h: New file, from GNU gettext.
67796         * lib/uniname/uniname.c: New file, from GNU gettext.
67797         * tests/uniname/test-uninames.sh: New file.
67798         * tests/uniname/test-uninames.c: New file, from GNU gettext.
67799         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
67800         * modules/uniname/base: New file.
67801         * modules/uniname/uniname: New file.
67802         * modules/uniname/uniname-tests: New file.
67803         * MODULES.html.sh (Unicode string functions): Add the new modules.
67804
67805 2007-07-06  Bruno Haible  <bruno@clisp.org>
67806
67807         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
67808
67809 2007-07-06  Bruno Haible  <bruno@clisp.org>
67810
67811         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
67812         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
67813         includes <cygwin/sys_time.h> which includes <sys/select.h> which
67814         include <sys/time.h>.
67815         Reported by Eric Blake.
67816
67817 2007-07-06  Eric Blake  <ebb9@byu.net>
67818
67819         Fix testing canonicalize on cygwin.
67820         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
67821         Revert patch from 2007-06-19.
67822         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
67823         canonicalize module is also in use.
67824         * tests/test-canonicalize.c: New file.
67825         * tests/test-canonicalize.sh: Likewise.
67826         * modules/canonicalize-tests: Likewise.
67827
67828 2007-07-06  Jim Meyering  <jim@meyering.net>
67829
67830         * lib/getugroups.c (getugroups): Detect getgrent failure.
67831         Adjust comment to reflect reality: this function may return -1.
67832
67833 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
67834
67835         * build-aux/bootstrap (TP_URL,get_translations): Update to use
67836         the new TP address.
67837         (usage): Fix typo
67838         (gnulib_mk): New variable.
67839
67840 2007-07-05  Jim Meyering  <jim@meyering.net>
67841
67842         Don't let endgrent clobber errno, no matter how improbable.
67843         * lib/getugroups.c (getugroups): Save and restore errno around
67844         endgrent call.
67845
67846         Close the group DB even when failing with 2^31 or more members.
67847         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
67848
67849 2007-07-04  Jim Meyering  <jim@meyering.net>
67850
67851         * lib/getugroups.h: New file.
67852         * lib/getugroups.c: Include "getugroups.h".
67853         Remove uses of "register" keyword.
67854         Move local variable, "cp", down into scope where used.
67855         Give "username" parameter the "const" attribute.
67856         * modules/getugroups (Files): Add lib/getugroups.h
67857
67858 2007-07-04  Karl Berry  <karl@gnu.org>
67859
67860         * MODULES.html.sh (func_all_modules): Complete rename of
67861         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
67862
67863 2007-07-02  Bruno Haible  <bruno@clisp.org>
67864
67865         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
67866         mode, when inttypes.h comes from gnulib.
67867         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67868
67869 2007-07-02  Simon Josefsson  <simon@josefsson.org>
67870
67871         * NEWS: Mention lgpl module name change.
67872
67873         * modules/lgpl-2.1: Renamed from lgpl.
67874
67875         * NEWS: Mention gpl module name change.
67876
67877         * modules/gpl-3.0: New file, based on gpl-2.0.
67878
67879         * modules/gpl-2.0: Renamed from gpl.
67880
67881         * modules/gpl: Fix filename, doc/gpl.texi is now found at
67882         doc/gpl-2.0.texi.
67883
67884 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
67885
67886         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
67887         #define __STDC_LIMIT_MACROS temporarily while including
67888         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
67889         Problem reported by Joel E. Denny in
67890         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
67891
67892 2007-07-01  Bruno Haible  <bruno@clisp.org>
67893
67894         * lib/unistdio.h: New file.
67895         * lib/unistdio/u-asnprintf.h: New file.
67896         * lib/unistdio/u-asprintf.h: New file.
67897         * lib/unistdio/u-printf-args.c: New file.
67898         * lib/unistdio/u-printf-args.h: New file.
67899         * lib/unistdio/u-printf-parse.h: New file.
67900         * lib/unistdio/u-snprintf.h: New file.
67901         * lib/unistdio/u-sprintf.h: New file.
67902         * lib/unistdio/u-vasprintf.h: New file.
67903         * lib/unistdio/u-vsnprintf.h: New file.
67904         * lib/unistdio/u-vsprintf.h: New file.
67905         * lib/unistdio/ulc-asnprintf.c: New file.
67906         * lib/unistdio/ulc-asprintf.c: New file.
67907         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
67908         * lib/unistdio/ulc-printf-parse.c: New file.
67909         * lib/unistdio/ulc-snprintf.c: New file.
67910         * lib/unistdio/ulc-sprintf.c: New file.
67911         * lib/unistdio/ulc-vasnprintf.c: New file.
67912         * lib/unistdio/ulc-vasprintf.c: New file.
67913         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
67914         * lib/unistdio/ulc-vsnprintf.c: New file.
67915         * lib/unistdio/ulc-vsprintf.c: New file.
67916         * lib/unistdio/u8-asnprintf.c: New file.
67917         * lib/unistdio/u8-asprintf.c: New file.
67918         * lib/unistdio/u8-printf-parse.c: New file.
67919         * lib/unistdio/u8-snprintf.c: New file.
67920         * lib/unistdio/u8-sprintf.c: New file.
67921         * lib/unistdio/u8-vasnprintf.c: New file.
67922         * lib/unistdio/u8-vasprintf.c: New file.
67923         * lib/unistdio/u8-vsnprintf.c: New file.
67924         * lib/unistdio/u8-vsprintf.c: New file.
67925         * lib/unistdio/u8-u8-asnprintf.c: New file.
67926         * lib/unistdio/u8-u8-asprintf.c: New file.
67927         * lib/unistdio/u8-u8-snprintf.c: New file.
67928         * lib/unistdio/u8-u8-sprintf.c: New file.
67929         * lib/unistdio/u8-u8-vasnprintf.c: New file.
67930         * lib/unistdio/u8-u8-vasprintf.c: New file.
67931         * lib/unistdio/u8-u8-vsnprintf.c: New file.
67932         * lib/unistdio/u8-u8-vsprintf.c: New file.
67933         * lib/unistdio/u16-asnprintf.c: New file.
67934         * lib/unistdio/u16-asprintf.c: New file.
67935         * lib/unistdio/u16-printf-parse.c: New file.
67936         * lib/unistdio/u16-snprintf.c: New file.
67937         * lib/unistdio/u16-sprintf.c: New file.
67938         * lib/unistdio/u16-vasnprintf.c: New file.
67939         * lib/unistdio/u16-vasprintf.c: New file.
67940         * lib/unistdio/u16-vsnprintf.c: New file.
67941         * lib/unistdio/u16-vsprintf.c: New file.
67942         * lib/unistdio/u16-u16-asnprintf.c: New file.
67943         * lib/unistdio/u16-u16-asprintf.c: New file.
67944         * lib/unistdio/u16-u16-snprintf.c: New file.
67945         * lib/unistdio/u16-u16-sprintf.c: New file.
67946         * lib/unistdio/u16-u16-vasnprintf.c: New file.
67947         * lib/unistdio/u16-u16-vasprintf.c: New file.
67948         * lib/unistdio/u16-u16-vsnprintf.c: New file.
67949         * lib/unistdio/u16-u16-vsprintf.c: New file.
67950         * lib/unistdio/u32-asnprintf.c: New file.
67951         * lib/unistdio/u32-asprintf.c: New file.
67952         * lib/unistdio/u32-printf-parse.c: New file.
67953         * lib/unistdio/u32-snprintf.c: New file.
67954         * lib/unistdio/u32-sprintf.c: New file.
67955         * lib/unistdio/u32-vasnprintf.c: New file.
67956         * lib/unistdio/u32-vasprintf.c: New file.
67957         * lib/unistdio/u32-vsnprintf.c: New file.
67958         * lib/unistdio/u32-vsprintf.c: New file.
67959         * lib/unistdio/u32-u32-asnprintf.c: New file.
67960         * lib/unistdio/u32-u32-asprintf.c: New file.
67961         * lib/unistdio/u32-u32-snprintf.c: New file.
67962         * lib/unistdio/u32-u32-sprintf.c: New file.
67963         * lib/unistdio/u32-u32-vasnprintf.c: New file.
67964         * lib/unistdio/u32-u32-vasprintf.c: New file.
67965         * lib/unistdio/u32-u32-vsnprintf.c: New file.
67966         * lib/unistdio/u32-u32-vsprintf.c: New file.
67967         * tests/unistdio/test-ulc-asnprintf1.c: New file.
67968         * tests/unistdio/test-ulc-asnprintf1.h: New file.
67969         * tests/unistdio/test-ulc-printf1.h: New file.
67970         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
67971         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
67972         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
67973         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
67974         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
67975         * tests/unistdio/test-ulc-vasprintf1.c: New file.
67976         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
67977         * tests/unistdio/test-ulc-vsprintf1.c: New file.
67978         * tests/unistdio/test-u8-asnprintf1.c: New file.
67979         * tests/unistdio/test-u8-asnprintf1.h: New file.
67980         * tests/unistdio/test-u8-printf1.h: New file.
67981         * tests/unistdio/test-u8-vasnprintf1.c: New file.
67982         * tests/unistdio/test-u8-vasnprintf2.c: New file.
67983         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
67984         * tests/unistdio/test-u8-vasnprintf3.c: New file.
67985         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
67986         * tests/unistdio/test-u8-vasprintf1.c: New file.
67987         * tests/unistdio/test-u8-vsnprintf1.c: New file.
67988         * tests/unistdio/test-u8-vsprintf1.c: New file.
67989         * tests/unistdio/test-u16-asnprintf1.c: New file.
67990         * tests/unistdio/test-u16-asnprintf1.h: New file.
67991         * tests/unistdio/test-u16-printf1.h: New file.
67992         * tests/unistdio/test-u16-vasnprintf1.c: New file.
67993         * tests/unistdio/test-u16-vasnprintf2.c: New file.
67994         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
67995         * tests/unistdio/test-u16-vasnprintf3.c: New file.
67996         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
67997         * tests/unistdio/test-u16-vasprintf1.c: New file.
67998         * tests/unistdio/test-u16-vsnprintf1.c: New file.
67999         * tests/unistdio/test-u16-vsprintf1.c: New file.
68000         * tests/unistdio/test-u32-asnprintf1.c: New file.
68001         * tests/unistdio/test-u32-asnprintf1.h: New file.
68002         * tests/unistdio/test-u32-printf1.h: New file.
68003         * tests/unistdio/test-u32-vasnprintf1.c: New file.
68004         * tests/unistdio/test-u32-vasnprintf2.c: New file.
68005         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
68006         * tests/unistdio/test-u32-vasnprintf3.c: New file.
68007         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
68008         * tests/unistdio/test-u32-vasprintf1.c: New file.
68009         * tests/unistdio/test-u32-vsnprintf1.c: New file.
68010         * tests/unistdio/test-u32-vsprintf1.c: New file.
68011         * modules/unistdio/base: New file.
68012         * modules/unistdio/u-printf-args: New file.
68013         * modules/unistdio/ulc-asnprintf: New file.
68014         * modules/unistdio/ulc-asprintf: New file.
68015         * modules/unistdio/ulc-fprintf: New file.
68016         * modules/unistdio/ulc-printf-parse: New file.
68017         * modules/unistdio/ulc-snprintf: New file.
68018         * modules/unistdio/ulc-sprintf: New file.
68019         * modules/unistdio/ulc-vasnprintf: New file.
68020         * modules/unistdio/ulc-vasprintf: New file.
68021         * modules/unistdio/ulc-vfprintf: New file.
68022         * modules/unistdio/ulc-vsnprintf: New file.
68023         * modules/unistdio/ulc-vsprintf: New file.
68024         * modules/unistdio/u8-asnprintf: New file.
68025         * modules/unistdio/u8-asprintf: New file.
68026         * modules/unistdio/u8-printf-parse: New file.
68027         * modules/unistdio/u8-snprintf: New file.
68028         * modules/unistdio/u8-sprintf: New file.
68029         * modules/unistdio/u8-vasnprintf: New file.
68030         * modules/unistdio/u8-vasprintf: New file.
68031         * modules/unistdio/u8-vsnprintf: New file.
68032         * modules/unistdio/u8-vsprintf: New file.
68033         * modules/unistdio/u8-u8-asnprintf: New file.
68034         * modules/unistdio/u8-u8-asprintf: New file.
68035         * modules/unistdio/u8-u8-snprintf: New file.
68036         * modules/unistdio/u8-u8-sprintf: New file.
68037         * modules/unistdio/u8-u8-vasnprintf: New file.
68038         * modules/unistdio/u8-u8-vasprintf: New file.
68039         * modules/unistdio/u8-u8-vsnprintf: New file.
68040         * modules/unistdio/u8-u8-vsprintf: New file.
68041         * modules/unistdio/u16-asnprintf: New file.
68042         * modules/unistdio/u16-asprintf: New file.
68043         * modules/unistdio/u16-printf-parse: New file.
68044         * modules/unistdio/u16-snprintf: New file.
68045         * modules/unistdio/u16-sprintf: New file.
68046         * modules/unistdio/u16-vasnprintf: New file.
68047         * modules/unistdio/u16-vasprintf: New file.
68048         * modules/unistdio/u16-vsnprintf: New file.
68049         * modules/unistdio/u16-vsprintf: New file.
68050         * modules/unistdio/u16-u16-asnprintf: New file.
68051         * modules/unistdio/u16-u16-asprintf: New file.
68052         * modules/unistdio/u16-u16-snprintf: New file.
68053         * modules/unistdio/u16-u16-sprintf: New file.
68054         * modules/unistdio/u16-u16-vasnprintf: New file.
68055         * modules/unistdio/u16-u16-vasprintf: New file.
68056         * modules/unistdio/u16-u16-vsnprintf: New file.
68057         * modules/unistdio/u16-u16-vsprintf: New file.
68058         * modules/unistdio/u32-asnprintf: New file.
68059         * modules/unistdio/u32-asprintf: New file.
68060         * modules/unistdio/u32-printf-parse: New file.
68061         * modules/unistdio/u32-snprintf: New file.
68062         * modules/unistdio/u32-sprintf: New file.
68063         * modules/unistdio/u32-vasnprintf: New file.
68064         * modules/unistdio/u32-vasprintf: New file.
68065         * modules/unistdio/u32-vsnprintf: New file.
68066         * modules/unistdio/u32-vsprintf: New file.
68067         * modules/unistdio/u32-u32-asnprintf: New file.
68068         * modules/unistdio/u32-u32-asprintf: New file.
68069         * modules/unistdio/u32-u32-snprintf: New file.
68070         * modules/unistdio/u32-u32-sprintf: New file.
68071         * modules/unistdio/u32-u32-vasnprintf: New file.
68072         * modules/unistdio/u32-u32-vasprintf: New file.
68073         * modules/unistdio/u32-u32-vsnprintf: New file.
68074         * modules/unistdio/u32-u32-vsprintf: New file.
68075         * modules/unistdio/ulc-asnprintf-tests: New file.
68076         * modules/unistdio/ulc-vasnprintf-tests: New file.
68077         * modules/unistdio/ulc-vasprintf-tests: New file.
68078         * modules/unistdio/ulc-vsnprintf-tests: New file.
68079         * modules/unistdio/ulc-vsprintf-tests: New file.
68080         * modules/unistdio/u8-asnprintf-tests: New file.
68081         * modules/unistdio/u8-vasnprintf-tests: New file.
68082         * modules/unistdio/u8-vasprintf-tests: New file.
68083         * modules/unistdio/u8-vsnprintf-tests: New file.
68084         * modules/unistdio/u8-vsprintf-tests: New file.
68085         * modules/unistdio/u16-asnprintf-tests: New file.
68086         * modules/unistdio/u16-vasnprintf-tests: New file.
68087         * modules/unistdio/u16-vasprintf-tests: New file.
68088         * modules/unistdio/u16-vsnprintf-tests: New file.
68089         * modules/unistdio/u16-vsprintf-tests: New file.
68090         * modules/unistdio/u32-asnprintf-tests: New file.
68091         * modules/unistdio/u32-vasnprintf-tests: New file.
68092         * modules/unistdio/u32-vasprintf-tests: New file.
68093         * modules/unistdio/u32-vsnprintf-tests: New file.
68094         * modules/unistdio/u32-vsprintf-tests: New file.
68095         * MODULES.html.sh (Unicode string functions): Add the new modules.
68096
68097 2007-07-01  Bruno Haible  <bruno@clisp.org>
68098
68099         * lib/sprintf.c (sprintf): Limit the available length estimation,
68100         to avoid address wraparound.
68101         * lib/vsprintf.c (vsprintf): Likewise.
68102         * modules/sprintf-posix (Dependencies): Add stdint.
68103         * modules/vsprintf-posix (Dependencies): Likewise.
68104
68105 2007-07-01  Bruno Haible  <bruno@clisp.org>
68106
68107         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
68108         Windows PATH as well. Conservative double-quoting. Comments.
68109
68110 2007-07-01  Bruno Haible  <bruno@clisp.org>
68111             Eric Blake  <ebb9@byu.net>
68112             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68113
68114         * gnulib-tool (self_abspathname): Fix algorithm to cope with
68115         empty components in $PATH, denoting '.'.
68116
68117 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68118
68119         * gnulib-tool: Fix indentation.
68120         (func_create_megatestdir): Likewise.
68121         Report by Bruno Haible.
68122
68123 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68124
68125         Sync from Automake.
68126         * build-aux/gnupload: Fix shell portability issues with for loops.
68127         Report by Karl Berry.
68128
68129 2007-06-29  Simon Josefsson  <simon@josefsson.org>
68130
68131         * build-aux/maint.mk (POURL): Use translationproject.org.
68132
68133 2007-06-27  Simon Josefsson  <simon@josefsson.org>
68134             Bruno Haible  <bruno@clisp.org>
68135
68136         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
68137         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
68138         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
68139         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
68140         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
68141
68142 2007-06-27  Bruno Haible  <bruno@clisp.org>
68143
68144         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
68145         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
68146
68147 2007-06-26  Karl Berry  <karl@gnu.org>
68148
68149         * MODULES.html.sh: remove xreadlink-with-size.
68150
68151 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68152
68153         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
68154         method that I hope also handles the double-include problem noted
68155         by Bruno Haible in
68156         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
68157
68158 2007-06-23  Bruno Haible  <bruno@clisp.org>
68159
68160         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68161         Don't let the 'mostlyclean' target fail if the last subdirectory could
68162         not be removed.
68163         Reported by Karl Berry.
68164
68165 2007-06-23  Bruno Haible  <bruno@clisp.org>
68166
68167         * gnulib-tool (echo): Add a speedier workaround for ksh.
68168         * tests/test-echo.sh: Likewise.
68169
68170 2007-06-23  Bruno Haible  <bruno@clisp.org>
68171
68172         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
68173         * tests/test-echo.sh: Likewise.
68174
68175 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68176
68177         * gnulib-tool (IFS): Initialize early, so we don't set it to
68178         empty later.
68179         (self_abspathname): Rewrite algorithm to set it, reindent.
68180         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
68181         (func_create_megatestdir): Merge some sed scripts.
68182
68183 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68184
68185         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
68186         exposed by Sun Studio 11 cc on Solaris 8.
68187
68188 2007-06-22  Bruno Haible  <bruno@clisp.org>
68189
68190         * gnulib-tool (echo): Ensure the echo primitive does not interpret
68191         backslashes.
68192         * tests/test-echo.sh: New file.
68193
68194 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68195
68196         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
68197         simplify `sed_replace_build_aux' scripts, they are portable but
68198         echoing them with `echo' is not.
68199         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
68200
68201 2007-06-21  Karl Berry  <karl@gnu.org>
68202
68203         * config/srclist.txt: guess we can't handle the licenses via
68204         srclist at the moment.
68205
68206 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
68207
68208         * MODULES.html.sh: Add include_next.
68209         * modules/include_next: New file.
68210
68211 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
68212
68213         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
68214         INCLUDE_NEXT.
68215         (gl_CHECK_NEXT_HEADERS): New macro.
68216         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
68217         the obsolescent gl_ABSOLUTE_HEADER.
68218         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
68219         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
68220         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
68221         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
68222         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
68223         * m4/math_h.m4 (gl_MATH_H): Likewise.
68224         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
68225         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
68226         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
68227         * m4/stdint.m4 (gl_STDINT_H): Likewise.
68228         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
68229         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
68230         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
68231         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
68232         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
68233         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
68234         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
68235         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
68236         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
68237         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
68238         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
68239         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68240         * m4/inttypes.m4 (gl_INTTYPES_H): Define
68241         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
68242         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
68243         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
68244         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
68245         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
68246         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
68247         * lib/float_.h: Likewise.
68248         * lib/inttypes_.h: Likewise.
68249         * lib/math_.h: Likewise.
68250         * lib/search_.h: Likewise.
68251         * lib/signal_.h: Likewise.
68252         * lib/stdint_.h: Likewise.
68253         * lib/stdio_.h: Likewise.
68254         * lib/stdlib_.h: Likewise.
68255         * lib/string_.h: Likewise.
68256         * lib/sys_stat_.h: Likewise.
68257         * lib/sys_time_.h: Likewise.
68258         * lib/time_.h: Likewise.
68259         * lib/unistd_.h: Likewise.
68260         * lib/wchar_.h: Likewise.
68261         * lib/wctype_.h: Likewise.
68262         * lib/dirent_.h: Likewise.
68263         * lib/iconv_.h: Likewise.
68264         * lib/locale_.h: Likewise.
68265         * lib/netinet_in_.h: Likewise.
68266         * lib/sys_select_.h: Likewise.
68267         * lib/sys_socket_.h: Likewise.
68268         * lib/sysexits_.h: Likewise.
68269         * modules/fcntl (Depends-on): Depend on include_next, not
68270         absolute_header.
68271         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
68272         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
68273         * modules/fchdir: Likewise.
68274         * modules/float: Likewise.
68275         * modules/iconv_open: Likewise.
68276         * modules/inttypes: Likewise.
68277         * modules/locale: Likewise.
68278         * modules/math: Likewise.
68279         * modules/netinet_in: Likewise.
68280         * modules/search: Likewise.
68281         * modules/signal: Likewise.
68282         * modules/stdint: Likewise.
68283         * modules/stdio: Likewise.
68284         * modules/stdlib: Likewise.
68285         * modules/string: Likewise.
68286         * modules/sys_select: Likewise.
68287         * modules/sys_socket: Likewise.
68288         * modules/sys_stat: Likewise.
68289         * modules/sys_time: Likewise.
68290         * modules/sysexits: Likewise.
68291         * modules/time: Likewise.
68292         * modules/unistd: Likewise.
68293         * modules/wchar: Likewise.
68294         * modules/wctype: Likewise.
68295         * modules/sys_stat: Change maintainer to "all".
68296         * modules/unistd: Likewise.
68297
68298 2007-06-20  Karl Berry  <karl@gnu.org>
68299
68300         * config/srclist.txt: track www changes in license files.
68301
68302 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
68303
68304         * build-aux/bootstrap: Remove stray dot.
68305         Make sure build_aux settings are honored when linking
68306         gnulib_extra_files.
68307
68308 2007-06-19  Eric Blake  <ebb9@byu.net>
68309
68310         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68311         Allow compilation on cygwin.
68312
68313 2007-06-19  Jim Meyering  <jim@meyering.net>
68314
68315         xreadlink-with-size: Remove module.  No longer used.
68316         Ex-callers now use xreadlink or mreadlink-with-size.
68317         * modules/xreadlink-with-size: Remove module.
68318         * lib/xreadlink-with-size.c: Remove file.
68319         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
68320         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
68321         just before the function definition *is* accurate.
68322
68323         Eliminate one way canonicalize_filename_mode could exit.
68324         * lib/canonicalize.c (canonicalize_filename_mode):
68325         Use mreadlink_with_size, not xreadlink_with_size.
68326
68327 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
68328
68329         Detect porting problems to FreeBSD/arm, which has time_t wider than
68330         long int.  Original problem reported for GNU diff by Xin Li in
68331         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
68332         * modules/getdate (Depends-on): Add intprops, verify.
68333         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
68334         is an integer type no wider than long int.
68335
68336 2007-06-18  Jim Meyering  <jim@meyering.net>
68337
68338         New module: mreadlink-with-size.
68339         * MODULES.html.sh: Add mreadlink-with-size.
68340         * modules/mreadlink-with-size: New module
68341         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
68342         not xreadlink-with-size.
68343         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
68344
68345 2007-06-16  Bruno Haible  <bruno@clisp.org>
68346
68347         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
68348         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
68349         Reported by Gary V. Vaughan <gary@gnu.org>.
68350
68351 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
68352
68353         Revamp lchown so that it lives in unistd.h where it belongs.
68354         * lib/lchown.h: Remove.
68355         * lib/dirchownmod.c: Don't include lib/lchown.h.
68356         * lib/fchownat.c: Likewise.
68357         * lib/openat.c: Likewise.
68358         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
68359         does not follow symlinks.
68360         (EOPNOTSUPP): Define if not defined.
68361         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
68362         is defined to 0.
68363         (lchown): New decl.
68364         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
68365         Do not check for lchown decl.
68366         Set REPLACE_LCHOWN.
68367         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
68368         REPLACE_LCHOWN.
68369         * modules/chown: Make it clear it follows symlinks.
68370         * modules/lchown: Make it clear it doesn't follow symlinks.
68371         (Files): Remove lib/lchown.h
68372         (Depends-on): Add unistd.
68373         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
68374         (Include): Include <unistd.h>, not "lchown.h".
68375         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
68376         REPLACE_LCHOWN.
68377
68378 2007-06-15  Jim Meyering  <jim@meyering.net>
68379
68380         Change license (GPL to LGPL) of fsusage and dependents.
68381         * modules/fsusage (License): Change to LGPL.
68382         * modules/full-read (License): Likewise.
68383         * modules/full-write (License): Likewise.
68384         * modules/safe-read (License): Likewise.
68385         * modules/safe-write (License): Likewise.
68386
68387 2007-06-14  Ben Pfaff  <blp@gnu.org>
68388
68389         Missing part of allocsa -> malloca transition.
68390         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
68391         gl_MALLOCA.
68392
68393 2007-06-12  Bruno Haible  <bruno@clisp.org>
68394
68395         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
68396         to ia64, x86_64, i386.
68397         Reported by Eric Blake.
68398
68399 2007-06-12  Bruno Haible  <bruno@clisp.org>
68400
68401         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
68402         cross-compiling to x86_64.
68403
68404 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
68405
68406         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
68407         glitch reported by Ralf Wildenhues in
68408         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
68409
68410         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
68411         Vin Shelton.
68412
68413 2007-06-11  Bruno Haible  <bruno@clisp.org>
68414
68415         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
68416         replacement string.
68417         Reported by Eric Blake.
68418
68419 2007-06-10  Bruno Haible  <bruno@clisp.org>
68420
68421         Prepare vasnprintf code for use with Unicode strings.
68422         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
68423         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
68424         TYPE_U32_STRING.
68425         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
68426         a_u32_string variants.
68427         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68428         * lib/printf-args.c: Don't include config.h and the specification
68429         header if PRINTF_FETCHARGS is already defined.
68430         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68431         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
68432         TYPE_U16_STRING, TYPE_U32_STRING.
68433         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
68434         u16_directive, u16_directives, u32_directive, u32_directives): New
68435         types.
68436         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
68437         New declarations.
68438         * lib/printf-parse.c: Don't include config.h and the specification
68439         header if PRINTF_PARSE is already defined. Eliminate the set of
68440         parameters for WIDE_CHAR_VERSION; the user of this file must provide
68441         them now. Include c-ctype.h.
68442         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
68443         directive and CHAR_T_ONLY_ASCII.
68444         * lib/vasnprintf.c: Don't include config.h and the specification header
68445         if VASNPRINTF is already defined.
68446         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
68447         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
68448         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
68449         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
68450         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
68451         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
68452         code accordingly.
68453         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
68454         pad_ourselves also in this case, with the 'c' and 's' directives, and
68455         with a different notion of "width".
68456         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
68457
68458 2007-06-10  Bruno Haible  <bruno@clisp.org>
68459
68460         * modules/unistr/u32-mbsnlen: New file.
68461         * lib/unistr/u32-mbsnlen.c: New file.
68462
68463         * modules/unistr/u16-mbsnlen: New file.
68464         * lib/unistr/u16-mbsnlen.c: New file.
68465
68466         * modules/unistr/u8-mbsnlen: New file.
68467         * lib/unistr/u8-mbsnlen.c: New file.
68468
68469         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
68470         declarations.
68471
68472 2007-06-10  Bruno Haible  <bruno@clisp.org>
68473
68474         * lib/string_.h (mbsnlen): New declaration.
68475         * lib/mbsnlen.c: New file.
68476         * m4/mbsnlen.m4: New file.
68477         * modules/mbsnlen: New file.
68478         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
68479         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
68480         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
68481
68482 2007-06-10  Bruno Haible  <bruno@clisp.org>
68483
68484         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
68485
68486 2007-06-10  Bruno Haible  <bruno@clisp.org>
68487
68488         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
68489         * lib/mbuiter.h: Likewise.
68490
68491 2007-06-10  Bruno Haible  <bruno@clisp.org>
68492
68493         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
68494         declaration.
68495
68496 2007-06-10  Karl Berry  <karl@gnu.org>
68497
68498         * config/srclist.txt: remove gettext entries, Bruno prefers
68499         to update individually.
68500
68501 2007-06-10  Bruno Haible  <bruno@clisp.org>
68502
68503         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
68504         'maxlen'. Ensure only length + width bytes are allocated, not
68505         length + 1 + width.
68506
68507 2007-06-09  Bruno Haible  <bruno@clisp.org>
68508
68509         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
68510         (CHAR_T): Remove macro.
68511         (VASNPRINTF): Update.
68512
68513 2007-06-09  Bruno Haible  <bruno@clisp.org>
68514
68515         * MODULES.html.sh (Unicode string functions): Add the new modules.
68516
68517         * modules/uniconv/u32-conv-to-enc: New file.
68518         * lib/uniconv/u32-conv-to-enc.c: New file.
68519         * modules/uniconv/u32-conv-to-enc-tests: New file.
68520         * tests/uniconv/test-u32-conv-to-enc.c: New file.
68521
68522         * modules/uniconv/u16-conv-to-enc: New file.
68523         * lib/uniconv/u16-conv-to-enc.c: New file.
68524         * lib/uniconv/u-conv-to-enc.h: New file.
68525         * modules/uniconv/u16-conv-to-enc-tests: New file.
68526         * tests/uniconv/test-u16-conv-to-enc.c: New file.
68527
68528         * modules/uniconv/u8-conv-to-enc: New file.
68529         * lib/uniconv/u8-conv-to-enc.c: New file.
68530         * modules/uniconv/u8-conv-to-enc-tests: New file.
68531         * tests/uniconv/test-u8-conv-to-enc.c: New file.
68532
68533         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
68534         u32_conv_to_encoding): New declarations.
68535
68536 2007-06-09  Bruno Haible  <bruno@clisp.org>
68537
68538         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
68539
68540 2007-06-09  Bruno Haible  <bruno@clisp.org>
68541
68542         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
68543         * modules/malloca: Renamed from modules/allocsa, updated.
68544         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
68545         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
68546         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
68547         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
68548         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
68549         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
68550         * modules/xmalloca: Renamed from modules/xallocsa, updated.
68551         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
68552         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
68553         * modules/c-strcasestr (Depends-on): Update.
68554         * lib/c-strcasestr.c: Update.
68555         * modules/c-strstr (Depends-on): Update.
68556         * lib/c-strstr.c: Update.
68557         * modules/canonicalize-lgpl (Depends-on): Update.
68558         * lib/canonicalize-lgpl.c: Update.
68559         * modules/clean-temp (Depends-on): Update.
68560         * lib/clean-temp.c: Update.
68561         * modules/csharpcomp (Depends-on): Update.
68562         * lib/csharpcomp.c: Update.
68563         * modules/csharpexec (Depends-on): Update.
68564         * lib/csharpexec.c: Update.
68565         * modules/javacomp (Depends-on): Update.
68566         * lib/javacomp.c: Update.
68567         * modules/javaexec (Depends-on): Update.
68568         * lib/javaexec.c: Update.
68569         * modules/mbscasestr (Depends-on): Update.
68570         * lib/mbscasestr.c: Update.
68571         * modules/mbsstr (Depends-on): Update.
68572         * lib/mbsstr.c: Update.
68573         * modules/setenv (Depends-on): Update.
68574         * lib/setenv.c: Update.
68575         * modules/strcasestr (Depends-on): Update.
68576         * lib/strcasestr.c: Update.
68577         * modules/striconveha (Depends-on): Update.
68578         * lib/striconveha.c: Update.
68579         * modules/relocatable-prog-wrapper (Files): Update.
68580         * lib/relocwrapper.c: Update.
68581         * build-aux/install-reloc: Update.
68582         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
68583
68584 2007-06-08  Bruno Haible  <bruno@clisp.org>
68585
68586         Port to uClibc.
68587         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
68588         * lib/fpurge.c (fpurge): Likewise.
68589         * lib/freading.c (freading): Likewise.
68590         * lib/fseeko.c (rpl_fseeko): Likewise.
68591         * lib/fseterr.c (fseterr): Likewise.
68592         * lib/fwriting.c (fwriting): Likewise.
68593         * tests/test-fflush.c (main): Avoid a failure on uClibc.
68594
68595 2007-06-08  Bruno Haible  <bruno@clisp.org>
68596
68597         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
68598         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
68599         * modules/gettext (Files): Add m4/intlmacosx.m4.
68600
68601 2007-06-07  Bruno Haible  <bruno@clisp.org>
68602
68603         * modules/localename-tests: New file.
68604         * tests/test-localename.c: New file.
68605
68606         New module 'localename'.
68607         * lib/localename.h: New file.
68608         * lib/localename.c: New file, from GNU gettext.
68609         * m4/localename.m4: New file.
68610         * modules/localename: New file.
68611
68612 2007-06-07  Bruno Haible  <bruno@clisp.org>
68613
68614         Work around the lack of <wchar.h> on some builds of uClibc.
68615         * doc/headers/wchar.texi: Update.
68616         * lib/wchar_.h: Include <wchar.h> only if it exists.
68617         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
68618         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
68619         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
68620         doesn't exist.
68621         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
68622         * modules/mbfile (Depends-on): Add wchar.
68623         * modules/mbiter (Depends-on): Likewise.
68624         * modules/mbuiter (Depends-on): Likewise.
68625         Reported by Simon Josefsson.
68626
68627 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
68628
68629         Work around problem reported by Steven M. Schweda in
68630         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
68631         Tru64 5.1B with the Compaq compiler environment installed declares
68632         an 'isblank' function but does not define it in the C library.
68633         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
68634         * lib/regex_internal.h (isblank): Likewise.
68635         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
68636         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
68637
68638 2007-06-05  Bruno Haible  <bruno@clisp.org>
68639
68640         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
68641         ia64.
68642         * modules/printf-safe: New file.
68643         * modules/fprintf-posix (Depends-on): Add printf-safe.
68644         * modules/printf-posix (Depends-on): Likewise.
68645         * modules/snprintf-posix (Depends-on): Likewise.
68646         * modules/sprintf-posix (Depends-on): Likewise.
68647         * modules/vasnprintf-posix (Depends-on): Likewise.
68648         * modules/vasprintf-posix (Depends-on): Likewise.
68649         * modules/vfprintf-posix (Depends-on): Likewise.
68650         * modules/vprintf-posix (Depends-on): Likewise.
68651         * modules/vsnprintf-posix (Depends-on): Likewise.
68652         * modules/vsprintf-posix (Depends-on): Likewise.
68653         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
68654         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
68655         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
68656         "no" on i386, x86_64, ia64.
68657         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
68658         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68659         on i386, x86_64, ia64.
68660         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
68661         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68662         on i386, x86_64, ia64.
68663         * tests/test-vasnprintf-posix.c: Include float.h.
68664         (LDBL80_WORDS): New macro.
68665         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68666         on i386, x86_64, ia64.
68667         * tests/test-vasprintf-posix.c: Include float.h.
68668         (LDBL80_WORDS): New macro.
68669         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68670         on i386, x86_64, ia64.
68671         * tests/test-snprintf-posix.c: Include float.h.
68672         * tests/test-sprintf-posix.c: Likewise.
68673         * tests/test-vsnprintf-posix.c: Likewise.
68674         * tests/test-vsprintf-posix.c: Likewise.
68675
68676 2007-06-05  Bruno Haible  <bruno@clisp.org>
68677
68678         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
68679         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
68680         non-IEEE numbers on i386, x86_64, ia64.
68681         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
68682         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
68683         * tests/test-isnanl.h: Include float.h.
68684         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
68685
68686 2007-06-05  Bruno Haible  <bruno@clisp.org>
68687
68688         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
68689         also the %a / %A. Handle the %a / %A code before this extra handling.
68690
68691 2007-06-05  Bruno Haible  <bruno@clisp.org>
68692
68693         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
68694         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
68695
68696 2007-06-05  Bruno Haible  <bruno@clisp.org>
68697
68698         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
68699         typo in variable name.
68700
68701 2007-06-05  Eric Blake  <ebb9@byu.net>
68702
68703         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
68704         Reported by Simon Josefsson.
68705
68706 2007-06-04  Bruno Haible  <bruno@clisp.org>
68707
68708         Avoid test failures on some PowerPC platforms.
68709         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
68710         Define differently for PowerPC.
68711         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
68712         Reported by Gary V. Vaughan <gary@gnu.org>.
68713
68714 2007-06-02  Bruno Haible  <bruno@clisp.org>
68715
68716         Fix test-stdint failure on FreeBSD/ia64.
68717         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
68718         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
68719         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
68720         * doc/headers/stdint.texi: Update.
68721
68722 2007-06-01  Bruno Haible  <bruno@clisp.org>
68723
68724         * tests/test-binary-io.c (main): Pass a third argument to open().
68725         Reported by Gary V. Vaughan <gary@gnu.org>.
68726
68727 2007-06-01  Bruno Haible  <bruno@clisp.org>
68728
68729         * doc/functions/frexpl.texi: Update for mingw.
68730
68731 2007-06-01  Bruno Haible  <bruno@clisp.org>
68732
68733         * tests/test-lseek.c (main): Disable test of errno for invalid third
68734         argument.
68735         * doc/functions/lseek.texi: Update.
68736         Reported by Gary V. Vaughan <gary@gnu.org>.
68737
68738 2007-05-28  Bruno Haible  <bruno@clisp.org>
68739
68740         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
68741
68742 2007-05-31  Eric Blake  <ebb9@byu.net>
68743
68744         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
68745         cross compiling.
68746
68747 2007-05-30  Eric Blake  <ebb9@byu.net>
68748         and Bruno Haible  <bruno@clisp.org>
68749
68750         Work around mingw test failures exposed by m4-1.4.9b.
68751         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
68752         * tests/test-unistd.c: Disable uid_t and git_t tests for the
68753         moment.
68754
68755 2007-05-30  Bruno Haible  <bruno@clisp.org>
68756
68757         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
68758         assuming that they are closed. Needed on HP-UX 11.
68759
68760 2007-05-29  Bruno Haible  <bruno@clisp.org>
68761
68762         Fix a problem with #include_next.
68763         * lib/dirent_.h: Split the double-inclusion guard.
68764         * lib/fcntl_.h: Likewise.
68765         * lib/float_.h: Likewise.
68766         * lib/iconv_.h: Likewise.
68767         * lib/inttypes_.h: Likewise.
68768         * lib/locale_.h: Likewise.
68769         * lib/math_.h: Likewise.
68770         * lib/netinet_in_.h: Likewise.
68771         * lib/search_.h: Likewise.
68772         * lib/signal_.h: Likewise.
68773         * lib/stdint_.h: Likewise.
68774         * lib/stdio_.h: Likewise.
68775         * lib/stdlib_.h: Likewise.
68776         * lib/string_.h: Likewise.
68777         * lib/sys_select_.h: Likewise.
68778         * lib/sys_socket_.h: Likewise.
68779         * lib/sys_stat_.h: Likewise.
68780         * lib/sys_time_.h: Likewise.
68781         * lib/sysexits_.h: Likewise.
68782         * lib/time_.h: Likewise.
68783         * lib/unistd_.h: Likewise.
68784         * lib/wchar_.h: Likewise.
68785         * lib/wctype_.h: Likewise.
68786
68787 2007-05-29  Bruno Haible  <bruno@clisp.org>
68788
68789         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
68790         for the moment.
68791
68792 2007-05-29  Bruno Haible  <bruno@clisp.org>
68793
68794         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
68795         invocation.
68796         Reported by Eric Blake.
68797
68798 2007-05-29  Bruno Haible  <bruno@clisp.org>
68799
68800         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
68801         compiling case.
68802
68803 2007-05-29  Eric Blake  <ebb9@byu.net>
68804             Bruno Haible  <bruno@clisp.org>
68805
68806         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
68807         cross compiles.
68808
68809 2007-05-28  Eric Blake  <ebb9@byu.net>
68810
68811         * modules/closein-tests (test_closein_LDADD): Support test on
68812         cygwin with libtool.
68813
68814 2007-05-28  Bruno Haible  <bruno@clisp.org>
68815
68816         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
68817         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
68818         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
68819         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
68820         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
68821         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
68822         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
68823         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
68824         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
68825
68826 2007-05-28  Eric Blake  <ebb9@byu.net>
68827
68828         Unconditionally include <config.h> in unit tests.
68829         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
68830         * tests/test-allocsa.c, tests/test-arcfour.c,
68831         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
68832         tests/test-array_list.c, tests/test-array_oset.c,
68833         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
68834         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
68835         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
68836         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
68837         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
68838         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
68839         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
68840         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
68841         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
68842         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
68843         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
68844         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
68845         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
68846         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
68847         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
68848         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
68849         test-md5.c, test-memmem.c, test-printf-posix.c,
68850         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
68851         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
68852         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
68853         test-strcasestr.c, test-striconv.c, test-striconveh.c,
68854         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
68855         test-vasnprintf-posix2.c, test-vasnprintf.c,
68856         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
68857         test-vfprintf-posix.c, test-vprintf-posix.c,
68858         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
68859         test-xvasprintf.c: Likewise.
68860
68861 2007-05-28  Bruno Haible  <bruno@clisp.org>
68862
68863         * gnulib-tool (func_import): Remember the --with-tests command-line
68864         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
68865         Reported by Eric Blake.
68866
68867 2007-05-28  Bruno Haible  <bruno@clisp.org>
68868
68869         * modules/ftell-tests: New file.
68870         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
68871         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
68872
68873         * lib/ftell.c: New file.
68874         * modules/ftell: New file.
68875         * m4/ftell.m4: New file.
68876         * doc/functions/ftell.texi: Update.
68877         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
68878         REPLACE_FTELL.
68879         * lib/stdio_.h (rpl_ftell): New declaration.
68880         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
68881         REPLACE_FTELL.
68882
68883 2007-05-28  Eric Blake  <ebb9@byu.net>
68884
68885         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
68886
68887 2007-05-28  Bruno Haible  <bruno@clisp.org>
68888
68889         * modules/fseek-tests: New file.
68890         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
68891         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
68892
68893         * lib/fseek.c: New file.
68894         * modules/fseek: New file.
68895         * m4/fseek.m4: New file.
68896         * doc/functions/fseek.texi: Update.
68897         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
68898         REPLACE_FSEEK.
68899         * lib/stdio_.h (rpl_fseek): New declaration.
68900         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
68901         REPLACE_FSEEK.
68902
68903 2007-05-28  Bruno Haible  <bruno@clisp.org>
68904
68905         * lib/stdio_.h (fflush): More comments.
68906
68907 2007-05-28  Bruno Haible  <bruno@clisp.org>
68908
68909         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
68910         runtime test.
68911
68912 2007-05-28  Eric Blake  <ebb9@byu.net>
68913
68914         Improve lseek module.
68915         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
68916         * lib/unistd_.h (lseek): Scale back link warning message.
68917         * tests/test-lseek.c: Beef up test.
68918         * tests/test-lseek.sh: Exercise more facets of lseek.
68919         Reported by Bruno Haible.
68920
68921 2007-05-28  Bruno Haible  <bruno@clisp.org>
68922
68923         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
68924         to define.
68925
68926 2007-05-27  Bruno Haible  <bruno@clisp.org>
68927
68928         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
68929
68930 2007-05-27  Bruno Haible  <bruno@clisp.org>
68931
68932         * modules/openmp: New file.
68933         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
68934         Noah Misch.
68935
68936 2007-05-26  Bruno Haible  <bruno@clisp.org>
68937
68938         * modules/chdir-long (Depends-on): Add fchdir.
68939         * modules/chdir-safer (Depends-on): Likewise.
68940         * modules/fts (Depends-on): Likewise.
68941         * modules/fts-lgpl (Depends-on): Likewise.
68942         * modules/openat (Depends-on): Likewise.
68943         * modules/savewd (Depends-on): Likewise.
68944
68945 2007-05-24  Eric Blake  <ebb9@byu.net>
68946
68947         Fix lseek on mingw.
68948         * modules/lseek: New module.
68949         * m4/lseek.m4: New file.
68950         * lib/lseek.c: New file.
68951         * modules/lseek-tests: New file.
68952         * tests/test-lseek.c: New file.
68953         * tests/test-lseek.sh: New file.
68954         * MODULES.html.sh: Document lseek module.
68955         * modules/fflush (Depends-on): Add lseek, fseeko.
68956         * modules/fseeko (Depends-on): Likewise.
68957         * modules/ftello (Depends-on): Likewise.
68958         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
68959         broken.
68960         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
68961         broken.
68962         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
68963         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
68964         * lib/ftello.c (rpl_ftello): Likewise.
68965         * tests/test-fseeko.c (main): Test this.
68966         * tests/test-fseeko.sh: Likewise.
68967         * tests/test-ftello.c (main): Likewise.
68968         * tests/test-ftello.sh: Likewise.
68969         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
68970         implies replacing fseek.
68971         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
68972         HAVE_FTELLO.
68973         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
68974         * modules/unistd (Makefile.am): Likewise.
68975         * lib/unistd_.h (lseek): Declare a replacement.
68976         * doc/functions/lseek.texi (lseek): Document this fix.
68977         * doc/functions/fseek.texi (fseek): Likewise.
68978         * doc/functions/ftell.texi (ftell): Likewise.
68979
68980 2007-05-24  Bruno Haible  <bruno@clisp.org>
68981
68982         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
68983         in the printed representation of a NaN.
68984         * tests/test-vasprintf-posix.c (test_function): Likewise.
68985         * tests/test-snprintf-posix.h (test_function): Likewise.
68986         * tests/test-sprintf-posix.h (test_function): Likewise.
68987         Reported by Eric Blake.
68988
68989 2007-05-23  Eric Blake  <ebb9@byu.net>
68990
68991         Fix fseeko/ftello on cygwin 1.5.24.
68992         * doc/functions/fseeko.texi (fseeko): Document the fix.
68993         * doc/functions/ftello.texi (ftello): Document the fix.
68994         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
68995         * doc/functions/stdout.text (stdout): New file.
68996         * doc/functions/stderr.text (stderr): New file.
68997         * doc/gnulib.texi (Function Substitutes): Use new files.
68998         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
68999         prior to 1.7.0.
69000         * tests/test-ftello.c (main): Likewise for ftello.
69001         * tests/test-fseeko.sh: New file.
69002         * tests/test-ftello.sh: New file.
69003         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
69004         with seekable stdin.
69005         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
69006         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
69007         (gl_REPLACE_FSEEKO): New macro.
69008         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
69009         * modules/fseeko (Files): Distribute fseeko.c.
69010         * modules/ftello (Files): Distribute ftello.c.
69011         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
69012         mode.
69013         * lib/ftello.c (rpl_ftello): New file.
69014         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
69015         fseeko, ftello.
69016         (gl_STDIN_LARGE_OFFSET): New macro.
69017         * modules/stdio (Makefile.am): Perform the replacement.
69018         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
69019
69020 2007-05-23  Bruno Haible  <bruno@clisp.org>
69021
69022         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
69023         GNULIB_POSIXCHECK is defined.
69024
69025 2007-05-21  Bruno Haible  <bruno@clisp.org>
69026
69027         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
69028         Check also the output for NaN arguments. When cross-compiling, guess
69029         no on IRIX.
69030         * lib/vasnprintf.c: Update comments.
69031         * tests/test-vasnprintf-posix.c (strisnan): New function.
69032         (test_function): Use it.
69033         * tests/test-vasprintf-posix.c (strisnan): New function.
69034         (test_function): Use it.
69035         * tests/test-snprintf-posix.h (strisnan): New function.
69036         (test_function): Use it.
69037         * tests/test-sprintf-posix.h (strisnan): New function.
69038         (test_function): Use it.
69039         Reported by Eric Blake.
69040
69041 2007-05-20  Bruno Haible  <bruno@clisp.org>
69042
69043         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
69044         numbers that fails on BeOS.
69045         * doc/functions/frexpl.texi: Update.
69046
69047 2007-05-20  Jim Meyering  <jim@meyering.net>
69048
69049         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
69050         forced upon us by glibc-2.6.
69051
69052 2007-05-20  Bruno Haible  <bruno@clisp.org>
69053
69054         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
69055         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
69056         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
69057         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
69058         NEED_PRINTF_INFINITE.
69059         (is_infinitel): New function.
69060         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
69061         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
69062         gl_PREREQ_VASNPRINTF_INFINITE.
69063         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
69064         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69065         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
69066         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
69067         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
69068         gl_PREREQ_VASNPRINTF_INFINITE.
69069         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69070         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69071         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69072         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69073         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69074         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69075         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69076         * doc/functions/fprintf.texi: Update.
69077         * doc/functions/printf.texi: Update.
69078         * doc/functions/snprintf.texi: Update.
69079         * doc/functions/sprintf.texi: Update.
69080         * doc/functions/vfprintf.texi: Update.
69081         * doc/functions/vprintf.texi: Update.
69082         * doc/functions/vsnprintf.texi: Update.
69083         * doc/functions/vsprintf.texi: Update.
69084
69085 2007-05-20  Bruno Haible  <bruno@clisp.org>
69086
69087         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
69088         was not found in libc.
69089         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
69090
69091 2007-05-20  Bruno Haible  <bruno@clisp.org>
69092
69093         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69094         printed as "-nan" instead of "nan".
69095         * tests/test-vasprintf-posix.c (test_function): Likewise.
69096         * tests/test-snprintf-posix.h (test_function): Likewise.
69097         * tests/test-sprintf-posix.h (test_function): Likewise.
69098         Needed for HP-UX 11.
69099
69100 2007-05-20  Jim Meyering  <jim@meyering.net>
69101
69102         Fix buggy test for the fchownat-deref bug.
69103         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
69104         symlink required for the run-test.  Without it, this test would
69105         always declare that fchownat doesn't work, and client code would
69106         unnecessarily use the replacement function with fixed libc.
69107         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
69108         Reported by Greg Schafer.
69109
69110 2007-05-19  Bruno Haible  <bruno@clisp.org>
69111
69112         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
69113         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
69114         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
69115         Needed for IRIX 6.5 and Solaris 2.5.1.
69116
69117 2007-05-19  Bruno Haible  <bruno@clisp.org>
69118
69119         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
69120         (test_function): Skip tests involving -0.0 on platforms where
69121         -0.0 = 0.0.
69122         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
69123         (test_function): Skip tests involving -0.0 on platforms where
69124         -0.0 = 0.0.
69125         * tests/test-snprintf-posix.h (have_minus_zero): New function.
69126         (test_function): Skip tests involving -0.0 on platforms where
69127         -0.0 = 0.0.
69128         * tests/test-sprintf-posix.h (have_minus_zero): New function.
69129         (test_function): Skip tests involving -0.0 on platforms where
69130         -0.0 = 0.0.
69131         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
69132         tests.
69133         * tests/test-printf-posix.h (test_function): Likewise.
69134         * tests/test-printf-posix.output: Remove all -0.0 related results.
69135         Needed for IRIX 6.5.
69136
69137 2007-05-19  Bruno Haible  <bruno@clisp.org>
69138
69139         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69140         printed as "nan0x7fffffff" instead of "nan".
69141         * tests/test-vasprintf-posix.c (test_function): Likewise.
69142         * tests/test-snprintf-posix.h (test_function): Likewise.
69143         * tests/test-sprintf-posix.h (test_function): Likewise.
69144         * tests/test-fprintf-posix.h (NaN): Remove macro.
69145         (test_function): Remove all NaN related tests.
69146         * tests/test-printf-posix.h (NaN): Remove macro.
69147         (test_function): Remove all NaN related tests.
69148         * tests/test-printf-posix.output: Remove all NaN related results.
69149         Needed for IRIX 6.5.
69150
69151 2007-05-19  Bruno Haible  <bruno@clisp.org>
69152
69153         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
69154         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
69155
69156 2007-05-19  Bruno Haible  <bruno@clisp.org>
69157
69158         * lib/float_.h: New file.
69159         * m4/float_h.m4: New file.
69160         * modules/float: New file.
69161         * modules/isnanl (Dependencies): Add float.
69162         * modules/isnanl-nolibm (Dependencies): Likewise.
69163         * modules/mathl (Dependencies): Likewise.
69164         * modules/printf-frexpl (Dependencies): Likewise.
69165         * modules/signbit (Dependencies): Likewise.
69166         * modules/vasnprintf (Dependencies): Likewise.
69167         * doc/headers/float.texi: Update.
69168
69169 2007-05-19  Jim Meyering  <jim@meyering.net>
69170
69171         * lib/utimens.c (gl_futimens): Rename from futimens,
69172         now that glibc-2.6 declares futimens.
69173         * lib/utimens.h: Likewise.
69174
69175 2007-05-19  Bruno Haible  <bruno@clisp.org>
69176
69177         Avoid test failures on mingw.
69178         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
69179         * tests/test-printf-posix.sh: Likewise.
69180         * tests/test-vfprintf-posix.sh: Likewise.
69181         * tests/test-vprintf-posix.sh: Likewise.
69182
69183 2007-05-19  Bruno Haible  <bruno@clisp.org>
69184
69185         Fix *printf result for NaN, Inf, -0.0 on mingw.
69186         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
69187         * lib/vasnprintf.c: Include math.h and isnan.h.
69188         (is_infinite_or_zero): New function.
69189         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
69190         values in the %f, %F, %e, %E, %g, %G directives.
69191         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
69192         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69193         gl_PRINTF_INFINITE and test its result. Invoke
69194         gl_PREREQ_VASNPRINTF_INFINITE.
69195         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69196         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69197         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69198         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69199         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69200         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69201         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69202         * doc/functions/fprintf.texi: Update.
69203         * doc/functions/printf.texi: Update.
69204         * doc/functions/snprintf.texi: Update.
69205         * doc/functions/sprintf.texi: Update.
69206         * doc/functions/vfprintf.texi: Update.
69207         * doc/functions/vprintf.texi: Update.
69208         * doc/functions/vsnprintf.texi: Update.
69209         * doc/functions/vsprintf.texi: Update.
69210
69211 2007-05-19  Bruno Haible  <bruno@clisp.org>
69212
69213         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
69214         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
69215         Instead of multiplying with 10^k, set extra_zeroes to k.
69216         (scale10_round_long_double): Remove function.
69217
69218 2007-05-18  Bruno Haible  <bruno@clisp.org>
69219
69220         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
69221         introduced on 2007-05-06.
69222
69223 2007-05-18  Bruno Haible  <bruno@clisp.org>
69224
69225         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
69226         %g directives.
69227         * tests/test-vasprintf-posix.c (test_function): Likewise.
69228         * tests/test-snprintf-posix.h (test_function): Likewise.
69229         * tests/test-sprintf-posix.h (test_function): Likewise.
69230
69231 2007-05-18  Bruno Haible  <bruno@clisp.org>
69232
69233         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
69234         (strmatch): New function.
69235         (test_function): Test the %f directive on numbers of various exponents.
69236         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
69237         (strmatch): New function.
69238         (test_function): Test the %f directive on numbers of various exponents.
69239         * tests/test-snprintf-posix.h (strmatch): New function.
69240         (test_function): Test the %f directive on numbers of various exponents.
69241         * tests/test-sprintf-posix.h (strmatch): New function.
69242         (test_function): Test the %f directive on numbers of various exponents.
69243         * tests/test-snprintf-posix.c (SIZEOF): New macro.
69244         * tests/test-sprintf-posix.c (SIZEOF): New macro.
69245         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
69246         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
69247
69248 2007-05-18  Bruno Haible  <bruno@clisp.org>
69249
69250         Add support for 'long double' number output.
69251         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
69252         * lib/vasnprintf.c: Include math.h and float+.h.
69253         (mp_limb_t): New type.
69254         (GMP_LIMB_BITS): New macro.
69255         (mp_twolimb_t): New type.
69256         (GMP_TWOLIMB_BITS): New macro.
69257         (mpn_t): New type.
69258         (multiply, divide, convert_to_decimal, decode_long_double,
69259         scale10_round_long_double, scale10_round_decimal_long_double,
69260         floorlog10l): New functions.
69261         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
69262         for the %f, %F, %e, %E, %g, %G directives.
69263         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
69264         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69265         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
69266         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
69267         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69268         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69269         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69270         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69271         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69272         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69273         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69274         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
69275         * modules/snprintf-posix (Depends-on): Likewise.
69276         * modules/sprintf-posix (Depends-on): Likewise.
69277         * modules/vasnprintf-posix (Depends-on): Likewise.
69278         * modules/vasprintf-posix (Depends-on): Likewise.
69279         * modules/vfprintf-posix (Depends-on): Likewise.
69280         * modules/vsnprintf-posix (Depends-on): Likewise.
69281         * modules/vsprintf-posix (Depends-on): Likewise.
69282         * modules/vasnprintf (Files): Add lib/float+.h.
69283         * doc/functions/fprintf.texi: Update.
69284         * doc/functions/printf.texi: Update.
69285         * doc/functions/snprintf.texi: Update.
69286         * doc/functions/sprintf.texi: Update.
69287         * doc/functions/vfprintf.texi: Update.
69288         * doc/functions/vprintf.texi: Update.
69289         * doc/functions/vsnprintf.texi: Update.
69290         * doc/functions/vsprintf.texi: Update.
69291
69292 2007-05-18  Bruno Haible  <bruno@clisp.org>
69293
69294         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
69295
69296 2007-05-18  Bruno Haible  <bruno@clisp.org>
69297
69298         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
69299         for printing 64-bit integers. Needed for mingw.
69300
69301 2007-05-18  Bruno Haible  <bruno@clisp.org>
69302
69303         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
69304         gl_FUNC_FREXPL_WORKS.
69305         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
69306
69307 2007-05-18  Bruno Haible  <bruno@clisp.org>
69308
69309         * modules/frexpl-nolibm-tests: New file.
69310
69311         * modules/frexpl-nolibm: New file.
69312         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
69313
69314 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69315
69316         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
69317         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69318         GCC 4.2, which otherwise issues a lot of warnings.
69319         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
69320         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
69321         Likewise.
69322         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
69323         * modules/iconv_open (iconv.h): Likewise.
69324         * modules/locale (locale.h): Likewise.
69325         * modules/netinet_in (netinet/in.h): Likewise.
69326         * modules/sys_select (sys_select.h): Likewise.
69327         * modules/sys_socket (sys/socket.h): Likewise.
69328         * modules/sys_stat (sys/stat.h): Likewise.
69329         * modules/sysexits (sysexits.h): Likewise.
69330         * modules/unistd (unistd.h): Likewise.
69331
69332 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69333
69334         * modules/closein-tests (Makefile.am): Distribute
69335         `test-closein.sh'.
69336
69337 2007-05-17  Bruno Haible  <bruno@clisp.org>
69338
69339         * tests/test-printf-posix.output: Renamed from
69340         tests/test-fprintf-posix.out.
69341         * modules/fprintf-posix-tests: Update.
69342         * modules/printf-posix-tests: Update.
69343         * modules/vfprintf-posix-tests: Update.
69344         * modules/vprintf-posix-tests: Update.
69345         * tests/test-fprintf-posix.sh: Update.
69346         * tests/test-printf-posix.sh: Update.
69347         * tests/test-vfprintf-posix.sh: Update.
69348         * tests/test-vprintf-posix.sh: Update.
69349         Reported by Ralf Wildenhues.
69350
69351 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69352
69353         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
69354         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69355         GCC 4.2, which otherwise issues a lot of warnings.
69356         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
69357         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
69358         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
69359         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
69360         it should no longer be needed.
69361         * lib/string_.h: Likewise.
69362         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
69363         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
69364         * modules/inttypes (inttypes.h): Likewise.
69365         * modules/math (math.h): Likewise.
69366         * modules/search (search.h): Likewise.
69367         * modules/signal (signal.h): Likewise.
69368         * modules/stdint (stdint.h): Likewise.
69369         * modules/stdio (stdio.h): Likewise.
69370         * modules/stdlib (stdlib.h): Likewise.
69371         * modules/string (string.h): Likewise.
69372         * modules/sys_time (sys/time.h): Likewise.
69373         * modules/time (time.h): Likewise.
69374         * modules/wchar (wchar.h): Likewise.
69375         * modules/wctype (wtype.h): Likewise.
69376
69377 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
69378
69379         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
69380
69381 2007-05-13  Bruno Haible  <bruno@clisp.org>
69382
69383         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
69384         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69385         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
69386         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69387         (gl_PREREQ_STRTOK_R): Don't require it here.
69388
69389 2007-05-13  Bruno Haible  <bruno@clisp.org>
69390
69391         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
69392         when used in C++ mode.
69393
69394 2007-05-12  Bruno Haible  <bruno@clisp.org>
69395
69396         * lib/linebuffer.h: Tweak doc.
69397         * lib/linebuffer.c: Likewise.
69398
69399 2007-05-12  James Youngman  <jay@gnu.org>
69400
69401         * lib/linebuffer.c (readlinebuffer_delim): New function,
69402         like readlinebuffer, but use a caller-specified delimiter.
69403         (readlinebuffer): Just call readlinebuffer_delim with '\n'
69404         as the delimiter.
69405         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
69406
69407 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
69408
69409         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
69410         * modules/openat (Files): Remove openat-die.c.
69411         (Depends-on): Add openat-die.
69412         * modules/openat-die: New module.
69413
69414 2007-05-06  Bruno Haible  <bruno@clisp.org>
69415
69416         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
69417         Update with info about Cygwin.
69418         * doc/functions/fprintf.texi: Update.
69419         * doc/functions/printf.texi: Update.
69420         * doc/functions/snprintf.texi: Update.
69421         * doc/functions/sprintf.texi: Update.
69422         * doc/functions/vfprintf.texi: Update.
69423         * doc/functions/vprintf.texi: Update.
69424         * doc/functions/vsnprintf.texi: Update.
69425         * doc/functions/vsprintf.texi: Update.
69426         Reported by Eric Blake.
69427
69428 2007-05-06  Bruno Haible  <bruno@clisp.org>
69429
69430         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
69431         padding ourselves for the floating-point directives.
69432         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
69433         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
69434         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69435         gl_PRINTF_FLAG_ZERO and test its result. Invoke
69436         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
69437         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69438         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69439         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69440         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69441         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69442         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69443         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69444         * tests/test-snprintf-posix.h (test_function): Also check the width
69445         and some flags in the %f directive.
69446         * tests/test-sprintf-posix.h (test_function): Likewise.
69447         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69448         * tests/test-vasprintf-posix.c (test_function): Likewise.
69449         * doc/functions/fprintf.texi: Update.
69450         * doc/functions/printf.texi: Update.
69451         * doc/functions/snprintf.texi: Update.
69452         * doc/functions/sprintf.texi: Update.
69453         * doc/functions/vfprintf.texi: Update.
69454         * doc/functions/vprintf.texi: Update.
69455         * doc/functions/vsnprintf.texi: Update.
69456         * doc/functions/vsprintf.texi: Update.
69457
69458 2007-05-06  Bruno Haible  <bruno@clisp.org>
69459
69460         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
69461         pass the ' flag character to sprintf or snprintf.
69462         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
69463         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
69464         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69465         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
69466         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
69467         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69468         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69469         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69470         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69471         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69472         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69473         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69474         * tests/test-snprintf-posix.h (test_function): Also check the grouping
69475         flag.
69476         * tests/test-sprintf-posix.h (test_function): Likewise.
69477         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69478         * tests/test-vasprintf-posix.c (test_function): Likewise.
69479         * doc/functions/fprintf.texi: Update.
69480         * doc/functions/printf.texi: Update.
69481         * doc/functions/snprintf.texi: Update.
69482         * doc/functions/sprintf.texi: Update.
69483         * doc/functions/vfprintf.texi: Update.
69484         * doc/functions/vprintf.texi: Update.
69485         * doc/functions/vsnprintf.texi: Update.
69486         * doc/functions/vsprintf.texi: Update.
69487
69488 2007-05-01  Bruno Haible  <bruno@clisp.org>
69489
69490         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
69491
69492 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
69493
69494         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
69495         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
69496
69497 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69498
69499         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
69500         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
69501         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
69502
69503 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
69504
69505         * lib/argp-help.c (struct hol_entry): New member `ord'.
69506         (HOL_ENTRY_PTRCMP): Use ord for comparison
69507         (hol_sort): Initialize ord.
69508
69509 2007-05-01  Bruno Haible  <bruno@clisp.org>
69510
69511         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
69512         Reported by Eric Blake.
69513         * doc/gnulib.texi (Function Substitutes): Update.
69514
69515 2007-05-01  Bruno Haible  <bruno@clisp.org>
69516
69517         * doc/functions.texi: Remove file, now redundant through
69518         doc/functions/*.texi.
69519
69520 2007-05-01  Bruno Haible  <bruno@clisp.org>
69521
69522         * modules/argp (Depends-on): Add sleep.
69523
69524 2007-05-01  Bruno Haible  <bruno@clisp.org>
69525
69526         * modules/sleep-tests: New file.
69527         * tests/test-sleep.c: New file.
69528
69529         * modules/sleep: New file.
69530         * lib/sleep.c: New file.
69531         * m4/sleep.m4: New file.
69532         * lib/unistd_.h (sleep): New declaration.
69533         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
69534         HAVE_SLEEP.
69535         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
69536         * doc/functions/sleep.texi: Document the sleep module.
69537
69538 2007-05-01  Bruno Haible  <bruno@clisp.org>
69539
69540         * lib/sigprocmask.h: Remove file.
69541         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
69542         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
69543         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
69544         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
69545         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
69546         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
69547         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
69548         HAVE_SIGSET_T as a shell variable.
69549         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
69550         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
69551         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
69552         (Depends-on): Add signal. Remove verify.
69553         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
69554         (Include): Mention <signal.h> instead of sigprocmask.h.
69555         * NEWS: Mention the change.
69556         * lib/fatal-signal.c: Don't include sigprocmask.h.
69557
69558 2007-05-01  Bruno Haible  <bruno@clisp.org>
69559
69560         * modules/signal: New file.
69561         * lib/signal_.h: New file.
69562         * m4/signal_h.m4: New file.
69563
69564 2007-05-01  Bruno Haible  <bruno@clisp.org>
69565
69566         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
69567         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
69568         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
69569         HAVE_WCTYPE_CTMP_BUG into wctype.h.
69570
69571 2007-05-01  Bruno Haible  <bruno@clisp.org>
69572
69573         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
69574         configure time.
69575         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
69576         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
69577         * modules/sys_stat (Makefile.am): Substitute their values into
69578         sys/stat.h.
69579
69580 2007-05-01  Bruno Haible  <bruno@clisp.org>
69581
69582         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
69583         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
69584         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
69585
69586 2007-05-01  Bruno Haible  <bruno@clisp.org>
69587
69588         * doc/header/assert.texi: Undo last change: don't mention the gnulib
69589         'assert' module here.
69590
69591 2007-05-01  Bruno Haible  <bruno@clisp.org>
69592
69593         * doc/functions/*.texi: New files.
69594         * doc/functions/google-ranking.txt: New file.
69595         * doc/gnulib.texi (Function Substitutes): New chapter.
69596         (ctime, inet_ntoa): Remove sections.
69597         * doc/ctime.texi: Remove file.
69598         * doc/inet_ntoa.texi: Remove file.
69599         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
69600         dependencies.
69601         (%.info): New rule, specifying a --reference-limit.
69602
69603 2007-05-01  Bruno Haible  <bruno@clisp.org>
69604
69605         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
69606
69607 2007-05-01  Bruno Haible  <bruno@clisp.org>
69608
69609         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
69610         the portability of 'mkdir' to mingw systems.
69611
69612 2007-05-01  Bruno Haible  <bruno@clisp.org>
69613
69614         * doc/headers/google-ranking.txt: New file.
69615
69616 2007-04-30  Eric Blake  <ebb9@byu.net>
69617
69618         Prefer fseeko to fseek.
69619         * modules/getpass (Depends-on): Add fseeko.
69620         * lib/getpass.c (getpass): Use fseeko, not fseek.
69621
69622 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
69623
69624         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
69625         assumes the sorting is stable, while most qsort implementations
69626         are not.  Use argument addresses to ensure they never compare as
69627         equal.
69628
69629         * tests/test-argp-2.sh (usage-indent test): Fix output
69630         (func_compare): Restore diff options
69631         * tests/test-argp.c: Restore #include "progname.h"
69632
69633 2007-04-29  Bruno Haible  <bruno@clisp.org>
69634
69635         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
69636         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69637         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
69638         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69639         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
69640         (configure.ac): Define CHECK_SNPRINTF_POSIX.
69641         (TESTS, check_PROGRAMS): Add test-snprintf.
69642         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
69643         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
69644         (TESTS, check_PROGRAMS): Add test-vsnprintf.
69645         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
69646         assertions that fail on HP-UX, OSF/1, or IRIX.
69647         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
69648
69649 2007-04-29  Bruno Haible  <bruno@clisp.org>
69650
69651         * MODULES.html.sh (posix_functions): Remove 'contents'.
69652
69653 2007-04-29  Karl Berry  <karl@gnu.org>
69654
69655         * config/srclist.txt (gendocs_template_min): new entry.
69656
69657 2007-04-29  Bruno Haible  <bruno@clisp.org>
69658
69659         Work around fpurge bug on BSD systems.
69660         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
69661         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
69662         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
69663         fpurge to rpl_fpurge if the system already has this function.
69664         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
69665         the case where the system already has this function. Correct invariants
69666         on BSD systems.
69667         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
69668         BSD systems.
69669
69670 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
69671
69672         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
69673         proposed by Sven Verdoolaege.
69674
69675         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
69676         options.
69677         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
69678         (usage and help tests): Update
69679
69680 2007-04-29  Bruno Haible  <bruno@clisp.org>
69681
69682         * tests/test-fflush.c (main): Use a file of size 17, not 10.
69683         Print more information in case of failure. Disable a test on BeOS.
69684
69685 2007-04-29  Bruno Haible  <bruno@clisp.org>
69686
69687         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
69688         This helps debugging on systems on which no gdb is available.
69689
69690 2007-04-29  Bruno Haible  <bruno@clisp.org>
69691
69692         * lib/freading.h: Improve comments.
69693         * lib/fwriting.h: Likewise.
69694         * tests/test-freading.c (main): Don't check freading immediately after
69695         repositioning. Needed for glibc.
69696
69697 2007-04-29  Bruno Haible  <bruno@clisp.org>
69698
69699         * lib/freading.c (freading): Trivial simplification.
69700
69701 2007-04-28  Bruno Haible  <bruno@clisp.org>
69702
69703         * tests/test-fwriting.c (main): Also test the interaction between
69704         fflush and fwriting.
69705         * modules/fwriting-tests (Depends-on): Add fflush.
69706
69707         * tests/test-freading.c (main): Also test the interaction between
69708         fflush and freading.
69709         * modules/freading-tests (Depends-on): Add fflush.
69710
69711 2007-04-28  Bruno Haible  <bruno@clisp.org>
69712
69713         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
69714         fseeko and ftello.
69715         Suggested by Eric Blake.
69716
69717 2007-04-28  Jim Meyering  <jim@meyering.net>
69718
69719         Avoid false-negative in gl_STDINT_H's C99 conformance test.
69720         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
69721         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
69722
69723 2007-04-27  Eric Blake  <ebb9@byu.net>
69724
69725         * doc/headers/assert.texi (assert.h): Document assert module use.
69726
69727 2007-04-27  Bruno Haible  <bruno@clisp.org>
69728
69729         * doc/headers/*.texi: New files.
69730         * doc/gnulib.texi (Header File Substitutes): New chapter.
69731         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
69732         dependencies.
69733         (standards.info ,standards.html, standards.dvi): Update dependencies.
69734         (mostlyclean, clean): New targets.
69735
69736 2007-04-27  Bruno Haible  <bruno@clisp.org>
69737
69738         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
69739         * modules/sysexits (Files, Makefile.am): Update.
69740
69741         * lib/sys_socket_.h: Renamed from lib/socket_.h.
69742         * modules/sys_socket (Files, Makefile.am): Update.
69743
69744         * lib/sys_stat_.h: Renamed from lib/stat_.h.
69745         * modules/sys_stat (Files, Makefile.am): Update.
69746
69747 2007-04-27  Eric Blake  <ebb9@byu.net>
69748
69749         * lib/freading.h: Improve comments.
69750         * lib/fwriting.h: Likewise.
69751         * lib/fflush.c: Likewise.
69752
69753         Fix closein for mingw.
69754         * modules/closein-tests: Add tests for closein.
69755         * tests/test-closein.c: New file.
69756         * tests/test-closein.sh: Likewise.
69757         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
69758         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
69759
69760 2007-04-27  Bruno Haible  <bruno@clisp.org>
69761
69762         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
69763         version is < 6.
69764         * lib/math_.h [__DECC]: Likewise.
69765         * lib/stdio_.h [__DECC]: Likewise.
69766         * lib/stdlib_.h [__DECC]: Likewise.
69767         * lib/string_.h [__DECC]: Likewise.
69768         * lib/time_.h [__DECC]: Likewise.
69769         * lib/wchar_.h [__DECC]: Likewise.
69770         * lib/wctype_.h [__DECC]: Likewise.
69771
69772 2007-04-27  Bruno Haible  <bruno@clisp.org>
69773
69774         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
69775
69776 2007-04-27  Bruno Haible  <bruno@clisp.org>
69777
69778         * lib/fflush.c: Add comments.
69779         * modules/fpurge-tests (Depends-on): Add fflush.
69780         * modules/freadable-tests (Depends-on): Likewise.
69781         * modules/fwritable-tests (Depends-on): Likewise.
69782
69783 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
69784
69785         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
69786         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
69787         Report by Bruno Haible <bruno@clisp.org>.
69788
69789 2007-04-26  Eric Blake  <ebb9@byu.net>
69790
69791         Fix fflush on mingw.
69792         * modules/fflush (Depends-on): Add freading.
69793         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
69794         but unread data.
69795
69796 2007-04-26  Eric Blake  <ebb9@byu.net>
69797         and Bruno Haible  <bruno@clisp.org>
69798
69799         Implement freading and fwriting.
69800         * lib/freading.c: New file.
69801         * lib/freading.h: Likewise.
69802         * m4/freading.m4: Likewise.
69803         * modules/freading: Likewise.
69804         * modules/freading-tests: Likewise.
69805         * tests/test-freading.c: Likewise.
69806         * lib/fwriting.c: New file.
69807         * lib/fwriting.h: Likewise.
69808         * m4/fwriting.m4: Likewise.
69809         * modules/fwriting: Likewise.
69810         * modules/fwriting-tests: Likewise.
69811         * tests/test-fwriting.c: Likewise.
69812         * MODULES.html.sh (File stream based Input/Output): Mention them.
69813
69814 2007-04-26  Bruno Haible  <bruno@clisp.org>
69815
69816         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
69817         'long' when we assume it.
69818         Suggested by Eric Blake.
69819
69820 2007-04-26  Bruno Haible  <bruno@clisp.org>
69821
69822         Ensure fseeko, ftello are declared on glibc systems.
69823         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
69824         * modules/fseeko (configure.ac-early): Likewise.
69825         * modules/ftello (configure.ac-early): Likewise.
69826         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
69827         AC_FUNC_FSEEKO for this.
69828         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
69829         (gl_CHECK_FSEEKO): Remove macro.
69830
69831 2007-04-26  Bruno Haible  <bruno@clisp.org>
69832
69833         * tests/test-fflush.c (main): Also check the ftell result after
69834         fflush and fseek/fseeko.
69835         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
69836         file descriptor position cache in the stream.
69837         * lib/fseeko.c (rpl_fseeko): Likewise.
69838
69839 2007-04-26  Bruno Haible  <bruno@clisp.org>
69840
69841         * modules/fflush-tests (Depends-on): Add fseeko.
69842
69843 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
69844             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69845
69846         * lib/argz_.h: ensure error_t definition is obtained in same
69847         mechanism system argz.h would have.
69848         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
69849         argz facilities are known bad.  Err on the side of caution if
69850         cross-compiling.
69851
69852 2007-04-25  Eric Blake  <ebb9@byu.net>
69853
69854         * lib/fpurge.c (includes): Use stdlib.h for free.
69855         * tests/test-fflush.c (main): Also test fflush-fseeko.
69856
69857 2007-04-25  Bruno Haible  <bruno@clisp.org>
69858
69859         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
69860         * lib/fseeko.c: New file.
69861         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
69862         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
69863         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
69864         gl_FUNC_FSEEKO.
69865         (gl_FUNC_FSEEKO): Invoke it.
69866         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
69867         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
69868         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
69869
69870 2007-04-25  Bruno Haible  <bruno@clisp.org>
69871
69872         * modules/fflush (Depends-on): Add ftello.
69873
69874 2007-04-25  Bruno Haible  <bruno@clisp.org>
69875
69876         * modules/ftello-tests: New file.
69877         * tests/test-ftello.c: New file.
69878
69879         * modules/ftello: New file.
69880         * m4/ftello.m4: New file.
69881         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
69882         HAVE_FTELLO.
69883         * lib/stdio_.h (ftello): New declaration.
69884         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
69885         HAVE_FTELLO.
69886
69887 2007-04-25  Bruno Haible  <bruno@clisp.org>
69888
69889         * modules/fseeko-tests: New file.
69890         * tests/test-fseeko.c: New file.
69891
69892         * modules/fseeko: New file.
69893         * m4/fseeko.m4: New file.
69894         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
69895         HAVE_FSEEKO.
69896         * lib/stdio_.h (fseeko): New declaration.
69897         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
69898         HAVE_FSEEKO.
69899
69900 2007-04-25  Bruno Haible  <bruno@clisp.org>
69901
69902         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
69903
69904 2007-04-25  Bruno Haible  <bruno@clisp.org>
69905
69906         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
69907         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
69908         * tests/test-unistd.c: Likewise.
69909         * tests/test-fcntl.c: Likewise.
69910
69911 2007-04-23  Eric Blake  <ebb9@byu.net>
69912
69913         * lib/fflush.c: Fix missing include.
69914         Reported by Bruno Haible.
69915
69916 2007-04-23  Bruno Haible  <bruno@clisp.org>
69917
69918         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
69919         Reported by Eric Blake.
69920
69921 2007-04-23  Bruno Haible  <bruno@clisp.org>
69922
69923         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
69924
69925 2007-04-23  Bruno Haible  <bruno@clisp.org>
69926
69927         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
69928
69929 2007-04-23  Bruno Haible  <bruno@clisp.org>
69930
69931         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
69932         Needed on HP-UX 11.
69933
69934 2007-04-16  Eric Blake  <ebb9@byu.net>
69935
69936         Make fflush rely on fpurge.
69937         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
69938         open coding all variants.
69939         * modules/fflush (Depends-on): Add fpurge and unistd.
69940         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
69941         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
69942
69943         Fix --with-tests compilation on cygwin.
69944         * modules/argmatch-tests (Makefile.am): List gnulib library first
69945         in LDADD.
69946         * modules/argp-tests (Makefile.am): Likewise.
69947         * modules/array-list-tests (Makefile.am): Likewise.
69948         * modules/array-oset-tests (Makefile.am): Likewise.
69949         * modules/avltree-list-tests (Makefile.am): Likewise.
69950         * modules/avltree-oset-tests (Makefile.am): Likewise.
69951         * modules/avltreehash-list-tests (Makefile.am): Likewise.
69952         * modules/carray-list-tests (Makefile.am): Likewise.
69953         * modules/dirname-tests (Makefile.am): Likewise.
69954         * modules/frexp-tests (Makefile.am): Likewise.
69955         * modules/isnanl-tests (Makefile.am): Likewise.
69956         * modules/linked-list-tests (Makefile.am): Likewise.
69957         * modules/linkedhash-list-tests (Makefile.am): Likewise.
69958         * modules/lock-tests (Makefile.am): Likewise.
69959         * modules/rbtree-list-tests (Makefile.am): Likewise.
69960         * modules/rbtree-oset-tests (Makefile.am): Likewise.
69961         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
69962         * modules/tls-tests (Makefile.am): Likewise.
69963         * modules/tsearch-tests (Makefile.am): Likewise.
69964         * modules/xvasprintf-tests (Makefile.am): Likewise.
69965
69966         Fix fpurge for cygwin.
69967         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
69968         value.
69969         * modules/fpurge-tests (Depends-on): Clean up trash.
69970
69971 2007-04-16  Simon Josefsson  <simon@josefsson.org>
69972
69973         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
69974
69975         * m4/autobuild.m4: Re-indent.
69976
69977 2007-04-13  Bruno Haible  <bruno@clisp.org>
69978
69979         * modules/fpurge-tests: New file.
69980         * tests/test-fpurge.c: New file.
69981
69982         * modules/fpurge: New file.
69983         * lib/fpurge.h: New file.
69984         * lib/fpurge.c: New file.
69985         * m4/fpurge.m4: New file.
69986
69987 2007-04-13  Bruno Haible  <bruno@clisp.org>
69988
69989         * modules/fbufmode-tests: New file.
69990         * tests/test-fbufmode.c: New file.
69991
69992         * modules/fbufmode: New file.
69993         * lib/fbufmode.h: New file.
69994         * lib/fbufmode.c: New file.
69995         * m4/fbufmode.m4: New file.
69996
69997 2007-04-13  Bruno Haible  <bruno@clisp.org>
69998
69999         * modules/fwritable-tests: New file.
70000         * tests/test-fwritable.c: New file.
70001
70002         * modules/fwritable: New file.
70003         * lib/fwritable.h: New file.
70004         * lib/fwritable.c: New file.
70005         * m4/fwritable.m4: New file.
70006
70007 2007-04-13  Bruno Haible  <bruno@clisp.org>
70008
70009         * modules/freadable-tests: New file.
70010         * tests/test-freadable.c: New file.
70011
70012         * modules/freadable: New file.
70013         * lib/freadable.h: New file.
70014         * lib/freadable.c: New file.
70015         * m4/freadable.m4: New file.
70016
70017 2007-04-13  Bruno Haible  <bruno@clisp.org>
70018
70019         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
70020         MOSTLYCLEANFILES.
70021
70022 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
70023
70024         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
70025         gzip bootstrap.conf to avoid dragging in i18n machinery.
70026         (gnulib_tool_option): Use it.
70027
70028 2007-04-13  Bruno Haible  <bruno@clisp.org>
70029
70030         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
70031         %F directives.
70032         * tests/test-vasprintf-posix.c (test_function): Likewise.
70033         * tests/test-snprintf-posix.h (test_function): Likewise.
70034         * tests/test-sprintf-posix.h (test_function): Likewise.
70035         * tests/test-fprintf-posix.h (test_function): Likewise.
70036         * tests/test-printf-posix.h (test_function): Likewise.
70037         * tests/test-fprintf-posix.out: Likewise.
70038
70039 2007-04-13  Bruno Haible  <bruno@clisp.org>
70040
70041         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
70042         * modules/tls-tests (configure.ac): Likewise.
70043         Reported by Arto C. Nirkko <anirkko@insel.ch>.
70044
70045 2007-04-13  Bruno Haible  <bruno@clisp.org>
70046
70047         * lib/tls.c (glthread_tls_get): Fix return type.
70048         Patch by Arto C. Nirkko <anirkko@insel.ch>.
70049
70050 2007-04-12  Eric Blake  <ebb9@byu.net>
70051
70052         * modules/gettime (Depends-on): Remove gettime.
70053         Reported by Dmitry V. Levin.
70054
70055 2007-04-12  Bruno Haible  <bruno@clisp.org>
70056
70057         * modules/fflush (Include): Mention <stdio.h>.
70058         * modules/strtoimax (Include): Mention <inttypes.h>.
70059         * modules/strtoumax (Include): Likewise.
70060
70061 2007-04-12  Eric Blake  <ebb9@byu.net>
70062
70063         * .cvsignore: New file.
70064         * .gitignore: Likewise.
70065
70066 2007-04-12  Bruno Haible  <bruno@clisp.org>
70067
70068         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
70069         not before, since $(LDADD) often contains libgnu.a.
70070         * modules/striconv-tests (test_striconv_LDADD): Likewise.
70071         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
70072         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
70073         Needed on Cygwin.
70074
70075 2007-04-12  Eric Blake  <ebb9@byu.net>
70076
70077         Work around glibc's failure to flush stdin on fclose.
70078         * lib/closein.c (close_stdin): Flush stdin before closing.
70079
70080         Work around glibc's failure to reset seekable stdin on exit.
70081         * modules/closein: New module.
70082         * lib/closein.c: New file.
70083         * lib/closein.h: Likewise.
70084         * m4/closein.m4: Likewise.
70085         * MODULES.html.sh (File stream based Input/Output): Document it.
70086
70087 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70088
70089         * gnulib-tool: Rename generated 'autobuild' script to
70090         'do-autobuild' in --create-megatestdir output.
70091
70092         * doc/gnulib.texi (Build robot for gnulib): Fix.
70093
70094 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70095
70096         * modules/sysexits (Depends-on): Add absolute-header.
70097
70098 2007-04-12  Eric Blake  <ebb9@byu.net>
70099
70100         No need to preserve errno on success.
70101         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
70102         Reported by Bruno Haible.
70103
70104 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70105
70106         * MODULES.html.sh (Support for maintaining and releasing
70107         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
70108
70109 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70110
70111         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
70112
70113 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70114
70115         * modules/autobuild: New module.
70116
70117         * m4/autobuild.m4: New file.
70118
70119 2007-04-11  Bruno Haible  <bruno@clisp.org>
70120
70121         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
70122         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
70123         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
70124         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
70125         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
70126         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70127         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70128         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70129         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70130         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70131         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
70132         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70133         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70134         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
70135         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70136         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70137         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
70138         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70139         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70140         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
70141         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70142         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70143         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
70144         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70145         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70146         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
70147         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70148         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70149         Reported by Eric Blake.
70150
70151 2007-04-11  Bruno Haible  <bruno@clisp.org>
70152
70153         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
70154
70155 2007-04-10  Bruno Haible  <bruno@clisp.org>
70156
70157         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
70158         for NaN and Infinity. Needed on FreeBSD 6.1.
70159         * tests/test-vasnprintf-posix.c (test_function): Undo last change
70160         regarding results for "%010a" of Infinity and NaN.
70161         * tests/test-vasprintf-posix.c (test_function): Likewise.
70162         * tests/test-snprintf-posix.h (test_function): Likewise.
70163         * tests/test-sprintf-posix.h (test_function): Likewise.
70164         * tests/test-fprintf-posix.h (test_function): Likewise.
70165         * tests/test-printf-posix.h (test_function): Likewise.
70166         * tests/test-fprintf-posix.out: Likewise.
70167
70168 2007-04-10  Bruno Haible  <bruno@clisp.org>
70169
70170         * modules/locale-tests: New file.
70171         * tests/test-locale.c: New file.
70172
70173         * modules/locale: New file.
70174         * lib/locale_.h: New file.
70175         * m4/locale_h.m4: New file.
70176
70177 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
70178             Bruno Haible  <bruno@clisp.org>
70179
70180         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
70181         be determined, test for availability of the copysignf, copysign,
70182         copysignl functions.
70183         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
70184         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
70185         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
70186
70187 2007-04-09  Eric Blake  <ebb9@byu.net>
70188
70189         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
70190         * modules/stdio (Makefile.am): Support fflush.
70191         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
70192         * modules/fflush: New file.
70193         * lib/fflush.c: Likewise.
70194         * m4/fflush.m4: Likewise.
70195         * modules/fflush-tests: New test.
70196         * tests/test-fflush.c: Likewise.
70197         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
70198
70199 2007-04-06  Bruno Haible  <bruno@clisp.org>
70200
70201         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
70202         (VASNPRINTF): Use signbit for faster determination whether to print a
70203         minus sign.
70204         * modules/vasnprintf (Files): Remove lib/float+.h.
70205         * modules/fprintf-posix (Depends-on): Add signbit.
70206         * modules/snprintf-posix (Depends-on): Likewise.
70207         * modules/sprintf-posix (Depends-on): Likewise.
70208         * modules/vasnprintf-posix (Depends-on): Likewise.
70209         * modules/vasprintf-posix (Depends-on): Likewise.
70210         * modules/vfprintf-posix (Depends-on): Likewise.
70211         * modules/vsnprintf-posix (Depends-on): Likewise.
70212         * modules/vsprintf-posix (Depends-on): Likewise.
70213
70214 2007-04-06  Bruno Haible  <bruno@clisp.org>
70215
70216         * tests/test-frexp.c (main): Test also the sign bit of zero results.
70217         * tests/test-frexpl.c (main): Likewise.
70218         * tests/test-ldexpl.c (main): Likewise.
70219         * modules/frexp-tests (Depends-on): Add signbit.
70220         * modules/frexpl-tests (Depdends-on): Likewise.
70221         * modules/ldexpl-tests (Depdends-on): Likewise.
70222
70223 2007-04-06  Bruno Haible  <bruno@clisp.org>
70224
70225         * modules/signbit-tests: New file.
70226         * tests/test-signbit.c: New file.
70227
70228         * modules/signbit: New file.
70229         * lib/signbitf.c: New file.
70230         * lib/signbitd.c: New file.
70231         * lib/signbitl.c: New file.
70232         * m4/signbit.m4: New file.
70233         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
70234         (signbit): New macro.
70235         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
70236         REPLACE_SIGNBIT.
70237         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
70238         REPLACE_FREXPL into math.h.
70239
70240 2007-04-06  Bruno Haible  <bruno@clisp.org>
70241
70242         * modules/isnanf-nolibm-tests: New file.
70243         * tests/test-isnanf.c: New file.
70244
70245         * modules/isnanf-nolibm: New file.
70246         * lib/isnanf.h: New file.
70247         * lib/isnanf.c: New file.
70248         * lib/isnan.c: Consider the USE_FLOAT macro.
70249         * m4/isnanf.m4: New file.
70250
70251 2007-04-06  Bruno Haible  <bruno@clisp.org>
70252
70253         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
70254         (Link): New section.
70255
70256         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
70257
70258 2007-04-06  Bruno Haible  <bruno@clisp.org>
70259
70260         Assume the 'long double' type.
70261         * m4/longdouble.m4: Remove file.
70262         * config/srclist.txt: Don't mention longdouble.m4.
70263         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
70264         * lib/float+.h: Likewise.
70265         * lib/frexp.c: Likewise.
70266         * lib/printf-args.h: Likewise.
70267         * lib/printf-args.c: Likewise.
70268         * lib/printf-frexp.c: Likewise.
70269         * lib/printf-parse.c: Likewise.
70270         * lib/vasnprintf.c: Likewise.
70271         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
70272         * m4/intl.m4: Likewise.
70273         * m4/isnanl.m4: Likewise.
70274         * m4/printf.m4: Likewise.
70275         * m4/printf-frexpl.m4: Likewise.
70276         * m4/vasnprintf.m4: Likewise.
70277         * modules/allocsa (Files): Remove m4/longdouble.m4.
70278         * modules/gettext (Files): Likewise.
70279         * modules/relocatable-prog-wrapper (Files): Likewise.
70280         * modules/vasnprintf (Files): Likewise.
70281         * modules/isnanl (Files): Likewise.
70282         (Include): Simplify.
70283         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
70284         (Include): Simplify.
70285         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
70286         (Include): Simplify.
70287         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
70288         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70289         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
70290         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70291         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70292         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70293         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
70294         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70295         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70296         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70297         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
70298         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70299         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
70300         * tests/test-isnanl.c: Likewise.
70301         * tests/test-snprintf-posix.h: Likewise.
70302         * tests/test-sprintf-posix.h: Likewise.
70303         * tests/test-vasnprintf-posix.c: Likewise.
70304         * tests/test-vasnprintf-posix2.c: Likewise.
70305         * tests/test-vasprintf-posix.c: Likewise.
70306
70307 2007-04-06  Bruno Haible  <bruno@clisp.org>
70308
70309         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
70310         * lib/math_.h [__DECC]: Include the overridden include file through
70311         #include_next, outside the double-inclusion guard.
70312         * lib/stdio_.h [__DECC]: Likewise.
70313         * lib/stdlib_.h [__DECC]: Likewise.
70314         * lib/string_.h [__DECC]: Likewise.
70315         * lib/time_.h [__DECC]: Likewise.
70316         * lib/wchar_.h [__DECC]: Likewise.
70317         * lib/wctype_.h [__DECC]: Likewise.
70318         * lib/inttypes_.h [__DECC]: Likewise.
70319         Reported by Albert Chin <china@thewrittenword.com> in
70320         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
70321
70322 2007-04-04  Eric Blake  <ebb9@byu.net>
70323
70324         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
70325         1.5.x.
70326
70327 2007-04-04  Bruno Haible  <bruno@clisp.org>
70328
70329         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
70330         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
70331
70332 2007-04-04  Bruno Haible  <bruno@clisp.org>
70333
70334         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
70335         results for "%010a" of Infinity and NaN.
70336         * tests/test-vasprintf-posix.c (test_function): Likewise.
70337         * tests/test-snprintf-posix.h (test_function): Likewise.
70338         * tests/test-sprintf-posix.h (test_function): Likewise.
70339         * tests/test-fprintf-posix.h (test_function): Remove these tests.
70340         * tests/test-printf-posix.h (test_function): Likewise.
70341         * tests/test-fprintf-posix.out: Update.
70342         Needed for FreeBSD 6.1.
70343
70344 2007-04-04  Bruno Haible  <bruno@clisp.org>
70345
70346         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
70347         directly used by the gnulib modules nor by gnulib-tool.
70348
70349 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
70350
70351         * DEPENDENCIES: Give overall description of version dependency
70352         desirability.  Use more-typical names for apps.
70353         Add shell, coreutils, diffutils, grep, tar, gzip.
70354
70355 2007-04-04  Simon Josefsson  <simon@josefsson.org>
70356
70357         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
70358
70359 2007-04-04  Karl Berry  <karl@gnu.org>
70360
70361         * MODULES.html.sh (func_module): missing '.
70362
70363 2007-04-03  Bruno Haible  <bruno@clisp.org>
70364
70365         * modules/argmatch-tests (Makefile.am): New variable
70366         test_argmatch_LDADD.
70367         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
70368         * modules/array-list-tests (Makefile.am): New variable
70369         test_array_list_LDADD.
70370         * modules/array-oset-tests (Makefile.am): New variable
70371         test_array_oset_LDADD.
70372         * modules/avltree-list-tests (Makefile.am): New variable
70373         test_avltree_list_LDADD.
70374         * modules/avltree-oset-tests (Makefile.am): New variable
70375         test_avltree_oset_LDADD.
70376         * modules/avltreehash-list-tests (Makefile.am): New variable
70377         test_avltreehash_list_LDADD.
70378         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
70379         test_canonicalize_lgpl_LDADD.
70380         * modules/carray-list-tests (Makefile.am): New variable
70381         test_carray_list_LDADD.
70382         * modules/dirname-tests (Makefile.am): New variable
70383         test_dirname_LDADD.
70384         * modules/linked-list-tests (Makefile.am): New variable
70385         test_linked_list_LDADD.
70386         * modules/linkedhash-list-tests (Makefile.am): New variable
70387         test_linkedhash_list_LDADD.
70388         * modules/rbtree-list-tests (Makefile.am): New variable
70389         test_rbtree_list_LDADD.
70390         * modules/rbtree-oset-tests (Makefile.am): New variable
70391         test_rbtree_oset_LDADD.
70392         * modules/rbtreehash-list-tests (Makefile.am): New variable
70393         test_rbtreehash_list_LDADD.
70394         * modules/xvasprintf-tests (Makefile.am): New variable
70395         test_xvasprintf_LDADD.
70396         Reported by Eric Blake.
70397
70398 2007-04-03  Eric Blake  <ebb9@byu.net>
70399
70400         * DEPENDENCIES: Weaken m4 requirements.
70401
70402 2007-04-03  Bruno Haible  <bruno@clisp.org>
70403
70404         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
70405         * modules/isnanl-tests (configure.ac): Likewise.
70406
70407 2007-04-03  Ben Pfaff  <blp@gnu.org>
70408
70409         * modules/iconv_open: Add $(srcdir)/ to source directory
70410         references in Makefile fragments that call gperf, to fix VPATH
70411         builds.
70412
70413 2007-04-03  Bruno Haible  <bruno@clisp.org>
70414
70415         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
70416         * lib/ldexpl.c: Undo last change.
70417
70418 2007-04-03  Bruno Haible  <bruno@clisp.org>
70419
70420         * modules/printf-frexpl (Depends-on): Undo last change.
70421         (Files): Add m4/ldexpl.m4.
70422
70423 2007-04-03  Bruno Haible  <bruno@clisp.org>
70424
70425         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
70426         * modules/isnanl (Link): New section.
70427
70428         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
70429         * modules/frexp (Link): New section.
70430
70431         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
70432         * modules/frexpl (Link): New section.
70433
70434         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
70435         * modules/ldexpl (Link): New section.
70436
70437 2007-04-03  Bruno Haible  <bruno@clisp.org>
70438
70439         * modules/TEMPLATE-EXTENDED: New file.
70440         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
70441
70442 2007-04-03  Bruno Haible  <bruno@clisp.org>
70443
70444         * DEPENDENCIES: New file.
70445         Suggested by Simon Josefsson.
70446
70447 2007-04-03  Bruno Haible  <bruno@clisp.org>
70448
70449         * doc/gnulib.texi: Escape @.
70450
70451 2007-04-03  James Youngman  <jay@gnu.org>
70452         and Paul Eggert  <eggert@cs.ucla.edu>
70453
70454         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
70455         birthtime on all systems that have birthtime, not just those which
70456         use st_birthtimensec rather than st_birthtim.  Putting zero in
70457         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
70458         that the birth time is not available for files on an NFS mount.
70459
70460 2007-04-03  Simon Josefsson  <simon@josefsson.org>
70461
70462         * modules/memxor: Move back from crypto/, suggested by Bruno.
70463         * modules/crypto/hmac-sha1: Fix memxor dependency.
70464
70465         * modules/crypto/gc: Moved from ../.
70466
70467 2007-04-02  Eric Blake  <ebb9@byu.net>
70468
70469         * lib/ldexpl.c (includes): Avoid libm.
70470
70471         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
70472
70473 2007-04-02  Bruno Haible  <bruno@clisp.org>
70474
70475         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
70476         on IRIX.
70477
70478 2007-04-02  Bruno Haible  <bruno@clisp.org>
70479
70480         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
70481         x86 or x86_64 platforms running MacOS X.
70482         Reported by Ryan Schmidt <@ryandesign.com>.
70483
70484 2007-04-02  Bruno Haible  <bruno@clisp.org>
70485
70486         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
70487         i386.
70488
70489 2007-04-01  Simon Josefsson  <simon@josefsson.org>
70490
70491         * modules/crypto/arcfour: Moved from ../.
70492         * modules/crypto/arcfour-tests: Moved from ../.
70493         * modules/crypto/arctwo: Moved from ../.
70494         * modules/crypto/arctwo-tests: Moved from ../.
70495         * modules/crypto/des: Moved from ../.
70496         * modules/crypto/des-tests: Moved from ../.
70497         * modules/crypto/gc-arcfour: Moved from ../.
70498         * modules/crypto/gc-arcfour-tests: Moved from ../.
70499         * modules/crypto/gc-arctwo: Moved from ../.
70500         * modules/crypto/gc-arctwo-tests: Moved from ../.
70501         * modules/crypto/gc-des: Moved from ../.
70502         * modules/crypto/gc-des-tests: Moved from ../.
70503         * modules/crypto/gc-hmac-md5: Moved from ../.
70504         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
70505         * modules/crypto/gc-hmac-sha1: Moved from ../.
70506         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
70507         * modules/crypto/gc-md2: Moved from ../.
70508         * modules/crypto/gc-md2-tests: Moved from ../.
70509         * modules/crypto/gc-md4: Moved from ../.
70510         * modules/crypto/gc-md4-tests: Moved from ../.
70511         * modules/crypto/gc-md5: Moved from ../.
70512         * modules/crypto/gc-md5-tests: Moved from ../.
70513         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
70514         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
70515         * modules/crypto/gc-random: Moved from ../.
70516         * modules/crypto/gc-rijndael: Moved from ../.
70517         * modules/crypto/gc-rijndael-tests: Moved from ../.
70518         * modules/crypto/gc-sha1: Moved from ../.
70519         * modules/crypto/gc-sha1-tests: Moved from ../.
70520         * modules/crypto/gc-tests: Moved from ../.
70521         * modules/crypto/hmac-md5: Moved from ../.
70522         * modules/crypto/hmac-md5-tests: Moved from ../.
70523         * modules/crypto/hmac-sha1: Moved from ../.
70524         * modules/crypto/hmac-sha1-tests: Moved from ../.
70525         * modules/crypto/md2: Moved from ../.
70526         * modules/crypto/md2-tests: Moved from ../.
70527         * modules/crypto/md4: Moved from ../.
70528         * modules/crypto/md4-tests: Moved from ../.
70529         * modules/crypto/md5: Moved from ../.
70530         * modules/crypto/md5-tests: Moved from ../.
70531         * modules/crypto/memxor: Moved from ../.
70532         * modules/crypto/rijndael: Moved from ../.
70533         * modules/crypto/rijndael-tests: Moved from ../.
70534         * modules/crypto/sha1: Moved from ../.
70535
70536 2007-03-30  James Youngman  <jay@gnu.org>
70537
70538         * tests/test-stat-time.c (prepare_test): use chmod() rather than
70539         rename() to change the ctime of a file (because ctime is unaffected
70540         by rename on jfs2 on AIX 5.1).
70541         (main): Start by doing cleanup, in case a previous run failed leaving
70542         test files behind.
70543
70544 2007-03-31  Bruno Haible  <bruno@clisp.org>
70545
70546         Support old proprietary implementations of iconv.
70547         * modules/iconv_open: New file.
70548         * lib/iconv_.h: New file.
70549         * m4/iconv_h.m4: New file.
70550         * lib/iconv_open.c: New file.
70551         * lib/iconv_open-aix.gperf: New file.
70552         * lib/iconv_open-hpux.gperf: New file.
70553         * lib/iconv_open-irix.gperf: New file.
70554         * lib/iconv_open-osf.gperf: New file.
70555         * m4/iconv_open.m4: New file.
70556         * modules/linebreak (Depends-on): Add iconv_open.
70557         * modules/striconv (Depends-on): Likewise.
70558         * modules/striconveh (Depends-on): Likewise.
70559         * modules/unicodeio (Depends-on): Likewise.
70560         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
70561         (iconv_t)(-1).
70562         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
70563         conversion if cd is (iconv_t)(-1).
70564         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
70565         is not possible.
70566
70567 2007-03-31  Bruno Haible  <bruno@clisp.org>
70568
70569         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70570         work on Solaris either. Protect also second use of "autodetect_jp".
70571
70572 2007-03-31  Bruno Haible  <bruno@clisp.org>
70573
70574         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
70575         the function is not present.
70576
70577 2007-03-31  Bruno Haible  <bruno@clisp.org>
70578
70579         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
70580         the function is not present.
70581
70582 2007-03-31  Bruno Haible  <bruno@clisp.org>
70583
70584         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
70585         a bug in HP-UX iconv_open().
70586
70587 2007-03-31  Bruno Haible  <bruno@clisp.org>
70588
70589         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
70590         (Mathematics <math.h>): New section, add fpieee.
70591         (Input/output <stdio.h>): Add fseterr.
70592         (Mathematics <math.h>): New section, add printf-frexp.
70593         (Container data structures): Add sublist.
70594         (Core language properties): Add fpucw, inline.
70595         (Functions for greatest-width integer types <inttypes.h>): Add
70596         imaxabs, imaxdiv, inttypes.
70597         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
70598         isnanl-nolibm, ldexp.
70599         (Mathematics <math.h>): New section, add printf-frexpl.
70600         (Support for systems lacking POSIX:2001): Add fprintf-posix,
70601         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
70602         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
70603         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
70604         (Unicode string functions): Add unistr/u*-mbtoucr.
70605         (Java): Add javacomp-script, javaexec-script.
70606         (C#): Add csharpcomp-script, csharpexec-script.
70607         (Support for building libraries and executables): Add havelib,
70608         relocatable-*.
70609         (Support for maintaining and releasing projects): Renamed from
70610         'Support for maintaining and release projects'. Add announce-gen.
70611
70612 2007-03-31  Bruno Haible  <bruno@clisp.org>
70613
70614         * README: Talk primarily about git.
70615         (git and CVS): Renamed from CVS.
70616         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
70617         gnulib is available through git.
70618         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
70619
70620 2007-03-30  Bruno Haible  <bruno@clisp.org>
70621
70622         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
70623         * lib/poll_.h: Likewise.
70624         * lib/stat_.h: Likewise.
70625         * lib/sys_time_.h: Likewise.
70626         * lib/sysexit_.h: Likewise.
70627         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
70628         * lib/stdbool_.h: Likewise.
70629         * lib/byteswap_.h: Add double-inclusion guard.
70630
70631 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
70632
70633         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
70634
70635 2007-03-30  Karl Berry  <karl@gnu.org>
70636
70637         * config/srclist-update: double space after USA in the license
70638         substitution, since that's how it's usually (?) written.
70639
70640 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
70641
70642         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
70643         reported by Bruno Haible.
70644
70645 2007-03-29  Bruno Haible  <bruno@clisp.org>
70646
70647         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
70648         a bug in AIX iconv().
70649
70650 2007-03-29  Bruno Haible  <bruno@clisp.org>
70651
70652         * modules/ldexpl-tests: New file.
70653         * tests/test-ldexpl.c: New file.
70654
70655 2007-03-29  Bruno Haible  <bruno@clisp.org>
70656
70657         * lib/ldexpl.c: Include fpucw.h.
70658         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
70659         multiplication.
70660         * modules/ldexpl (Depends-on): Add fpucw.
70661
70662 2007-03-29  Bruno Haible  <bruno@clisp.org>
70663
70664         * modules/ldexpl: New file.
70665         * m4/ldexpl.m4: New file.
70666         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
70667         set.
70668         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
70669         REPLACE_LDEXPL.
70670         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
70671         REPLACE_LDEXPL.
70672         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
70673         gl_FUNC_LDEXPL_WORKS.
70674         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
70675         * modules/mathl (Files): Remove lib/ldexpl.c.
70676         (Depends-on): Add ldexpl.
70677
70678 2007-03-29  Bruno Haible  <bruno@clisp.org>
70679
70680         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
70681
70682 2007-03-29  Bruno Haible  <bruno@clisp.org>
70683
70684         * tests/test-striconveh.c (main): Don't assume that a direct conversion
70685         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
70686         and possibly also HP-UX.
70687         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70688         work on AIX, IRIX, HP-UX, OSF/1.
70689         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
70690         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
70691         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
70692         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
70693         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
70694         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
70695
70696 2007-03-29  Bruno Haible  <bruno@clisp.org>
70697
70698         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
70699
70700 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70701
70702         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
70703         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
70704
70705 2007-03-29  Eric Blake  <ebb9@byu.net>
70706
70707         * lib/acl-internal.h: Remove redundant include.
70708         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
70709         Cygwin when a file is locked.
70710
70711 2007-03-29  Bruno Haible  <bruno@clisp.org>
70712
70713         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
70714         file.
70715         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
70716
70717 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70718
70719         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
70720         try to remove a parent directory if the child couldn't be removed
70721         (except for the first rmdir, which could fail because the child
70722         doesn't exist).  Problem reported by Jeff Blaine in
70723         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
70724
70725 2007-03-28  Bruno Haible  <bruno@clisp.org>
70726
70727         * lib/striconveh.c (utf8conv_carefully): New function.
70728         (mem_cd_iconveh_internal): Invoke it.
70729
70730 2007-03-28  Bruno Haible  <bruno@clisp.org>
70731
70732         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
70733         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
70734         input.
70735         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
70736         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
70737         unistr/u8-uctomb.
70738
70739 2007-03-28  Bruno Haible  <bruno@clisp.org>
70740
70741         * modules/unistr/u8-mbtoucr: New file.
70742         * lib/unistr/u8-mbtoucr.c: New file.
70743         * modules/unistr/u16-mbtoucr: New file.
70744         * lib/unistr/u16-mbtoucr.c: New file.
70745         * modules/unistr/u16-mbtoucr: New file.
70746         * lib/unistr/u16-mbtoucr.c: New file.
70747         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
70748
70749 2007-03-27  Simon Josefsson  <simon@josefsson.org>
70750             Bruno Haible  <bruno@clisp.org>
70751
70752         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
70753         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
70754         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
70755
70756         * m4/stdio_h.m4: Add stubs for vasprintf too.
70757
70758         * modules/stdio: Support vasprintf in sed command.
70759
70760         * modules/vasprintf: Depend on stdio for prototypes.  Remove
70761         vasprintf.h.  Add stdio module indicator.
70762
70763         * lib/stdio_.h: Declare asprintf and vasprintf, based on
70764         vasprintf.h.
70765
70766         * lib/vasprintf.h: File removed.
70767
70768         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
70769         * lib/vasprintf.c: Ditto.
70770         * lib/xvasprintf.c: Ditto.
70771         * tests/test-vasprintf-posix.c: Ditto.
70772         * tests/test-vasprintf.c: Ditto.
70773
70774 2007-03-27  Bruno Haible  <bruno@clisp.org>
70775
70776         Make vasnprintf multithread-safe.
70777         * lib/vasnprintf.c (decimal_point_char): New function.
70778         (VASNPRINTF): Use it.
70779         Suggested by Simon Josefsson.
70780
70781 2007-03-27  Eric Blake  <ebb9@byu.net>
70782
70783         Support sub-second birthtime on cygwin.
70784         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
70785         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
70786         (get_stat_birthtime): Also work with st_birthtim.
70787
70788 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
70789
70790         * lib/stat-time.h (USE_BIRTHTIME): Remove.
70791         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
70792         (get_stat_birthtime_ns): Do not try to use "spare" fields.
70793         (get_stat_birthtime_ns): Simplify compile-time tests.
70794         (get_stat_birthtime): Change the API to look like
70795         get_stat_mtime etc., except return a negative tv_nsec on error.
70796         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
70797         Don't check for "spare" fields.
70798         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
70799         or for struct stat.st_birthtime, as these tests aren't used.
70800         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
70801
70802 2007-03-27  Bruno Haible  <bruno@clisp.org>
70803
70804         * lib/stat-time.h: Include <sys/stat.h>.
70805
70806 2007-03-27  James Youngman  <jay@gnu.org>
70807
70808         * lib/stat-time.h (get_stat_birthtime): New function for
70809           retrieving st_birthtime as provided by UFS2 (hence *BSD).
70810         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
70811           and its variants.
70812         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
70813         * modules/stat-time-test: New file.
70814         * tests/test-stat-time.c: New test, devised by Bruno Haible.
70815
70816 2007-03-26  Bruno Haible  <bruno@clisp.org>
70817
70818         Better support of signalling NaNs.
70819         * lib/atanl.c: Include isnanl.h.
70820         (atanl): Perform test for NaN at the beginning of the function and
70821         through a call to isnanl.
70822         * lib/cosl.c: Include isnanl.h.
70823         (cosl): Perform test for NaN at the beginning of the function and
70824         through a call to isnanl.
70825         * lib/ldexpl.c: Include isnanl.h.
70826         (ldexpl): Perform test for NaN through a call to isnanl.
70827         * lib/logl.c: Include isnanl.h.
70828         (logl): Perform test for NaN at the beginning of the function and
70829         through a call to isnanl.
70830         * lib/sinl.c: Include isnanl.h.
70831         (sinl): Perform test for NaN at the beginning of the function and
70832         through a call to isnanl.
70833         * lib/sqrtl.c: Include isnanl.h.
70834         (sqrtl): Perform test for NaN at the beginning of the function and
70835         through a call to isnanl.
70836         * lib/tanl.c: Include isnanl.h.
70837         (tanl): Perform test for NaN at the beginning of the function and
70838         through a call to isnanl.
70839         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
70840         * modules/mathl (Depends-on): Add isnanl.
70841
70842 2007-03-26  Eric Blake  <ebb9@byu.net>
70843
70844         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
70845         regression in logic sense of previous patch.
70846
70847 2007-03-26  Bruno Haible  <bruno@clisp.org>
70848
70849         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
70850         unportable shell command "if ! ...".
70851         Reported by Ralf Wildenhues.
70852
70853 2007-03-25  Bruno Haible  <bruno@clisp.org>
70854
70855         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
70856         <sysexits.h> file, and only add EX_CONFIG.
70857         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
70858         absolute file name and whether it is sufficient. Substitute also
70859         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
70860         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
70861         ABSOLUTE_SYSEXITS_H into sysexits.h.
70862
70863 2007-03-25  Bruno Haible  <bruno@clisp.org>
70864
70865         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
70866         hints is NULL.
70867
70868 2007-03-25  Bruno Haible  <bruno@clisp.org>
70869
70870         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
70871         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
70872
70873 2007-03-25  Bruno Haible  <bruno@clisp.org>
70874
70875         * lib/vasnprintf.c: Include langinfo.h.
70876         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
70877         multithread-safe.
70878         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
70879         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
70880         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
70881         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70882         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70883         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70884         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70885         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
70886         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70887         Reported by Simon Josefsson.
70888
70889 2007-03-25  Bruno Haible  <bruno@clisp.org>
70890
70891         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
70892         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
70893         * modules/vasnprintf (Depends-on): Add stdint.
70894
70895 2007-03-25  Bruno Haible  <bruno@clisp.org>
70896
70897         * modules/fpieee: New file.
70898         * m4/fpieee.m4: New file.
70899         * modules/isnan-nolibm (Depends-on): Add fpieee.
70900         * modules/isnanl-nolibm (Depends-on): Add fpieee.
70901         * modules/isnanl (Depends-on): Add fpieee.
70902
70903 2007-03-25  Bruno Haible  <bruno@clisp.org>
70904
70905         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
70906
70907 2007-03-25  Bruno Haible  <bruno@clisp.org>
70908
70909         Avoid test failures on IRIX 6.5.
70910         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
70911         (main): Use it.
70912         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
70913         macros.
70914         (main): Use them.
70915
70916 2007-03-25  Bruno Haible  <bruno@clisp.org>
70917
70918         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
70919         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
70920         exists but doesn't work.
70921         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
70922         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
70923         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
70924         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
70925         math.h.
70926
70927 2007-03-25  Bruno Haible  <bruno@clisp.org>
70928
70929         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
70930         returns inf. Needed on IRIX 6.5.
70931
70932 2007-03-25  Bruno Haible  <bruno@clisp.org>
70933
70934         * tests/test-frexpl.c: Include isnanl-nolibm.h.
70935         (main): Use isnanl instead of x != x idiom.
70936         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
70937
70938         * tests/test-frexp.c: Include isnan.h.
70939         (main): Use isnan instead of x != x idiom.
70940         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
70941
70942 2007-03-25  Bruno Haible  <bruno@clisp.org>
70943
70944         * tests/test-frexp.c (NaN): New function/macro.
70945         (main): Use it instead of 0.0 / 0.0.
70946         * tests/test-isnan.c (NaN): New function/macro.
70947         (main): Use it instead of 0.0 / 0.0.
70948         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
70949         (test_function): Use it instead of 0.0 / 0.0.
70950         * tests/test-vasprintf-posix.c (NaN): New function/macro.
70951         (test_function): Use it instead of 0.0 / 0.0.
70952         * tests/test-snprintf-posix.h (NaN): New function/macro.
70953         (test_function): Use it instead of 0.0 / 0.0.
70954         * tests/test-sprintf-posix.h (NaN): New function/macro.
70955         (test_function): Use it instead of 0.0 / 0.0.
70956         * tests/test-fprintf-posix.h (NaN): New function/macro.
70957         (test_function): Use it instead of 0.0 / 0.0.
70958         * tests/test-printf-posix.h (NaN): New function/macro.
70959         (test_function): Use it instead of 0.0 / 0.0.
70960
70961         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
70962
70963 2007-03-25  Bruno Haible  <bruno@clisp.org>
70964
70965         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
70966
70967 2007-03-25  Bruno Haible  <bruno@clisp.org>
70968
70969         * lib/regexec.c (merge_state_with_log): Make static.
70970
70971 2007-03-25  Bruno Haible  <bruno@clisp.org>
70972
70973         * lib/trigl.c (kernel_rem_pio2): Make static.
70974
70975 2007-03-25  Bruno Haible  <bruno@clisp.org>
70976
70977         * lib/sincosl.c (sincosl_table): Make static.
70978
70979 2007-03-25  Bruno Haible  <bruno@clisp.org>
70980
70981         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
70982         if the compiler does not support C99.
70983
70984 2007-03-25  Bruno Haible  <bruno@clisp.org>
70985
70986         * modules/time (Makefile.am): Ensure all rule action lines start with a
70987         tab.
70988
70989 2007-03-24  Bruno Haible  <bruno@clisp.org>
70990
70991         * modules/tsearch-tests: New file.
70992         * tests/test-tsearch.sh: New file.
70993         * tests/test-tsearch.c: New file, mostly copied from glibc.
70994
70995         * modules/search-tests: New file.
70996         * tests/test-search.c: New file.
70997
70998         * modules/search: New file.
70999         * lib/search_.h: New file, incorporating lib/tsearch.h.
71000         * m4/search_h.m4: New file.
71001         * lib/tsearch.h: Remove file.
71002         * lib/tsearch.c: Include search.h instead of tsearch.h.
71003         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
71004         HAVE_TSEARCH.
71005         * modules/tsearch (Files): Remove lib/tsearch.h.
71006         (Depends-on): Add search.
71007         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
71008         (Include): Change tsearch.h into search.h.
71009
71010 2007-03-24  Bruno Haible  <bruno@clisp.org>
71011
71012         * modules/fpucw: New file.
71013         * lib/fpucw.h: New file.
71014         * lib/frexp.c: Include fpucw.h.
71015         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71016         (FUNC): Use them.
71017         * lib/printf-frexp.c: Include fpucw.h.
71018         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71019         (FUNC): Use them.
71020         * lib/vasnprintf.c: Include fpucw.h.
71021         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
71022         'long double' calculations.
71023         * tests/test-frexpl.c: Include fpucw.h.
71024         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71025         * tests/test-printf-frexpl.c: Include fpucw.h.
71026         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71027         * modules/frexpl (Depends-on): Add fpucw.
71028         * modules/printf-frexpl (Depends-on): Likewise.
71029         * modules/fprintf-posix (Depends-on): Likewise.
71030         * modules/snprintf-posix (Depends-on): Likewise.
71031         * modules/sprintf-posix (Depends-on): Likewise.
71032         * modules/vasnprintf-posix (Depends-on): Likewise.
71033         * modules/vasprintf-posix (Depends-on): Likewise.
71034         * modules/vfprintf-posix (Depends-on): Likewise.
71035         * modules/vsnprintf-posix (Depends-on): Likewise.
71036         * modules/vsprintf-posix (Depends-on): Likewise.
71037         * modules/frexpl-tests (Depends-on): Likewise.
71038         * modules/printf-frexpl-tests (Depends-on): Likewise.
71039
71040 2007-03-24  Bruno Haible  <bruno@clisp.org>
71041
71042         * lib/float+.h: New file.
71043         * lib/isnan.c: Include float+.h.
71044         (SIZE): New macro.
71045         (FUNC): Compare only SIZE bytes of the value.
71046         * lib/vasnprintf.c: Include float+.h.
71047         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
71048         SIZEOF_LDBL or SIZEOF_DBL bytes.
71049         * modules/isnan-nolibm (Files): Add lib/float+.h.
71050         * modules/isnanl-nolibm (Files): Add lib/float+.h.
71051         * modules/isnanl (Files): Add lib/float+.h.
71052         * modules/vasnprintf (Files): Add lib/float+.h.
71053
71054 2007-03-24  Bruno Haible  <bruno@clisp.org>
71055
71056         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
71057         include isnanl-nolibm.h.
71058
71059 2007-03-24  Bruno Haible  <bruno@clisp.org>
71060
71061         * tests/test-read-file.c (main): Don't produce spurious output for
71062         expected situations. Make the test fail if it encountered unexpected
71063         results.
71064
71065 2007-03-24  Bruno Haible  <bruno@clisp.org>
71066
71067         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
71068         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
71069
71070 2007-03-24  Bruno Haible  <bruno@clisp.org>
71071
71072         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
71073
71074 2007-03-24  Bruno Haible  <bruno@clisp.org>
71075
71076         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
71077         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
71078
71079         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
71080         * modules/utf8-ucs4: Turn into a symbolic link to module
71081         unistr/u8-mbtouc.
71082
71083         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
71084         utf8-ucs4-unsafe.
71085         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
71086         unistr/u8-mbtouc-unsafe.
71087
71088         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
71089         * modules/utf16-ucs4: Turn into a symbolic link to module
71090         unistr/u16-mbtouc.
71091
71092         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
71093         utf16-ucs4-unsafe.
71094         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
71095         unistr/u16-mbtouc-unsafe.
71096
71097         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
71098         * modules/ucs4-utf8: Turn into a symbolic link to module
71099         unistr/u8-ubtomb.
71100
71101         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
71102         * modules/ucs4-utf16: Turn into a symbolic link to module
71103         unistr/u16-ubtomb.
71104
71105 2007-03-24  Bruno Haible  <bruno@clisp.org>
71106
71107         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
71108         Enable the function only if HAVE_INLINE.
71109         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
71110         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71111         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
71112         Enable the function only if HAVE_INLINE.
71113         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
71114         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71115         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
71116         Enable the function only if HAVE_INLINE.
71117         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
71118         Enable the function only if HAVE_INLINE.
71119         * modules/utf8-ucs4: Update.
71120         * modules/utf8-ucs4-unsafe: Update.
71121         * modules/utf16-ucs4: Update.
71122         * modules/utf16-ucs4-unsafe: Update.
71123         * modules/ucs4-utf8: Update.
71124         * modules/ucs4-utf16: Update.
71125
71126 2007-03-24  Bruno Haible  <bruno@clisp.org>
71127
71128         * lib/utf8-ucs4.h: Remove file.
71129         * lib/utf8-ucs4-unsafe.h: Remove file.
71130         * lib/utf16-ucs4.h: Remove file.
71131         * lib/utf16-ucs4-unsafe.h: Remove file.
71132         * lib/ucs4-utf8.h: Remove file.
71133         * lib/ucs4-utf16.h: Remove file.
71134         * lib/unistr.h: Include their previous contents.
71135         * m4/utf-ucs4.m4: Remove file.
71136         * m4/ucs4-utf.m4: Remove file.
71137         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
71138         (Depends-on): Add unistr/base.
71139         (configure.ac): Remove gl_UTF_UCS4.
71140         (Makefile.am): Update.
71141         (Include): Change to unistr.h.
71142         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
71143         (Depends-on): Add unistr/base.
71144         (configure.ac): Remove gl_UTF_UCS4.
71145         (Makefile.am): Update.
71146         (Include): Change to unistr.h.
71147         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
71148         (Depends-on): Add unistr/base.
71149         (configure.ac): Remove gl_UTF_UCS4.
71150         (Makefile.am): Update.
71151         (Include): Change to unistr.h.
71152         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
71153         (Depends-on): Add unistr/base.
71154         (configure.ac): Remove gl_UTF_UCS4.
71155         (Makefile.am): Update.
71156         (Include): Change to unistr.h.
71157         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
71158         (Depends-on): Add unistr/base.
71159         (configure.ac): Remove gl_UCS4_UTF.
71160         (Makefile.am): Update.
71161         (Include): Change to unistr.h.
71162         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
71163         (Depends-on): Add unistr/base.
71164         (configure.ac): Remove gl_UCS4_UTF.
71165         (Makefile.am): Update.
71166         (Include): Change to unistr.h.
71167         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
71168         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
71169         utf8-ucs4-unsafe.h.
71170         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
71171         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
71172         utf16-ucs4-unsafe.h.
71173         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
71174         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
71175         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
71176         * lib/unistr/u8-strchr.c: Likewise.
71177         * lib/unistr/u8-strrchr.c: Likewise.
71178         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
71179         * lib/unistr/u16-strchr.c: Likewise.
71180         * lib/unistr/u16-strrchr.c: Likewise.
71181         * lib/striconveh.c: Update.
71182         * lib/linebreak.c: Update.
71183
71184 2007-03-24  Bruno Haible  <bruno@clisp.org>
71185
71186         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
71187         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
71188
71189 2007-03-22  Bruno Haible  <bruno@clisp.org>
71190
71191         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
71192
71193 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
71194
71195         * MODULES.html.sh (File system functions): New module write-any-file.
71196         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
71197         * m4/write-any-file.m4: New files.
71198
71199 2007-03-23  Eric Blake  <ebb9@byu.net>
71200
71201         * gnulib-tool: Rearrange space-tab sequences, since some editors
71202         like to eat them.
71203
71204 2007-03-23  Eric Blake  <ebb9@byu.net>
71205
71206         * lib/version-etc.c (version_etc_va): Update license wording to
71207         be more concise.  Recommended by Richard Stallman.
71208
71209 2007-03-22  Bruno Haible  <bruno@clisp.org>
71210
71211         * lib/poll.c (MSG_PEEK): New fallback definition.
71212
71213 2007-03-22  Bruno Haible  <bruno@clisp.org>
71214
71215         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
71216         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
71217         (main): Update.
71218         Fixes a compilation error on BeOS.
71219
71220 2007-03-22  Bruno Haible  <bruno@clisp.org>
71221
71222         * modules/frexpl-tests: New file.
71223         * tests/test-frexpl.c: New file.
71224
71225         * modules/frexpl: New file.
71226         * m4/frexpl.m4: New file.
71227         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
71228         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
71229         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
71230         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
71231         (Depends-on): Add frexpl. Remove isnanl-nolibm.
71232         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
71233
71234 2007-03-22  Bruno Haible  <bruno@clisp.org>
71235
71236         * lib/frexpl.c: Share code with lib/frexp.c.
71237         * modules/mathl (Files): Add lib/frexp.c.
71238         (Depends-on): Add isnanl-nolibm.
71239
71240 2007-03-22  Bruno Haible  <bruno@clisp.org>
71241
71242         * modules/printf-frexp (Files): Add m4/frexp.m4.
71243         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
71244         only if the found frexp function actually works.
71245
71246 2007-03-22  Bruno Haible  <bruno@clisp.org>
71247
71248         * lib/frexp.c: Remove older implementation that uses divisions.
71249
71250 2007-03-21  Bruno Haible  <bruno@clisp.org>
71251
71252         * modules/frexp-tests: New file.
71253         * tests/test-frexp.c: New file.
71254
71255         * modules/frexp: New file.
71256         * lib/frexp.c: New file.
71257         * m4/frexp.m4: New file.
71258         * lib/math_.h (frexp): New declaration.
71259         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
71260         REPLACE_FREXP.
71261         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
71262
71263 2007-03-21  Bruno Haible  <bruno@clisp.org>
71264
71265         * modules/isnanl-tests: New file.
71266         * tests/test-isnanl.c: New file.
71267
71268         * modules/isnanl: New file.
71269         * lib/isnanl.h: New file.
71270         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
71271         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
71272         gl_FUNC_ISNANL_WORKS.
71273         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
71274         New macros.
71275
71276 2007-03-21  Bruno Haible  <bruno@clisp.org>
71277
71278         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
71279         lib/isnanl.h.
71280         (Include): Update.
71281         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
71282         * lib/vasnprintf.c: Update.
71283         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
71284         tests/test-isnanl.h, remove tests/test-isnanl.c.
71285         (Makefile.am): Update.
71286         * tests/test-isnanl-nolibm.c: New file.
71287         * tests/test-isnanl.h: New file.
71288         * tests/test-isnanl.c: Remove file.
71289
71290 2007-03-21  Jim Meyering  <jim@meyering.net>
71291
71292         When trying to open ".", treat ESTALE like EACCES.
71293         * lib/savewd.c (savewd_save): Resort to forking not just upon
71294         failure with EACCES, but also when errno is ESTALE.
71295
71296 2007-03-20  Bruno Haible  <bruno@clisp.org>
71297
71298         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
71299         Needed on AIX 5.1. Reported by Matthew Woehlke.
71300
71301 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71302
71303         Suggestions by Bruno Haible:
71304         * lib/acl-internal.h: Include "gettext.h" rather than rolling
71305         our own.
71306         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
71307         * modules/acl (Depends-on): Add gettext.
71308
71309 2007-03-19  Bruno Haible  <bruno@clisp.org>
71310
71311         * modules/iconvme: Remove file.
71312         * lib/iconvme.h: Remove file.
71313         * lib/iconvme.c: Remove file.
71314         * m4/iconvme.m4: Remove file.
71315
71316 2007-03-19  Bruno Haible  <bruno@clisp.org>
71317
71318         * doc/relocatable-maint.texi: Break long shell script line.
71319         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71320
71321 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71322
71323         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
71324         handle file_has_acl.
71325         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
71326         * lib/acl.c: Move header inclusions and related macro defns into
71327         lib/acl-internal.h.
71328         (S_ISLNK): Remove defn, since that's now done for us.
71329         (file_has_acl): Move to lib/file-has-acl.c.
71330         Call acl_trivial if available.  This is the crucial part of the fix.
71331         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
71332         shared within the library.  Rewrite a bit, partly to make it compatible
71333         with the GNU coding style.
71334         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
71335         Remove unnecessary double-quotes.
71336         Don't test for acl_to_text; the build will catch that.
71337         Replace acl_entries if it doesn't exist and it is needed.
71338         Check for -lsec and acl_trivial (as used on Solaris 10).
71339         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
71340         lib/file-has-acl.c.
71341         (Depends-on): Add sys_stat, for S_ISLNK.
71342
71343 2007-03-19  Ben Pfaff  <blp@gnu.org>
71344
71345         * doc/gnulib.texi: Fix typos.
71346         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71347
71348 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71349
71350         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
71351         If size is zero here, buf must be zero.
71352
71353 2007-03-19  Simon Josefsson  <simon@josefsson.org>
71354
71355         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
71356         <bruno@clisp.org>.
71357
71358 2007-03-18  Bruno Haible  <bruno@clisp.org>
71359
71360         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
71361         Suggested by Eric Blake.
71362
71363 2007-03-18  Ben Pfaff  <blp@gnu.org>
71364
71365         * doc/relocatable.texi: Recommend using as prefix a directory
71366         that does not exist and will never be created.  Based on
71367         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
71368         and others.
71369
71370 2007-03-17  Bruno Haible  <bruno@clisp.org>
71371
71372         * lib/fchownat.c: Include lchown.h.
71373
71374 2007-03-17  Bruno Haible  <bruno@clisp.org>
71375
71376         Fix endless loop when the given allocated size was > INT_MAX.
71377         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
71378         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
71379         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
71380         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
71381         * lib/sprintf.c (sprintf): Likewise.
71382
71383 2007-03-17  Bruno Haible  <bruno@clisp.org>
71384
71385         * tests/test-argp-2.sh (func_compare): Output a context diff.
71386
71387 2007-03-17  Bruno Haible  <bruno@clisp.org>
71388
71389         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
71390         locale's decimal-point character.
71391
71392 2007-03-17  Bruno Haible  <bruno@clisp.org>
71393
71394         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
71395         before comparing it. Needed because on some platforms (e.g. x86) a
71396         'long double' occupies less bytes than sizeof (long double).
71397
71398 2007-03-17  Bruno Haible  <bruno@clisp.org>
71399
71400         * tests/test-crc.c (main): Make printf statements 64-bit clean.
71401         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
71402         * tests/test-getaddrinfo.c (simple): Likewise.
71403         * tests/test-read-file.c (main): Likewise.
71404
71405 2007-03-17  Bruno Haible  <bruno@clisp.org>
71406
71407         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
71408
71409 2007-03-17  Bruno Haible  <bruno@clisp.org>
71410
71411         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
71412         unused variable.
71413
71414 2007-03-17  Bruno Haible  <bruno@clisp.org>
71415
71416         * tests/test-c-strcasecmp.c: Include c-strcase.h.
71417         * tests/test-c-strncasecmp.c: Likewise.
71418
71419 2007-03-17  Bruno Haible  <bruno@clisp.org>
71420
71421         * modules/stdlib (Depends-on): Add unistd.
71422         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
71423         Needed for MacOS X 10.3.
71424
71425 2007-03-17  Bruno Haible  <bruno@clisp.org>
71426
71427         * lib/unistr/u-strdup.h: Include <stdlib.h>.
71428
71429 2007-03-17  Bruno Haible  <bruno@clisp.org>
71430
71431         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
71432
71433 2007-03-17  Bruno Haible  <bruno@clisp.org>
71434
71435         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
71436         to reflect files copied from gnulib (with or without modifications).
71437         Suggested by Jim Meyering.
71438
71439 2007-03-17  Eric Blake  <ebb9@byu.net>
71440
71441         * NEWS: Document stdlib change from 2007-02-18.
71442
71443 2007-03-17  Jim Meyering  <jim@meyering.net>
71444
71445         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
71446         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
71447         someone uses a name containing shell meta-characters.
71448         Reported by Alfred M. Szmidt.
71449
71450         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
71451
71452 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71453
71454         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
71455         and copy gettext configuration files only if configure.ac contains
71456         a use of AM_GNU_GETTEXT_VERSION.
71457
71458 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71459
71460         * build-aux/bootstrap (gnulib_name): New variable.
71461         (gnulib_tool_options): Use it.
71462
71463 2007-03-13  Simon Josefsson  <simon@josefsson.org>
71464
71465         * tests/test-des.c: Use new namespace.
71466
71467 2007-03-15  Bruno Haible  <bruno@clisp.org>
71468
71469         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
71470         Reported by James Youngman <jay@gnu.org>.
71471
71472 2007-03-15  Bruno Haible  <bruno@clisp.org>
71473
71474         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
71475         declared prototype. Needed with cc on OSF/1 5.1.
71476
71477 2007-03-15  Bruno Haible  <bruno@clisp.org>
71478
71479         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
71480         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
71481         (struct gl_list_implementation): Add dispose_fn argument to the
71482         'create_empty', 'create' methods.
71483         (struct gl_list_impl_base): Add field 'dispose_fn'.
71484         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
71485         argument.
71486         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
71487         dispose_fn argument.
71488         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
71489         dispose_fn on the dropped values.
71490         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
71491         dispose_fn argument.
71492         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
71493         dropped values.
71494         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
71495         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71496         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
71497         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71498         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
71499         argument.
71500         (gl_tree_list_free): Call dispose_fn on the dropped values.
71501         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
71502         the dropped values.
71503         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71504         Add dispose_fn argument.
71505         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
71506         Call dispose_fn on the dropped values.
71507         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
71508         Add dispose_fn argument.
71509         (gl_sublist_create): Initialize the 'dispose_fn' field.
71510         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
71511         * tests/test-array_list.c (main): Update.
71512         * tests/test-carray_list.c (main): Update.
71513         * tests/test-avltree_list.c (main): Update.
71514         * tests/test-rbtree_list.c (main): Update.
71515         * tests/test-avltreehash_list.c (main): Update.
71516         * tests/test-rbtreehash_list.c (main): Update.
71517         * tests/test-linked_list.c (main): Update.
71518         * tests/test-linkedhash_list.c (main): Update.
71519         * tests/test-array_oset.c (main): Update.
71520
71521 2007-03-15  Bruno Haible  <bruno@clisp.org>
71522
71523         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
71524         (gl_oset_create_empty): Add dispose_fn argument.
71525         (struct gl_oset_implementation): Add dispose_fn argument to
71526         'create_empty' method.
71527         (struct gl_oset_impl_base): Add dispose_fn field.
71528         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
71529         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
71530         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
71531         values.
71532         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
71533         (gl_tree_oset_free): Call dispose_fn on the dropped values.
71534         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71535         dropped value.
71536         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71537         dropped value.
71538         * tests/test-array_oset.c (main): Update.
71539         * tests/test-avltree_oset.c (main): Update.
71540         * tests/test-rbtree_oset.c (main): Update.
71541         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
71542
71543 2007-03-13  Bruno Haible  <bruno@clisp.org>
71544
71545         * tests/test-stdbool.c (i): Update after last patch.
71546
71547 2007-03-12  Bruno Haible  <bruno@clisp.org>
71548
71549         * lib/quotearg.c: Include <wctype.h> early, before the definition of
71550         the iswprint macro. Needed on Solaris 2.5.1.
71551
71552 2007-03-12  Bruno Haible  <bruno@clisp.org>
71553
71554         * tests/test-printf-frexp.c (main): Declare x as volatile.
71555
71556 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71557
71558         * doc/gnulib.texi (Build robot for gnulib): New section.
71559
71560 2007-03-12  Jim Meyering  <jim@meyering.net>
71561
71562         * build-aux/bootstrap: New file.
71563         * build-aux/bootstrap.conf: New file, from coreutils.
71564
71565 2007-03-11  Bruno Haible  <bruno@clisp.org>
71566
71567         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
71568
71569 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71570
71571         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
71572         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
71573         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
71574
71575 2007-03-11  Bruno Haible  <bruno@clisp.org>
71576
71577         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
71578         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
71579
71580 2007-03-11  Bruno Haible  <bruno@clisp.org>
71581
71582         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
71583         formula. Needed for SunPRO C 5.0.
71584
71585 2007-03-11  Bruno Haible  <bruno@clisp.org>
71586
71587         * modules/long-options (Depends-on): Add getopt.
71588
71589 2007-03-11  Bruno Haible  <bruno@clisp.org>
71590
71591         * modules/modechange (Depends-on): Add stdbool.
71592
71593 2007-03-11  Bruno Haible  <bruno@clisp.org>
71594
71595         * modules/i-ring (Depends-on): Add stdbool.
71596
71597 2007-03-11  Bruno Haible  <bruno@clisp.org>
71598
71599         * modules/gc-des (Depends-on): Add stdbool.
71600
71601 2007-03-11  Bruno Haible  <bruno@clisp.org>
71602
71603         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
71604
71605 2007-03-11  Bruno Haible  <bruno@clisp.org>
71606
71607         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
71608
71609 2007-03-11  Bruno Haible  <bruno@clisp.org>
71610
71611         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
71612
71613 2007-03-11  Bruno Haible  <bruno@clisp.org>
71614
71615         * lib/vasnprintf.c (sprintf): Undefine.
71616
71617 2007-03-11  Bruno Haible  <bruno@clisp.org>
71618
71619         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
71620         initializers in SunPRO C and Compaq C compilers.
71621
71622 2007-03-11  Bruno Haible  <bruno@clisp.org>
71623
71624         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
71625         decrementing code ANSI C compliant.
71626
71627 2007-03-11  Bruno Haible  <bruno@clisp.org>
71628
71629         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
71630         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
71631
71632 2007-03-11  Bruno Haible  <bruno@clisp.org>
71633
71634         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
71635         <stdbool.h> substitute doesn't pass.
71636
71637 2007-03-11  Bruno Haible  <bruno@clisp.org>
71638
71639         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
71640
71641 2007-03-11  Bruno Haible  <bruno@clisp.org>
71642
71643         * gnulib-tool (func_create_megatestdir): Create also an autobuild
71644         script, for submission to autobuild.josefsson.org.
71645
71646 2007-03-10  Bruno Haible  <bruno@clisp.org>
71647
71648         * modules/canonicalize-lgpl-tests: New file.
71649         * tests/test-canonicalize-lgpl.sh: New file.
71650         * tests/test-canonicalize-lgpl.c: New file.
71651
71652         * modules/c-strcase-tests: New file.
71653         * tests/test-c-strcase.sh: New file.
71654         * tests/test-c-strcasecmp.c: New file.
71655         * tests/test-c-strncasecmp.c: New file.
71656
71657         * modules/atexit-tests: New file.
71658         * tests/test-atexit.sh: New file.
71659         * tests/test-atexit.c: New file.
71660
71661 2007-03-10  Bruno Haible  <bruno@clisp.org>
71662
71663         * tests/test-binary-io.sh: Use temporary filenames that are not so
71664         likely to clash with those of other tests (in a parallel make).
71665         * tests/test-binary-io.c: Likewise.
71666
71667 2007-03-10  Bruno Haible  <bruno@clisp.org>
71668
71669         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
71670         fallback; use #error instead.
71671         Suggested by Simon Josefsson.
71672
71673 2007-03-10  Bruno Haible  <bruno@clisp.org>
71674
71675         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
71676         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
71677         first and the last.
71678
71679 2007-03-10  Bruno Haible  <bruno@clisp.org>
71680
71681         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
71682
71683 2007-03-10  Bruno Haible  <bruno@clisp.org>
71684
71685         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
71686         "make distcheck".
71687         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
71688         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
71689         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
71690
71691 2007-03-10  Bruno Haible  <bruno@clisp.org>
71692
71693         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
71694         variable.
71695         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
71696         variable.
71697
71698 2007-03-09  Eric Blake  <ebb9@byu.net>
71699         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
71700
71701         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
71702         types are not being provided by gnulib.
71703         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
71704         types are supported.
71705
71706 2007-03-10  Bruno Haible  <bruno@clisp.org>
71707
71708         * lib/stdio_.h (__attribute__): New macro.
71709         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
71710         vsprintf): Specify __attribute__ __format__ for GCC.
71711         Suggested by Eric Blake.
71712
71713 2007-03-09  Bruno Haible  <bruno@clisp.org>
71714
71715         * modules/printf-posix-tests: New file.
71716         * tests/test-printf-posix.sh: New file.
71717         * tests/test-printf-posix.c: New file.
71718
71719         * modules/printf-posix: New file.
71720         * lib/printf.c: New file.
71721         * m4/printf-posix-rpl.m4: New file.
71722         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
71723         REPLACE_PRINTF.
71724         * lib/stdio_.h (printf): New declaration.
71725         (format, __format__, ____printf____, ____scanf____, ____strftime____,
71726         ____strfmon____): New macros.
71727         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
71728         REPLACE_PRINTF.
71729
71730 2007-03-09  Bruno Haible  <bruno@clisp.org>
71731
71732         * tests/test-vasnprintf-posix2.sh: New file.
71733         * tests/test-vasnprintf-posix2.c: New file.
71734         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
71735         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
71736         (Makefile.am): Activate test-vasnprintf-posix2.sh.
71737
71738         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
71739         a locale dependent decimal point, rather than always '.'.
71740
71741 2007-03-09  Eric Blake  <ebb9@byu.net>
71742
71743         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
71744         spite of platforms like Tandem/NSK that define it to -1.
71745
71746 2007-03-08  Bruno Haible  <bruno@clisp.org>
71747
71748         * modules/vprintf-posix-tests: New file.
71749         * tests/test-vprintf-posix.sh: New file.
71750         * tests/test-vprintf-posix.c: New file.
71751         * tests/test-printf-posix.h: New file.
71752
71753         * modules/vprintf-posix: New file.
71754         * lib/vprintf.c: New file.
71755         * m4/vprintf-posix.m4: New file.
71756         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
71757         REPLACE_VPRINTF.
71758         * lib/stdio_.h (vprintf): New declaration.
71759         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
71760         REPLACE_VPRINTF.
71761
71762 2007-03-08  Bruno Haible  <bruno@clisp.org>
71763
71764         * modules/fprintf-posix-tests: New file.
71765         * tests/test-fprintf-posix.sh: New file.
71766         * tests/test-fprintf-posix.c: New file.
71767
71768         * modules/fprintf-posix: New file.
71769         * lib/fprintf.c: New file.
71770         * m4/fprintf-posix.m4: New file.
71771         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
71772         REPLACE_FPRINTF.
71773         * lib/stdio_.h (fprintf): New declaration.
71774         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
71775         REPLACE_FPRINTF.
71776
71777 2007-03-08  Bruno Haible  <bruno@clisp.org>
71778
71779         * modules/vfprintf-posix-tests: New file.
71780         * tests/test-vfprintf-posix.sh: New file.
71781         * tests/test-vfprintf-posix.c: New file.
71782         * tests/test-fprintf-posix.h: New file.
71783         * tests/test-fprintf-posix.out: New file.
71784
71785         * modules/vfprintf-posix: New file.
71786         * lib/vfprintf.c: New file.
71787         * m4/vfprintf-posix.m4: New file.
71788         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
71789         REPLACE_VFPRINTF.
71790         * lib/stdio_.h (vfprintf): New declaration.
71791         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
71792         REPLACE_VFPRINTF.
71793
71794 2007-03-08  Bruno Haible  <bruno@clisp.org>
71795
71796         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
71797
71798 2007-03-08  Bruno Haible  <bruno@clisp.org>
71799
71800         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
71801         instead of 'expr' invocations.
71802         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71803         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71804         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71805         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
71806         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71807         Suggested by Paul Eggert.
71808
71809 2007-03-08  Bruno Haible  <bruno@clisp.org>
71810
71811         * modules/fseterr-tests: New file.
71812         * tests/test-fseterr.c: New file.
71813
71814         * modules/fseterr: New file.
71815         * lib/fseterr.h: New file.
71816         * lib/fseterr.c: New file.
71817
71818 2007-03-08  Bruno Haible  <bruno@clisp.org>
71819
71820         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
71821         * lib/getopt_.h: Likewise.
71822         * lib/mbswidth.h: Likewise.
71823         * lib/setenv.h: Likewise.
71824         * lib/vasnprintf.h: Likewise.
71825         * lib/vasprintf.h: Likewise.
71826         * lib/verror.h: Likewise.
71827         * lib/xsetenv.h: Likewise.
71828         * lib/xvasprintf.h: Likewise.
71829
71830 2007-03-08  Jim Meyering  <jim@meyering.net>
71831
71832         * users.txt: Add parted.
71833
71834         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
71835
71836 2007-03-07  Bruno Haible  <bruno@clisp.org>
71837
71838         * m4/printf.m4: Make the shell script snippets copy&pastable.
71839
71840 2007-03-02  Bruno Haible  <bruno@clisp.org>
71841
71842         * lib/netinet_in_.h: New file.
71843         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
71844         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
71845         * modules/netinet_in (Files): Add lib/netinet_in_.h.
71846         (Depends-on): Add absolute-header.
71847         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
71848         into netinet/in.h.
71849
71850 2007-03-03  Bruno Haible  <bruno@clisp.org>
71851
71852         * lib/sys_select_.h: New file.
71853         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
71854         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
71855         * modules/sys_select (Files): Add lib/sys_select_.h.
71856         (Depends-on): Add absolute-header.
71857         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
71858         into sys/select.h.
71859
71860 2007-03-02  Bruno Haible  <bruno@clisp.org>
71861
71862         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
71863         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
71864         values.
71865         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
71866         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
71867         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
71868         * modules/sys_socket (Depends-on): Add absolute-header.
71869         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
71870         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
71871         (Include): Remove requirement of inclusion of <sys/types.h>.
71872
71873 2007-03-02  Bruno Haible  <bruno@clisp.org>
71874
71875         * lib/byteswap_.h (bswap_32): Fix formula.
71876
71877 2007-03-06  Bruno Haible  <bruno@clisp.org>
71878
71879         * modules/sprintf-posix-tests: New file.
71880         * tests/test-sprintf-posix.c: New file.
71881
71882         * modules/sprintf-posix: New file.
71883         * lib/sprintf.c: New file.
71884         * m4/sprintf-posix.m4: New file.
71885         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
71886         REPLACE_SPRINTF.
71887         * lib/stdio_.h (sprintf): New declaration.
71888         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
71889         REPLACE_SPRINTF.
71890
71891 2007-03-06  Bruno Haible  <bruno@clisp.org>
71892
71893         * modules/vsprintf-posix-tests: New file.
71894         * tests/test-vsprintf-posix.c: New file.
71895         * tests/test-sprintf-posix.h: New file.
71896
71897         * modules/vsprintf-posix: New file.
71898         * lib/vsprintf.c: New file.
71899         * m4/vsprintf-posix.m4: New file.
71900         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
71901         REPLACE_VSPRINTF.
71902         * lib/stdio_.h (vsprintf): New declaration.
71903         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
71904         REPLACE_VSPRINTF.
71905
71906 2007-03-06  Bruno Haible  <bruno@clisp.org>
71907
71908         * modules/vsnprintf (Depend-on): Remove minmax.
71909
71910 2007-03-06  Bruno Haible  <bruno@clisp.org>
71911
71912         * modules/snprintf-posix-tests: New file.
71913         * tests/test-snprintf-posix.c: New file.
71914
71915         * modules/snprintf-posix: New file.
71916         * m4/snprintf-posix.m4: New file.
71917         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
71918         gl_FUNC_SNPRINTF.
71919         (gl_FUNC_SNPRINTF): Invoke it.
71920         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
71921         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
71922         is set.
71923         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
71924
71925 2007-03-06  Bruno Haible  <bruno@clisp.org>
71926
71927         * modules/vsnprintf-posix-tests: New file.
71928         * tests/test-vsnprintf-posix.c: New file.
71929         * tests/test-snprintf-posix.h: New file.
71930
71931         * modules/vsnprintf-posix: New file.
71932         * m4/vsnprintf-posix.m4: New file.
71933         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
71934         gl_FUNC_VSNPRINTF.
71935         (gl_FUNC_VSNPRINTF): Invoke it.
71936         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
71937         * lib/stdio_.h (vsnprintf): Define as a replacement if
71938         REPLACE_VSNPRINTF is set.
71939         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
71940
71941 2007-03-06  Bruno Haible  <bruno@clisp.org>
71942
71943         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
71944         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
71945
71946 2007-03-06  Bruno Haible  <bruno@clisp.org>
71947
71948         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
71949         (asinl): Declare also if HAVE_DECL_ASINL is set.
71950         (atanl): Declare also if HAVE_DECL_ATANL is set.
71951         (ceill): Declare also if HAVE_DECL_CEILL is set.
71952         (cosl): Declare also if HAVE_DECL_COSL is set.
71953         (expl): Declare also if HAVE_DECL_EXPL is set.
71954         (floorl): Declare also if HAVE_DECL_FLOORL is set.
71955         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
71956         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
71957         (logl): Declare also if HAVE_DECL_LOGL is set.
71958         (sinl): Declare also if HAVE_DECL_SINL is set.
71959         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
71960         (tanl): Declare also if HAVE_DECL_TANL is set.
71961         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
71962         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
71963         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
71964         declaration of frexpl, ldexpl.
71965         * modules/printf-frexpl (Depends-on): Add math.
71966         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
71967
71968 2007-03-05  Bruno Haible  <bruno@clisp.org>
71969
71970         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
71971         frexpl and ldexpl are declared.
71972         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
71973
71974 2007-03-05  Bruno Haible  <bruno@clisp.org>
71975
71976         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
71977         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
71978
71979 2007-03-05  Bruno Haible  <bruno@clisp.org>
71980
71981         * lib/stdio_.h: Include <stddef.h>.
71982
71983 2007-03-05  Bruno Haible  <bruno@clisp.org>
71984
71985         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
71986
71987 2007-03-05  Bruno Haible  <bruno@clisp.org>
71988
71989         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
71990         NetBSD 4, from Ralf Wildenhues.
71991
71992 2007-03-04  Bruno Haible  <bruno@clisp.org>
71993
71994         * lib/vasprintf.h: Update #if logic for the case when the functions
71995         exist but are overridden.
71996
71997 2007-03-04  Bruno Haible  <bruno@clisp.org>
71998
71999         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
72000         implementations: glibc-2.4 and MacOS X 10.3.
72001         * tests/test-vasnprintf-posix.c (test_function): Test also the case
72002         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
72003         * tests/test-vasprintf-posix.c (test_function): Likewise.
72004
72005 2007-03-04  Bruno Haible  <bruno@clisp.org>
72006
72007         * modules/vasprintf-posix-tests: New file.
72008         * tests/test-vasprintf-posix.c: New file.
72009
72010         * modules/vasprintf-posix: New file.
72011         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
72012         defined.
72013         * m4/vasprintf-posix.m4: New file.
72014         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
72015         gl_FUNC_VASPRINTF.
72016         (gl_FUNC_VASPRINTF): Invoke it.
72017         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
72018         here.
72019         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
72020
72021 2007-03-04  Bruno Haible  <bruno@clisp.org>
72022
72023         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
72024         REPLACE_GETTIMEOFDAY.
72025         * modules/sys_time (Makefile.am): Likewise.
72026         * m4/sys_time_h.m4: Likewise.
72027         * m4/gettimeofday.m4: Likewise.
72028
72029 2007-03-04  Bruno Haible  <bruno@clisp.org>
72030
72031         * modules/vasnprintf-posix-tests: New file.
72032         * tests/test-vasnprintf-posix.c: New file.
72033
72034         * modules/vasnprintf-posix: New file.
72035         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
72036         printf-frexpl.h.
72037         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
72038         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
72039         REPLACE_VASNPRINTF is defined.
72040         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
72041         gl_FUNC_VASNPRINTF.
72042         (gl_FUNC_VASNPRINTF): Invoke it.
72043         * m4/vasnprintf-posix.m4: New file.
72044         * m4/printf.m4: New file.
72045
72046 2007-03-04  Bruno Haible  <bruno@clisp.org>
72047
72048         Compile progreloc.c only if --enable-relocatable is specified.
72049         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
72050         if --enable-relocatable was specified.
72051         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
72052         lib_SOURCES.
72053
72054 2007-03-04  Jim Meyering  <jim@meyering.net>
72055
72056         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
72057         Use it consistently, rather than enumerating errno constants.
72058
72059 2007-03-04  Bruno Haible  <bruno@clisp.org>
72060
72061         * modules/xvasprintf-tests: New file.
72062         * tests/test-xvasprintf.c: New file.
72063
72064         * modules/vasprintf-tests: New file.
72065         * tests/test-vasprintf.c: New file.
72066
72067         * modules/vasnprintf-tests: New file.
72068         * tests/test-vasnprintf.c: New file.
72069
72070         * modules/vsnprintf-tests: New file.
72071         * tests/test-vsnprintf.c: New file.
72072
72073         * modules/snprintf-tests: New file.
72074         * tests/test-snprintf.c: New file.
72075
72076 2007-03-04  Bruno Haible  <bruno@clisp.org>
72077
72078         Compile relocatable.c only if --enable-relocatable is specified.
72079         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
72080         gl_RELOCATABLE_LIBRARY.
72081         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
72082         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
72083         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
72084         gl_RELOCATABLE_LIBRARY.
72085         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
72086         (Makefile.am): Remove lib_SOURCES.
72087         * modules/relocatable-lib-lgpl (configure.ac): Invoke
72088         gl_RELOCATABLE_LIBRARY.
72089         (Makefile.am): Remove lib_SOURCES.
72090         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
72091         always.
72092         * modules/relocatable-prog-wrapper (configure.ac): Invoke
72093         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
72094
72095 2007-03-04  Bruno Haible  <bruno@clisp.org>
72096
72097         * modules/argmatch-tests: New file.
72098         * tests/test-argmatch.c: New file.
72099
72100         * tests/test-allocsa.c (main): Halve the number of loop runs.
72101
72102         * modules/alloca-opt-tests: New file.
72103         * tests/test-alloca-opt.c: New file.
72104
72105 2007-03-04  Jim Meyering  <jim@meyering.net>
72106
72107         Work around difference between Linux ACLs and Solaris 10 ZFS.
72108         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
72109         for EINVAL.
72110
72111 2007-03-03  Bruno Haible  <bruno@clisp.org>
72112
72113         * modules/relocatable-prog (Depends-on): Add back progreloc's
72114         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
72115
72116 2007-03-03  Bruno Haible  <bruno@clisp.org>
72117
72118         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
72119         * modules/relocatable-lib: New file.
72120
72121 2007-03-03  Bruno Haible  <bruno@clisp.org>
72122
72123         * modules/relocatable-prog: Renamed from modules/relocatable.
72124         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
72125
72126 2007-03-03  Bruno Haible  <bruno@clisp.org>
72127
72128         * modules/relocatable-script (Files): Add doc/relocatable.texi,
72129         m4/relocatable-lib.m4.
72130         (Depends-on): Remove 'relocatable'.
72131         (configure.ac): Add gl_RELOCATABLE_NOP.
72132
72133 2007-03-03  Bruno Haible  <bruno@clisp.org>
72134
72135         * modules/relocatable-prog-wrapper: New file.
72136         * modules/relocatable (Depends-on): Add it. Remove all other
72137         dependencies except progname.
72138         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
72139
72140         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
72141         (gl_FUNC_STRERROR): Nop.
72142         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
72143
72144         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
72145         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
72146
72147         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
72148         (gl_FUNC_READLINK): Update.
72149
72150         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
72151
72152 2007-03-03  Bruno Haible  <bruno@clisp.org>
72153
72154         * lib/xreadlink.c: Include <unistd.h> unconditionally.
72155         * modules/xreadlink (Depends-on): Add unistd.
72156         * modules/xreadlink-with-size (Depends-on): Likewise.
72157
72158 2007-03-03  Bruno Haible  <bruno@clisp.org>
72159
72160         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
72161         extracted from gt_FUNC_SETENV.
72162         (gt_FUNC_SETENV): Remove macro.
72163         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
72164         remove gt_FUNC_SETENV.
72165
72166 2007-03-03  Bruno Haible  <bruno@clisp.org>
72167
72168         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
72169         ENABLE_RELOCATABLE here.
72170         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
72171
72172 2007-03-03  Bruno Haible  <bruno@clisp.org>
72173
72174         * modules/rbtreehash-list-tests (Depends-on): Add progname.
72175         * tests/test-rbtreehash_list.c: Include progname.h.
72176         (main): Call set_program_name.
72177
72178         * modules/rbtree-oset-tests (Depends-on): Add progname.
72179         * tests/test-rbtree_oset.c: Include progname.h.
72180         (main): Call set_program_name.
72181
72182         * modules/rbtree-list-tests (Depends-on): Add progname.
72183         * tests/test-rbtree_list.c: Include progname.h.
72184         (main): Call set_program_name.
72185
72186         * modules/linked-list-tests (Depends-on): Add progname.
72187         * tests/test-linked_list.c: Include progname.h.
72188         (main): Call set_program_name.
72189
72190 2007-03-03  Bruno Haible  <bruno@clisp.org>
72191
72192         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
72193         All uses of __restrict changed to _Restrict_.
72194         * lib/glob_.h (__restrict): Remove macro.
72195
72196 2007-03-02  Bruno Haible  <bruno@clisp.org>
72197
72198         * modules/gettext (configure.ac): Require gettext infrastructure
72199         from version 0.16.1.
72200
72201 2007-03-02  Bruno Haible  <bruno@clisp.org>
72202
72203         * modules/linkedhash-list-tests (Depends-on): Add progname.
72204         * tests/test-linkedhash_list.c: Include progname.h.
72205         (main): Call set_program_name.
72206
72207         * modules/carray-list-tests (Depends-on): Add progname.
72208         * tests/test-carray_list.c: Include progname.h.
72209         (main): Call set_program_name.
72210
72211         * modules/avltreehash-list-tests (Depends-on): Add progname.
72212         * tests/test-avltreehash_list.c: Include progname.h.
72213         (main): Call set_program_name.
72214
72215         * modules/avltree-oset-tests (Depends-on): Add progname.
72216         * tests/test-avltree_oset.c: Include progname.h.
72217         (main): Call set_program_name.
72218
72219         * modules/avltree-list-tests (Depends-on): Add progname.
72220         * tests/test-avltree_list.c: Include progname.h.
72221         (main): Call set_program_name.
72222
72223         * modules/array-oset-tests (Depends-on): Add progname.
72224         * tests/test-array_oset.c: Include progname.h.
72225         (main): Call set_program_name.
72226
72227         * modules/array-list-tests (Depends-on): Add progname.
72228         * tests/test-array_list.c: Include progname.h.
72229         (main): Call set_program_name.
72230
72231         * modules/argp-tests (Depends-on): Add progname.
72232         * tests/test-argp.c: Include argp.h first. Include progname.h.
72233         (main): Call set_program_name.
72234
72235 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
72236
72237         * doc/gnulib-tool.texi (Initial import): Reword description of
72238         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
72239         limited effect even if defined after the first system include.
72240
72241 2007-03-01  Bruno Haible  <bruno@clisp.org>
72242
72243         * build-aux/config.libpath: Update to libtool-1.5.22.
72244         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72245
72246 2007-03-01  Bruno Haible  <bruno@clisp.org>
72247
72248         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
72249         foo_CFLAGS.
72250         Reported by Ralf Wildenhues.
72251
72252 2007-03-01  Bruno Haible  <bruno@clisp.org>
72253
72254         * build-aux/install-reloc: Remove object files left over by some
72255         compilers.
72256         Reported by Ralf Wildenhues.
72257
72258 2007-03-01  Bruno Haible  <bruno@clisp.org>
72259
72260         * build-aux/install-reloc: Break long lines.
72261
72262 2007-03-01  Bruno Haible  <bruno@clisp.org>
72263
72264         * doc/relocatable.texi: Document that it may not work on OpenBSD.
72265         Reported by Ralf Wildenhues.
72266
72267 2007-03-01  Bruno Haible  <bruno@clisp.org>
72268
72269         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
72270         include ordering constraints.
72271
72272 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72273
72274         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
72275         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
72276         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
72277         as another example.
72278         * lib/time_.h: Fix misspelling.
72279         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72280         Require gl_HEADER_TIME_H_DEFAULTS.
72281         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
72282         * m4/time_r.m4 (gl_TIME_R): Likewise.
72283         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
72284
72285 2007-03-01  Bruno Haible  <bruno@clisp.org>
72286
72287         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
72288         * m4/utimens.m4 (gl_UTIMENS): Likewise.
72289
72290 2007-03-01  Jim Meyering  <jim@meyering.net>
72291
72292         * modules/xreadlink (Maintainer): Add my name.
72293         * modules/xreadlink-with-size (Depends-on): Alphabetize.
72294
72295 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
72296             Bruno Haible  <bruno@clisp.org>
72297
72298         * build-aux/install-reloc: Compile also c-ctype.c.
72299         * build-aux/relocatable.sh.in: New file.
72300         * doc/relocatable.texi: New file.
72301         * doc/relocatable-maint.texi: New file.
72302         * doc/gnulib.texi: Include relocatable-maint.texi.
72303         * lib/progreloc.c: Include unistd.h unconditionally.
72304         * lib/relocwrapper.c: Include unistd.h unconditionally.
72305         Include c-ctype.h.
72306         (add_dotbin): Use c_tolower.
72307         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
72308         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
72309         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
72310         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
72311         to m4/relocatable-lib.m4.
72312         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
72313         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
72314         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
72315         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
72316         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
72317         * modules/relocatable: New file.
72318         * modules/relocatable-lib: New file.
72319         * modules/relocatable-script: New file.
72320
72321 2007-02-28  Bruno Haible  <bruno@clisp.org>
72322
72323         Import --enable-relocatable infrastructure.
72324         * build-aux/config.libpath: New file, from GNU gettext.
72325         * build-aux/install-reloc: New file, from GNU gettext.
72326         * build-aux/reloc-ldflags: New file, from GNU gettext.
72327         * lib/relocatable.h: New file, from GNU gettext.
72328         * lib/relocatable.c: New file, from GNU gettext.
72329         * lib/relocwrapper.c: New file, from GNU gettext.
72330         * m4/relocatable.m4: New file, from GNU gettext.
72331
72332 2007-02-28  Bruno Haible  <bruno@clisp.org>
72333
72334         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
72335
72336         * modules/xreadlink: New file, from GNU gettext with modifications.
72337         * lib/xreadlink.c: New file, from GNU gettext.
72338         * lib/xreadlink.h: Add comments.
72339         (xreadlink): New declaration.
72340
72341         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
72342         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
72343         lib/xreadlink-with-size.c.
72344         (configure.ac): Remove gl_XREADLINK invocation.
72345         (Makefile.am): Augment lib_SOURCES.
72346         * m4/xreadlink.m4: Remove file.
72347         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
72348         (xreadlink_with_size): Renamed from xreadink.
72349         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
72350         * modules/canonicalize (Depends-on): Replace xreadlink with
72351         xreadlink-with-size.
72352         * lib/canonicalize.c (canonicalize_filename_mode): Update.
72353
72354 2007-02-25  Jim Meyering  <jim@meyering.net>
72355
72356         * build-aux/announce-gen: When complaining about excess arguments,
72357         list them.
72358
72359 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72360
72361         * README: Document signed integer overflow situation more
72362         accurately.
72363
72364 2007-02-25  Bruno Haible  <bruno@clisp.org>
72365
72366         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
72367         'a' or 'A' conversion.
72368
72369 2007-02-25  Bruno Haible  <bruno@clisp.org>
72370
72371         * modules/filename: Renamed from modules/pathname.
72372         (Files): Replace lib/pathname.h with lib/filename.h. Replace
72373         lib/concatpath.c with lib/concat-filename.c.
72374         (Makefile.am): Update.
72375         (Include): Replace pathname.h with filename.h.
72376         * lib/filename.h: Renamed from lib/pathname.h.
72377         (concatenated_filename): Renamed from concatenated_pathname.
72378         * lib/concat-filename.c: Renamed from lib/concatpath.c.
72379         (concatenated_filename): Renamed from concatenated_pathname.
72380         * lib/findprog.c: Include filename.h instead of pathname.h.
72381         (find_in_path): Update.
72382         * lib/javacomp.c: Include filename.h instead of pathname.h.
72383         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
72384         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
72385         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
72386         is_oldgcj_14_13_usable, is_javac_usable): Update.
72387         * lib/javaexec.c: Include filename.h instead of pathname.h.
72388         (execute_java_class): Update.
72389         * modules/findprog: Update.
72390         * modules/javacomp: Update.
72391         * modules/javaexec: Update.
72392         * MODULES.html.sh (File system functions): Add 'filename', remove
72393         'pathname'.
72394
72395 2007-02-25  Bruno Haible  <bruno@clisp.org>
72396
72397         * modules/printf-frexpl-tests: New file.
72398         * tests/test-printf-frexpl.c: New file.
72399
72400         * modules/printf-frexpl: New file.
72401         * lib/printf-frexpl.h: New file.
72402         * lib/printf-frexpl.c: New file.
72403         * m4/printf-frexpl.m4: New file.
72404
72405 2007-02-25  Bruno Haible  <bruno@clisp.org>
72406
72407         * modules/printf-frexp-tests: New file.
72408         * tests/test-printf-frexp.c: New file.
72409
72410         * modules/printf-frexp: New file.
72411         * lib/printf-frexp.h: New file.
72412         * lib/printf-frexp.c: New file.
72413         * m4/printf-frexp.m4: New file.
72414
72415 2007-02-25  Bruno Haible  <bruno@clisp.org>
72416
72417         Assume automake >= 1.10 for the tests.
72418         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
72419         * modules/arctwo-tests: Likewise.
72420         * modules/argp-tests: Likewise.
72421         * modules/avltree-list-tests: Likewise.
72422         * modules/avltree-oset-tests: Likewise.
72423         * modules/avltreehash-list-tests: Likewise.
72424         * modules/carray-list-tests: Likewise.
72425         * modules/crc-tests: Likewise.
72426         * modules/des-tests: Likewise.
72427         * modules/gc-arcfour-tests: Likewise.
72428         * modules/gc-arctwo-tests: Likewise.
72429         * modules/gc-des-tests: Likewise.
72430         * modules/gc-hmac-md5-tests: Likewise.
72431         * modules/gc-hmac-sha1-tests: Likewise.
72432         * modules/gc-md2-tests: Likewise.
72433         * modules/gc-md4-tests: Likewise.
72434         * modules/gc-md5-tests: Likewise.
72435         * modules/gc-pbkdf2-sha1-tests: Likewise.
72436         * modules/gc-rijndael-tests: Likewise.
72437         * modules/gc-sha1-tests: Likewise.
72438         * modules/gc-tests: Likewise.
72439         * modules/getaddrinfo-tests: Likewise.
72440         * modules/hmac-md5-tests: Likewise.
72441         * modules/hmac-sha1-tests: Likewise.
72442         * modules/linked-list-tests: Likewise.
72443         * modules/linkedhash-list-tests: Likewise.
72444         * modules/lock-tests: Likewise.
72445         * modules/md2-tests: Likewise.
72446         * modules/md4-tests: Likewise.
72447         * modules/md5-tests: Likewise.
72448         * modules/rbtree-list-tests: Likewise.
72449         * modules/rbtree-oset-tests: Likewise.
72450         * modules/rbtreehash-list-tests: Likewise.
72451         * modules/read-file-tests: Likewise.
72452         * modules/rijndael-tests: Likewise.
72453         * modules/stdint-tests: Likewise.
72454         * modules/tls-tests: Likewise.
72455
72456 2007-02-24  Bruno Haible  <bruno@clisp.org>
72457
72458         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
72459         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
72460         function; instead check whether isnan with a double argument links.
72461         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
72462         function; instead check whether isnan with a 'long double' argument
72463         links.
72464         Reported by Eric Blake <ebb9@byu.net>.
72465
72466 2007-02-24  Bruno Haible  <bruno@clisp.org>
72467
72468         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
72469         defined.
72470         * lib/isnanl.c: Remove all code. Just include isnan.c.
72471         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
72472
72473 2007-02-25  Jim Meyering  <jim@meyering.net>
72474
72475         Avoid conflicting types for 'unsetenv' on FreeBSD.
72476         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
72477         conflicting with FreeBSD's (5.0 and 6.1) function declaration
72478         in stdlib.h.
72479
72480 2007-02-24  Bruno Haible  <bruno@clisp.org>
72481
72482         * modules/isnanl-nolibm-tests: New file.
72483         * tests/test-isnanl.c: New file.
72484
72485         * modules/isnanl-nolibm: New file.
72486         * lib/isnanl.h: New file.
72487         * lib/isnanl.c: New file.
72488         * m4/isnanl.m4: New file.
72489
72490 2007-02-24  Bruno Haible  <bruno@clisp.org>
72491
72492         * modules/isnan-nolibm-tests: New file.
72493         * tests/test-isnan.c: New file.
72494
72495         * modules/isnan-nolibm: New file.
72496         * lib/isnan.h: New file.
72497         * lib/isnan.c: New file.
72498         * m4/isnan.m4: New file.
72499
72500 2007-02-24  Bruno Haible  <bruno@clisp.org>
72501
72502         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
72503         assume that an exponent fits in 20 bits.
72504
72505 2007-02-24  Jim Meyering  <jim@meyering.net>
72506
72507         * m4/regex.m4: Update the description of the configure-time option,
72508         --without-included-regex, to state accurately what the defaults are,
72509         and perhaps to give people an idea why using this option is risky.
72510
72511 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72512
72513         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
72514         loops on small arguments.  This attempts to avoid the problem
72515         Bruno Haible reported for AIX 4.3.2 in
72516         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
72517
72518 2007-02-23  Bruno Haible  <bruno@clisp.org>
72519
72520         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
72521         Needed for help2man.
72522
72523 2007-02-23  Karl Berry  <karl@gnu.org>
72524
72525         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
72526         exists, foo.h should be cvs-ignored, not committed.
72527
72528 2007-02-23  Eric Blake  <ebb9@byu.net>
72529
72530         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
72531         * lib/stat-time.h (includes): Likewise.
72532         * lib/utimecmp.c (includes): Likewise.
72533         * lib/utimens.h (includes): Likewise.
72534         * lib/getdate.y (includes): Also include "timespec.h" for use
72535         internal to the module.
72536         * modules/utimens (Depends-on): Revert yesterday's patch.
72537         * modules/nanosleep (Depends-on): Add missing dependency.
72538
72539 2007-02-22  Bruno Haible  <bruno@clisp.org>
72540
72541         * lib/glob.c: Don't include getlogin_r.h.
72542
72543 2007-02-22  Jim Meyering  <jim@meyering.net>
72544
72545         * modules/utimens (Depends-on): Add timespec, required for
72546         utimens.h's inclusion of timespec.h.
72547
72548 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
72549
72550         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
72551         long unreadable paths in GNU/Linux.  Problem reported by Andreas
72552         Schwab in
72553         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
72554         I'll try to think of a better way to fix the Solaris problem.
72555
72556         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
72557         like glibc; on Solaris 10, it fails with errno == EINVAL.
72558         POSIX says the behavior is unspecified if the first argument is NULL,
72559         so play it safe and never pass NULL to the system getcwd.
72560
72561 2007-02-21  Jim Meyering  <jim@meyering.net>
72562
72563         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
72564         of gettimeofday.  It would conflict with the one now always
72565         provided via sys_time_.h.  Reported by Matthew Woehlke, as
72566         an IRIX 6.5 build failure.
72567
72568 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72569
72570         Minor fixups to port to Solaris 10 with Sun C 5.8.
72571         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
72572         * modules/getcwd (Depends-on): Add dirfd.
72573         * lib/putenv.c (putenv): #undef it.
72574         (rpl_putenv): New decl.
72575         (malloc, free): Include <stdlib.h> rather than prototyping separately.
72576
72577 2007-02-20  Bruno Haible  <bruno@clisp.org>
72578
72579         * modules/stdio-tests: New file.
72580         * tests/test-stdio.c: New file.
72581
72582         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
72583         (Depends-on): Add stdio.
72584         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72585         (Include): Use <stdio.h> instead of vsnprintf.h.
72586         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72587         HAVE_DECL_VSNPRINTF.
72588         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
72589
72590         * modules/snprintf (Files): Remove lib/snprintf.h.
72591         (Depends-on): Add stdio.
72592         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72593         (Include): Use <stdio.h> instead of snprintf.h.
72594         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72595         HAVE_DECL_SNPRINTF.
72596         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
72597         * lib/getaddrinfo.c: Likewise.
72598
72599         * modules/stdio: New file.
72600         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
72601         * lib/snprintf.h: Remove file.
72602         * lib/vsnprintf.h: Remove file.
72603         * lib/.cppi-disable: Remove snprintf.h.
72604         * m4/stdio_h.m4: New file.
72605         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
72606
72607 2007-02-20  Jim Meyering  <jim@meyering.net>
72608
72609         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
72610         used by e.g., mingw.  From Bruno Haible.
72611
72612 2007-02-19  Bruno Haible  <bruno@clisp.org>
72613
72614         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
72615         warnings.
72616         Reported by Ben Pfaff <blp@cs.stanford.edu>.
72617
72618 2007-02-19  Bruno Haible  <bruno@clisp.org>
72619
72620         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
72621         from mingw users.
72622
72623 2007-02-19  Bruno Haible  <bruno@clisp.org>
72624
72625         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
72626         warnings.
72627         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
72628
72629 2007-02-19  Jim Meyering  <jim@meyering.net>
72630
72631         Don't use FD after a successful "fdopendir (fd)".
72632         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
72633         Reset it by calling dirfd on the just-obtained DIR*.
72634
72635         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
72636         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
72637
72638 2007-02-18  Bruno Haible  <bruno@clisp.org>
72639
72640         * lib/readlink.c: Include <unistd.h>.
72641         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
72642         HAVE_READLINK.
72643         * modules/readlink (Depends-on): Add unistd.
72644         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72645         (Include): Add <unistd.h>.
72646
72647         * lib/getlogin_r.h: Remove file.
72648         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
72649         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
72650         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
72651         HAVE_DECL_GETLOGIN_R.
72652         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
72653         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72654         (Include): Use <unistd.h> instead of getlogin_r.h.
72655
72656         * lib/getcwd.h: Remove file.
72657         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
72658         * lib/xgetcwd.c: Likewise.
72659         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
72660         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
72661         * modules/getcwd (Files): Remove lib/getcwd.h.
72662         (Depends-on): Add unistd.
72663         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72664         (Include): Use <unistd.h> instad of getcwd.h.
72665
72666         * lib/ftruncate.c: Include <unistd.h> first.
72667         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
72668         Set HAVE_FTRUNCATE.
72669         * modules/ftruncate (Depends-on): Add unistd.
72670         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72671
72672         * lib/fchdir.c: Include <unistd.h> first.
72673         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
72674         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
72675         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
72676         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72677         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
72678
72679         * lib/dup2.c: Include <unistd.h> first.
72680         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
72681         HAVE_DUP2.
72682         * modules/dup2 (Depends-on): Add unistd.
72683         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72684
72685         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
72686         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
72687         REPLACE_CHOWN. Don't define chown as a macro here.
72688         * modules/chown (Depends-on): Add unistd.
72689         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72690
72691         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
72692         Add definition for GL_LINK_WARNING.
72693         (chown, dup2): New declarations.
72694         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
72695         link warning.
72696         (ftruncate): New declaration.
72697         (getcwd): New declaration, taken from old getcwd.h.
72698         (getlogin_r): New declaration, taken from old getlogin_r.h.
72699         (readlink): New declaration.
72700         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
72701         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
72702         (gl_PREREQ_UNISTD): Remove macro.
72703         (gl_UNISTD_MODULE_INDICATOR): New macro.
72704         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
72705         many new variables. Don't set UNISTD_H.
72706         * modules/unistd (Description): Change.
72707         (Depends-on): Add link-warning.
72708         (configure.ac): Update.
72709         (Makefile.am): Create unistd.h always. Substitute many new variables
72710         into it.
72711
72712 2007-02-18  Bruno Haible  <bruno@clisp.org>
72713
72714         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
72715         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
72716         HAVE_GETSUBOPT.
72717         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
72718         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
72719         * lib/getsubopt.h: Remove file.
72720         * modules/getsubopt (Files): Remove lib/getsubopt.h.
72721         (Depends-on): Add stdlib.
72722         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72723         (Includes): Use <stdlib.h> instead of getsubopt.h.
72724         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
72725         Set HAVE_GETSUBOPT.
72726         * lib/getsubopt.c: Don't include getsubopt.h.
72727
72728 2007-02-18  Bruno Haible  <bruno@clisp.org>
72729
72730         * modules/fchdir (Depends-on): Add dup2.
72731
72732 2007-02-18  Bruno Haible  <bruno@clisp.org>
72733
72734         * lib/stdlib_.h: Handle glibc's special invocation convention
72735         specially.
72736
72737 2007-02-18  Bruno Haible  <bruno@clisp.org>
72738
72739         * modules/stdlib-tests: New file.
72740         * tests/test-stdlib.c: New file.
72741
72742         * modules/mkstemp (Files): Remove lib/mkstemp.h.
72743         (Depends-on): Add stdlib.
72744         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72745         (Includes): Use <stdlib.h> instead of mkstemp.h.
72746         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72747         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
72748         * lib/mkstemp.c: Don't include mkstemp.h.
72749         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
72750         * lib/stdlib--.h: Don't include mkstemp.h.
72751
72752         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
72753         (Depends-on): Add stdlib.
72754         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72755         (Includes): Use <stdlib.h> instead of mkdtemp.h.
72756         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72757         HAVE_MKDTEMP.
72758         * lib/mkdtemp.c: Don't include mkdtemp.h.
72759         * lib/clean-temp.c: Don't include mkdtemp.h.
72760
72761         * modules/exit (Files): Remove lib/exit.h.
72762         (Depends-on): Add stdlib.
72763         (Makefile.am): Remove lib_SOURCES.
72764         (Include): Use <stdlib.h> instead of exit.h.
72765         * lib/argmatch.c: Don't include exit.h.
72766         * lib/execute.c: Likewise.
72767         * lib/pagealign_alloc.c: Likewise.
72768         * lib/pipe.c: Likewise.
72769         * lib/wait-process.c: Likewise.
72770         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
72771         * lib/exitfail.c: Likewise.
72772         * lib/savewd.c: Likewise.
72773         * lib/xsetenv.c: Likewise.
72774
72775         * modules/stdlib: New file.
72776         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
72777         and extra comments about mkstemp().
72778         * lib/exit.h: Remove file.
72779         * lib/mkdtemp.h: Remove file.
72780         * lib/mkstemp.h: Remove file.
72781         * m4/stdlib_h.m4: New file.
72782         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
72783
72784 2007-02-18  Bruno Haible  <bruno@clisp.org>
72785
72786         * modules/math-tests: New file.
72787         * tests/test-math.c: New file.
72788
72789         * modules/math: New file.
72790         * modules/mathl (Files): Remove lib/mathl.h.
72791         (Depends-on): Add math.
72792         (Makefile.am): Don't mention mathl.h.
72793         (Include): Use <math.h> instead of mathl.h.
72794         * lib/math_.h: New file.
72795         * lib/mathl.h: Remove file.
72796         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
72797         mathl.h.
72798         * lib/asinl.c: Likewise.
72799         * lib/atanl.c: Likewise.
72800         * lib/ceill.c: Likewise.
72801         * lib/cosl.c: Likewise.
72802         * lib/expl.c: Likewise.
72803         * lib/floorl.c: Likewise.
72804         * lib/frexpl.c: Likewise.
72805         * lib/ldexpl.c: Likewise.
72806         * lib/logl.c: Likewise.
72807         * lib/sincosl.c: Likewise.
72808         * lib/sinl.c: Likewise.
72809         * lib/sqrtl.c: Likewise.
72810         * lib/tanl.c: Likewise.
72811         * lib/trigl.c: Likewise.
72812         * m4/math_h.m4: New file.
72813         * MODULES.html.sh (Mathematics): Add math.
72814
72815 2007-02-17  Bruno Haible  <bruno@clisp.org>
72816
72817         * modules/wctype-tests: New file.
72818         * tests/test-wctype.c: New file.
72819
72820         * modules/wchar-tests: New file.
72821         * tests/test-wchar.c: New file.
72822
72823         * modules/unistd-tests: New file.
72824         * tests/test-unistd.c: New file.
72825
72826         * modules/time-tests: New file.
72827         * tests/test-time.c: New file.
72828
72829         * modules/sysexits-tests: New file.
72830         * tests/test-sysexits.c: New file.
72831
72832         * modules/sys_time-tests: New file.
72833         * tests/test-sys_time.c: New file.
72834
72835         * modules/sys_stat-tests: New file.
72836         * tests/test-sys_stat.c: New file.
72837
72838         * modules/sys_socket-tests: New file.
72839         * tests/test-sys_socket.c: New file.
72840
72841         * modules/sys_select-tests: New file.
72842         * tests/test-sys_select.c: New file.
72843
72844         * modules/string-tests: New file.
72845         * tests/test-string.c: New file.
72846
72847         * modules/stdbool-tests: New file.
72848         * tests/test-stdbool.c: New file.
72849
72850         * modules/netinet_in-tests: New file.
72851         * tests/test-netinet_in.c: New file.
72852
72853         * modules/inttypes-tests: New file.
72854         * tests/test-inttypes.c: New file.
72855
72856         * modules/fcntl-tests: New file.
72857         * tests/test-fcntl.c: New file.
72858
72859         * modules/byteswap-tests: New file.
72860         * tests/test-byteswap.c: New file.
72861
72862         * modules/arpa_inet-tests: New file.
72863         * tests/test-arpa_inet.c: New file.
72864
72865 2007-02-17  Bruno Haible  <bruno@clisp.org>
72866
72867         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
72868         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
72869         if the corresponding module is not enabled. Emit link warnings if
72870         the function is used nevertheless.
72871         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
72872         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
72873         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
72874         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
72875         * modules/inttypes (Depends-on): Add link-warning.
72876         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72877         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
72878         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
72879         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
72880         * modules/imaxdiv (configure.ac): Likewise.
72881         * modules/strtoimax (configure.ac): Likewise.
72882         * modules/strtoumax (configure.ac): Likewise.
72883
72884 2007-02-17  Bruno Haible  <bruno@clisp.org>
72885
72886         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
72887         gl_STRING_MODULE_INDICATOR_DEFAULTS.
72888         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
72889         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
72890
72891 2007-02-17  Bruno Haible  <bruno@clisp.org>
72892
72893         * modules/link-warning: New file.
72894         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
72895         * lib/string_.h (GL_LINK_WARNING): Remove definition.
72896         * modules/string (Depends-on): Add link-warning.
72897         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72898         string.h.
72899         * MODULES.html.sh (Support for building libraries and executables): Add
72900         link-warning.
72901
72902 2007-02-17  Bruno Haible  <bruno@clisp.org>
72903
72904         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
72905         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
72906         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
72907         long lines.
72908
72909 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
72910             Bruno Haible  <bruno@clisp.org>
72911
72912         * modules/tmpfile: New file.
72913         * lib/tmpfile.c: New file.
72914         * m4/tmpfile.m4: New file.
72915         * MODULES.html.sh (func_all_modules): New section "Input/output".
72916
72917 2007-02-15  Bruno Haible  <bruno@clisp.org>
72918
72919         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
72920         (supports_delete_on_close): New function.
72921         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
72922
72923 2007-02-14  Bruno Haible  <bruno@clisp.org>
72924
72925         * modules/mbspcasecmp-tests: New file.
72926         * tests/test-mbspcasecmp.sh: New file.
72927         * tests/test-mbspcasecmp.c: New file.
72928
72929         New module mbspcasecmp.
72930         * modules/mbspcasecmp: New file.
72931         * lib/mbspcasecmp.c: New file.
72932         * lib/string_.h (strncasecmp): Change warning message.
72933         (mbspcasecmp): New declaration.
72934         * m4/mbspcasecmp.m4: New file.
72935         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72936         GNULIB_MBSPCASECMP.
72937         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
72938         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
72939
72940 2007-02-14  Bruno Haible  <bruno@clisp.org>
72941
72942         * modules/mbsncasecmp-tests: New file.
72943         * tests/test-mbsncasecmp.sh: New file.
72944         * tests/test-mbsncasecmp.c: New file.
72945
72946         New module mbsncasecmp.
72947         * modules/mbsncasecmp: New file.
72948         * lib/mbsncasecmp.c: New file.
72949         * lib/string_.h (mbsncasecmp): New declaration.
72950         * m4/mbsncasecmp.m4: New file.
72951         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72952         GNULIB_MBSNCASECMP.
72953         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
72954         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
72955
72956 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
72957
72958         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
72959         Verify that it doesn't overlap with our flags.
72960         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
72961         do not have the desired effect in multibyte locales; instead, use
72962         mbscasecmp.
72963         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
72964         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
72965         we don't require GNU fnmatch ourselves (if our users require it, they
72966         should do so explicitly).
72967
72968         Fix regex code so it doesn't rely on strcasecmp.
72969         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
72970         Otherwise, include gnulib's langinfo.h.
72971         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
72972         undesirable behavior in non-C locales.  Instead, rely on localecharset.
72973         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
72974         * modules/regex (FILES): Remove m4/codeset.m4.
72975         (Depends-on): Add localcharset.  Remove strcase.
72976
72977 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72978
72979         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
72980         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
72981
72982 2007-02-13  Bruno Haible  <bruno@clisp.org>
72983
72984         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
72985         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72986
72987 2007-02-12  Bruno Haible  <bruno@clisp.org>
72988
72989         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
72990         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
72991         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
72992         time warning rather than a link error.
72993
72994 2007-02-12  Bruno Haible  <bruno@clisp.org>
72995
72996         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
72997         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
72998         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72999
73000 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73001
73002         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
73003         args, not 2.
73004
73005 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73006
73007         New module 'time', so that apps can include <time.h> as per
73008         POSIX and GNU instead of separate include files like time_r.h
73009         and timegm.h.  This implementation tries out a simpler approach
73010         for replacing decls in standard include files (as compared to
73011         the string module), somewhat as an experiment.
73012
73013         * config/srclist.txt: Comment out mktime.c for now.
73014         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
73015         since it doesn't apply any more.  Use generic wording instead.
73016         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
73017         'time'.
73018         * lib/time_.h, m4/time_h.m4, modules/time: New files.
73019         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
73020         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
73021         Don't include <sys/types.h>; no longer needed since we assume C89.
73022         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
73023         * lib/strftime.c: Likewise.
73024         * lib/time_r.c: Likewise.
73025         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
73026         * lib/nanosleep.c: Include <time.h> first, to check interface.
73027         * lib/strptime.c: Likewise.
73028         * lib/time_r.c: Likewise.
73029         * lib/timegm.c: Likewise.
73030         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
73031         needed.
73032         * lib/timegm.c: Don't include timegm.h; no longer needed.
73033         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
73034         time.h now handles any problems in that area.
73035         (struct timespec, nanosleep): Remove; time.h now arranges for these.
73036         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
73037         that time.h defines struct timespec.
73038         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
73039         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
73040         handles that.
73041         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
73042         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
73043         needed.  Set REPLACE_LOCALTIME.
73044         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
73045         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
73046         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
73047         nanosleep; time_h.m4 now does that.  Don't require
73048         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
73049         module handles this now.
73050         * modules/getdate (Depends-on): Remove timespec.  Add time.
73051         * modules/nanosleep (Depends-on): Likewise.
73052         * modules/stat-time (Depends-on): Likewise.
73053         * modules/nanosleep (Include): Include time.h, not timespec.h.
73054         * modules/strptime (Files): Remove lib/strptime.h.
73055         (Depends-on): Add extensions, time.
73056         (Include): Include time.h, not strptime.h.
73057         * modules/time_r (Files): Remove lib/time_r.h.
73058         (Depends-on): Add time.
73059         (Include): Include time.h, not time_r.h.
73060         * modules/timegm: Likewise.
73061         * modules/timespec (Description): Now does timespec-related decls
73062         of our own, instead of struct timespec itself.
73063         (Depends-on): Add time; remove extensions.
73064         (Maintainer): Add self.
73065         * modules/utimecmp (Depends-on): Add time; remove timespec.
73066         * modules/utimens (Depends-on): Likewise.
73067         * modules/xnanosleep (Depends-on): Likewise.
73068
73069 2007-02-11  Bruno Haible  <bruno@clisp.org>
73070
73071         * lib/c-strstr.c: Include allocsa.h.
73072         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73073         * lib/c-strcasestr.c: Include allocsa.h.
73074         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73075         * lib/strcasestr.c: Include allocsa.h.
73076         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73077         * lib/mbsstr.c: Include allocsa.h.
73078         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73079         allocsa/freesa instead of malloc/free.
73080         * lib/mbscasestr.c: Include allocsa.h.
73081         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73082         allocsa/freesa instead of malloc/free.
73083         * modules/c-strstr (Depends-on): Add allocsa.
73084         * modules/c-strcasestr (Depends-on): Likewise.
73085         * modules/strcasestr (Depends-on): Likewise.
73086         * modules/mbsstr (Depends-on): Likewise.
73087         * modules/mbscasestr (Depends-on): Likewise.
73088
73089 2007-02-11  Bruno Haible  <bruno@clisp.org>
73090
73091         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
73092
73093         * modules/mbsspn-tests: New file.
73094         * tests/test-mbsspn.sh: New file.
73095         * tests/test-mbsspn.c: New file.
73096
73097 2007-02-11  Bruno Haible  <bruno@clisp.org>
73098
73099         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
73100
73101         * modules/mbspbrk-tests: New file.
73102         * tests/test-mbspbrk.sh: New file.
73103         * tests/test-mbspbrk.c: New file.
73104
73105 2007-02-11  Bruno Haible  <bruno@clisp.org>
73106
73107         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
73108         unneeded cast.
73109
73110         * modules/mbscspn-tests: New file.
73111         * tests/test-mbscspn.sh: New file.
73112         * tests/test-mbscspn.c: New file.
73113
73114 2007-02-11  Bruno Haible  <bruno@clisp.org>
73115
73116         * modules/mbscasecmp-tests: New file.
73117         * tests/test-mbscasecmp.sh: New file.
73118         * tests/test-mbscasecmp.c: New file.
73119
73120 2007-02-11  Bruno Haible  <bruno@clisp.org>
73121
73122         Ensure O(n) worst-case complexity of mbscasestr.
73123         * lib/mbscasestr.c: Include stdbool.h.
73124         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73125         functions.
73126         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
73127         the bookkeeping indicates that it's worth it.
73128         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
73129
73130         * modules/mbscasestr-tests: New file.
73131         * tests/test-mbscasestr1.c: New file.
73132         * tests/test-mbscasestr2.sh: New file.
73133         * tests/test-mbscasestr2.c: New file.
73134         * tests/test-mbscasestr3.sh: New file.
73135         * tests/test-mbscasestr3.c: New file.
73136         * tests/test-mbscasestr4.sh: New file.
73137         * tests/test-mbscasestr4.c: New file.
73138         * m4/locale-tr.m4: New file.
73139
73140 2007-02-11  Bruno Haible  <bruno@clisp.org>
73141
73142         Ensure O(n) worst-case complexity of mbsstr.
73143         * lib/mbsstr.c: Include stdbool.h.
73144         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73145         functions.
73146         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
73147         bookkeeping indicates that it's worth it.
73148         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
73149
73150         * modules/mbsstr-tests: New file.
73151         * tests/test-mbsstr1.c: New file.
73152         * tests/test-mbsstr2.sh: New file.
73153         * tests/test-mbsstr2.c: New file.
73154         * tests/test-mbsstr3.sh: New file.
73155         * tests/test-mbsstr3.c: New file.
73156         * m4/locale-fr.m4: New file.
73157
73158 2007-02-11  Bruno Haible  <bruno@clisp.org>
73159
73160         * lib/mbsrchr.c (mbsrchr): Fix bug.
73161
73162         * modules/mbsrchr-tests: New file.
73163         * tests/test-mbsrchr.sh: New file.
73164         * tests/test-mbsrchr.c: New file.
73165
73166 2007-02-11  Bruno Haible  <bruno@clisp.org>
73167
73168         * lib/mbschr.c (mbschr): Fix bug.
73169
73170         * modules/mbschr-tests: New file.
73171         * tests/test-mbschr.sh: New file.
73172         * tests/test-mbschr.c: New file.
73173         * m4/locale-zh.m4: New file.
73174
73175 2007-02-11  Bruno Haible  <bruno@clisp.org>
73176
73177         Support for copying multibyte string iterators.
73178         * lib/mbiter.h: Include <string.h>.
73179         (mbiter_multi_copy): New function.
73180         (mbi_copy): New macro.
73181         * lib/mbuiter.h: Include <string.h>.
73182         (mbuiter_multi_copy): New function.
73183         (mbui_copy): New macro.
73184
73185 2007-02-11  Bruno Haible  <bruno@clisp.org>
73186
73187         New module mbslen.
73188         * modules/mbslen: New file.
73189         * lib/mbslen.c: New file.
73190         * lib/string_.h (mbslen): New declaration.
73191         * m4/mbslen.m4: New file.
73192         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73193         GNULIB_MBSLEN.
73194         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
73195         * MODULES.html.sh (Internationalization functions): Add mbslen.
73196
73197 2007-02-11  Bruno Haible  <bruno@clisp.org>
73198
73199         Ensure O(n) worst-case complexity of strcasestr substitute.
73200         * lib/strcasestr.c: Include stdbool.h.
73201         (knuth_morris_pratt): New function.
73202         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73203         bookkeeping indicates that it's worth it.
73204         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
73205
73206         * modules/strcasestr-tests: New file.
73207         * tests/test-strcasestr.c: New file.
73208
73209 2007-02-11  Bruno Haible  <bruno@clisp.org>
73210
73211         Ensure O(n) worst-case complexity of c_strcasestr.
73212         * lib/c-strcasestr.c: Include stdbool.h, string.h.
73213         (knuth_morris_pratt): New function.
73214         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
73215         the bookkeeping indicates that it's worth it.
73216         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
73217
73218         * modules/c-strcasestr-tests: New file.
73219         * tests/test-c-strcasestr.c: New file.
73220
73221 2007-02-11  Bruno Haible  <bruno@clisp.org>
73222
73223         Ensure O(n) worst-case complexity of c_strstr.
73224         * lib/c-strstr.c: Include stdbool.h, string.h.
73225         (knuth_morris_pratt): New function.
73226         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73227         bookkeeping indicates that it's worth it.
73228         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
73229
73230         * lib/c-strstr.c: Complete rewrite for maintainability.
73231
73232         * modules/c-strstr-tests: New file.
73233         * tests/test-c-strstr.c: New file.
73234
73235 2007-02-11  Bruno Haible  <bruno@clisp.org>
73236
73237         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
73238         5.2.1 and earlier, whereby \055 was treated just like the range
73239         delimiter '-'.
73240         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
73241
73242 2007-02-08  Bruno Haible  <bruno@clisp.org>
73243
73244         * modules/regex (Depends-on): Add stdbool.
73245         Reported by Dalibor Topic <robilad@kaffe.org>.
73246
73247 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
73248
73249         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
73250         Prefer returning from main to exiting from it.
73251         Remove unnecessary parens after sizeof.
73252
73253 2007-02-05  Bruno Haible  <bruno@clisp.org>
73254
73255         New module mbssep.
73256         * modules/mbssep: New file.
73257         * lib/mbssep.c: New file.
73258         * lib/string_.h (strsep): Add a conditional link warning.
73259         (mbssep): New declaration.
73260         * m4/mbssep.m4: New file.
73261         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73262         GNULIB_MBSSEP.
73263         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
73264         * MODULES.html.sh (Internationalization functions): Add mbssep.
73265
73266 2007-02-05  Bruno Haible  <bruno@clisp.org>
73267
73268         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
73269         Optimize search in case of 1 delimiter.
73270
73271 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73272
73273         * lib/acl.h: Include sys/types.h before sys/acl.h.
73274
73275 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73276
73277         Merge upstream fix for glibc bugzilla #3957:
73278
73279         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
73280
73281         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
73282         bit for RE_HAT_LISTS_NOT_NEWLINE.
73283         (build_charclass_op): Remove bogus comment.
73284
73285 2007-02-05  Simon Josefsson  <simon@josefsson.org>
73286
73287         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
73288
73289 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73290
73291         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
73292         * lib/memmem.c [!defined _LIBC]: Include config.h.
73293
73294 2007-02-04  Bruno Haible  <bruno@clisp.org>
73295
73296         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
73297         warning message.
73298
73299 2007-02-04  Bruno Haible  <bruno@clisp.org>
73300
73301         New module mbstok_r.
73302         * modules/mbstok_r: New file.
73303         * lib/mbstok_r.c: New file.
73304         * lib/string_.h (strtok_r): Change argument names to match the
73305         comments. Add a conditional link warning.
73306         (mbstok_r): New declaration.
73307         * m4/mbstok_r.m4: New file.
73308         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73309         GNULIB_MBSTOK_R.
73310         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
73311         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
73312
73313 2007-02-04  Bruno Haible  <bruno@clisp.org>
73314
73315         New module mbsspn.
73316         * modules/mbsspn: New file.
73317         * lib/mbsspn.c: New file.
73318         * lib/string_.h (strspn): Add a conditional link warning.
73319         (mbsspn): New declaration.
73320         * m4/mbsspn.m4: New file.
73321         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73322         GNULIB_MBSSPN.
73323         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
73324         * MODULES.html.sh (Internationalization functions): Add mbsspn.
73325
73326 2007-02-04  Bruno Haible  <bruno@clisp.org>
73327
73328         New module mbspbrk.
73329         * modules/mbspbrk: New file.
73330         * lib/mbspbrk.c: New file.
73331         * lib/string_.h (strpbrk): Add a conditional link warning.
73332         (mbspbrk): New declaration.
73333         * m4/mbspbrk.m4: New file.
73334         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73335         GNULIB_MBSPBRK.
73336         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
73337         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
73338
73339 2007-02-04  Bruno Haible  <bruno@clisp.org>
73340
73341         New module mbscspn.
73342         * modules/mbscspn: New file.
73343         * lib/mbscspn.c: New file.
73344         * lib/string_.h (strcspn): Add a conditional link warning.
73345         (mbscspn): New declaration.
73346         * m4/mbscspn.m4: New file.
73347         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73348         GNULIB_MBSCSPN.
73349         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
73350         * MODULES.html.sh (Internationalization functions): Add mbscspn.
73351
73352 2007-02-04  Bruno Haible  <bruno@clisp.org>
73353
73354         New module mbscasestr, reduced goal of strcasestr.
73355         * modules/mbscasestr: New file.
73356         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
73357         (mbscasestr): Renamed from strcasestr.
73358         * lib/strcasestr.c: Don't include mbuiter.h.
73359         (strcasestr): Remove support for multibyte locales.
73360         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
73361         Change the conditional link warning.
73362         (mbscasestr): New declaration.
73363         * m4/mbscasestr.m4: New file.
73364         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
73365         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
73366         REPLACE_STRCASESTR.
73367         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
73368         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73369         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73370         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
73371         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
73372         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73373         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
73374         (Depends-on): Remove mbuiter.
73375         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
73376
73377 2007-02-04  Bruno Haible  <bruno@clisp.org>
73378
73379         Simplify handling of strncasecmp.
73380         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
73381         the conditional link warning.
73382         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73383         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
73384         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
73385         * modules/strcase (configure.ac): Don't invoke
73386         gl_STRING_MODULE_INDICATOR.
73387         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
73388
73389 2007-02-04  Bruno Haible  <bruno@clisp.org>
73390
73391         New module mbscasecmp, reduced goal of strcasecmp.
73392         * modules/mbscasecmp: New file.
73393         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
73394         (mbscasecmp): Renamed from strcasecmp.
73395         * lib/strcasecmp.c: Don't include mbuiter.h.
73396         (strcasecmp): Remove support for multibyte locales.
73397         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
73398         Change the conditional link warning.
73399         (mbscasecmp): New declaration.
73400         * m4/mbscasecmp.m4: New file.
73401         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
73402         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
73403         REPLACE_STRCASECMP.
73404         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
73405         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73406         GNULIB_MBSCASECMP.
73407         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
73408         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
73409         * modules/strcase (Files): Remove m4/mbrtowc.m4.
73410         (Depends-on): Remove mbuiter.
73411         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
73412
73413 2007-02-04  Bruno Haible  <bruno@clisp.org>
73414
73415         New module mbsstr. Remove module strstr.
73416         * modules/mbsstr: New file.
73417         * modules/strstr: Remove file.
73418         * lib/mbsstr.c: Renamed from lib/strstr.c.
73419         (mbsstr): Renamed from strstr.
73420         * lib/string_.h (strstr): Remove declaration. Change the conditional
73421         link warning.
73422         (mbsstr): New declaration.
73423         * m4/mbsstr.m4: New file.
73424         * m4/strstr.m4: Remove file.
73425         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
73426         REPLACE_STRSTR.
73427         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
73428         Don't initialize GNULIB_STRSTR.
73429         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
73430         substitute GNULIB_STRSTR and REPLACE_STRSTR.
73431         * MODULES.html.sh (Internationalization functions): Add mbsstr.
73432         (Support for systems lacking ANSI C 89): Remove strstr.
73433
73434 2007-02-04  Bruno Haible  <bruno@clisp.org>
73435
73436         New module mbsrchr.
73437         * modules/mbsrchr: New file.
73438         * lib/mbsrchr.c: New file.
73439         * lib/string_.h (strrchr): Add a conditional link warning.
73440         (mbsrchr): New declaration.
73441         * m4/mbsrchr.m4: New file.
73442         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73443         GNULIB_MBSRCHR.
73444         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
73445         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
73446
73447 2007-02-04  Bruno Haible  <bruno@clisp.org>
73448
73449         New module mbschr.
73450         * modules/mbschr: New file.
73451         * lib/mbschr.c: New file.
73452         * lib/string_.h (strchr): Add a conditional link warning.
73453         (mbschr): New declaration.
73454         * m4/mbschr.m4: New file.
73455         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73456         GNULIB_MBSCHR.
73457         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
73458         * MODULES.html.sh (Internationalization functions): Add mbschr.
73459
73460 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73461
73462         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
73463
73464         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
73465
73466 2007-02-04  Bruno Haible  <bruno@clisp.org>
73467
73468         New module description section 'configure.ac-early'.
73469         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
73470         (func_get_autoconf_early_snippet): New function.
73471         (func_import, func_create_testdir): Use it. Remove special cases for
73472         modules 'extensions' and 'lock'.
73473         * modules/extensions (configure.ac-early): Require
73474         gl_USE_SYSTEM_EXTENSIONS.
73475         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
73476
73477 2007-02-04  Bruno Haible  <bruno@clisp.org>
73478
73479         Make use of gcj-4.3's -fsource and -ftarget option.
73480         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
73481         and if so try the options -fsource and -ftarget.
73482         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
73483         source_version, ftarget_option, target_version arguments.
73484         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
73485         (is_envjavac_oldgcj_14_14_usable): Renamed from
73486         is_envjavac_gcj_14_14_usable.
73487         (is_envjavac_oldgcj_14_13_usable): Renamed from
73488         is_envjavac_gcj_14_13_usable.
73489         (is_gcj_present): Update.
73490         (is_gcj_43, is_gcj43_usable): New functions.
73491         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
73492         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
73493         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
73494         try the options -fsource and -ftarget.
73495
73496 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73497
73498         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
73499         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
73500         larger value.
73501
73502 2007-02-03  Jim Meyering  <jim@meyering.net>
73503
73504         Give tools a better chance to allocate space for very large buffers.
73505         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
73506
73507         Make pwd and readlink work also when run with an unreadable parent dir
73508         on systems with openat support.
73509         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
73510         provided getcwd function, even when we have openat support.
73511         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
73512
73513 2007-02-02  Bruno Haible  <bruno@clisp.org>
73514
73515         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73516         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
73517         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
73518         portability problems if one of these functions is only used on specific
73519         platforms.
73520         Reported by Paul Eggert.
73521
73522 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
73523
73524         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
73525         is causing more trouble than it's curing.
73526         * lib/regex_internal.h (__mempcpy): Remove.
73527         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
73528         (and make the code a tad smaller to boot).
73529         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
73530
73531 2007-02-02  Jim Meyering  <jim@meyering.net>
73532
73533         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
73534         section, not in the Makefile.am: one.
73535
73536 2007-02-02  Eric Blake  <ebb9@byu.net>
73537
73538         * lib/strchrnul.c: Always include config.h first.
73539
73540         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
73541         gnulib strstr is not necessary here.
73542
73543 2007-02-02  Simon Josefsson  <simon@josefsson.org>
73544
73545         * m4/socklen.m4: Fix typo.
73546
73547 2007-02-02  Eric Blake  <ebb9@byu.net>
73548
73549         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
73550         * modules/netinet_in (Makefile.am): Likewise.
73551
73552 2007-02-01  Bruno Haible  <bruno@clisp.org>
73553
73554         * lib/string_.h (GL_LINK_WARNING): New macro.
73555         (strcasecmp, strstr, strcasestr): If provided by the system,
73556         conditionally define as a macro that leads to a warning instead of to
73557         an error.
73558         (strncasecmp): Conditionally define as a macro that leads to a warning.
73559
73560 2007-02-01  Karl Berry  <karl@gnu.org>
73561
73562         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
73563
73564 2007-02-01  Bruno Haible  <bruno@clisp.org>
73565
73566         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
73567         renamings.
73568
73569 2007-02-01  Eric Blake  <ebb9@byu.net>
73570
73571         * modules/regex (Depends-on): Revert dependence on mempcpy.
73572         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
73573         module's definition of mempcpy.
73574         Reported by Paul Eggert.
73575
73576 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
73577
73578         * lib/string_.h: If the gnulib module XYZ is not present, undefine
73579         the symbol XYZ before redefining it.  This fixes a problem with
73580         programs that don't use XYZ, when compiled on systems that define
73581         XYZ to something else.
73582
73583 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
73584
73585         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
73586         occurs when "mkdir -m foo" creates a setgid directory that is (1)
73587         writeable to group or other and (2) is intended to have a special
73588         mode bit that is set or cleared.  In such a case, the directory
73589         should be neither group- nor other-writeable until the special
73590         mode bits are right.
73591
73592 2007-01-31  Eric Blake  <ebb9@byu.net>
73593
73594         * modules/mountlist (Depends-on): Add strstr.
73595
73596         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
73597         bug.
73598         * modules/string (Makefile.am): Remove redundant replacement.
73599         * modules/regex (Depends-on): Add mempcpy.
73600
73601 2007-01-31  Bruno Haible  <bruno@clisp.org>
73602
73603         New module description field 'Link'.
73604         * gnulib-tool (func_usage): Document --extract-link-directive.
73605         (sed_extract_prog): Recognize 'Link' directive.
73606         (func_get_link_directive): New function.
73607         (func_import): Show summary of link directives.
73608         Handle --extract-link-directive option.
73609         * modules/acl (Link): New section.
73610         * modules/clock-time (Link): New section.
73611         * modules/euidaccess (Link): New section.
73612         * modules/gettext (Link): New section.
73613         * modules/iconv (Link): New section.
73614         * modules/lock (Link): New section.
73615         * modules/nanosleep (Link): New section.
73616         * modules/readline (Link): New section.
73617
73618 2007-01-27  Bruno Haible  <bruno@clisp.org>
73619
73620         Enforce the use of gnulib modules for unportable <string.h> functions.
73621         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
73622         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
73623         (gl_HEADER_STRING_H_BODY): Require it.
73624         * lib/string_.h: If the gnulib module XYZ is not present, redefine
73625         the symbol XYZ to one that gives a link error.
73626         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
73627         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
73628         * modules/mempcpy (configure.ac): Likewise.
73629         * modules/memrchr (configure.ac): Likewise.
73630         * modules/stpcpy (configure.ac): Likewise.
73631         * modules/stpncpy (configure.ac): Likewise.
73632         * modules/strcase (configure.ac): Likewise.
73633         * modules/strcasestr (configure.ac): Likewise.
73634         * modules/strchrnul (configure.ac): Likewise.
73635         * modules/strdup (configure.ac): Likewise.
73636         * modules/strndup (configure.ac): Likewise.
73637         * modules/strnlen (configure.ac): Likewise.
73638         * modules/strpbrk (configure.ac): Likewise.
73639         * modules/strsep (configure.ac): Likewise.
73640         * modules/strstr (configure.ac): Likewise.
73641         * modules/strtok_r (configure.ac): Likewise.
73642
73643 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
73644
73645         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
73646
73647 2007-01-30  Jim Meyering  <jim@meyering.net>
73648
73649         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
73650
73651 2007-01-29  Bruno Haible  <bruno@clisp.org>
73652
73653         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
73654         * lib/execute.c: Likewise.
73655         * lib/pipe.c: Likewise.
73656         * lib/printf-args.h: Likewise.
73657         * lib/printf-args.c: Likewise.
73658         * lib/printf-parse.c: Likewise.
73659         * lib/vasnprintf.c: Likewise.
73660
73661 2007-01-29  Eric Blake  <ebb9@byu.net>
73662
73663         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
73664         declaration.
73665
73666 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
73667
73668         * lib/strptime.h (strptime): Use 'restrict' for args where
73669         POSIX requires this.
73670         * lib/strptime.c (strptime): Likewise.
73671         Change license notice from LGPL to GPL, since gnulib-tool will
73672         change this as needed.
73673         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
73674         defined.
73675         Include "strptime.h" first, to check interface.
73676         Do not #undef _LIBC and _NL_CURRENT.
73677         Do not include <stdlib.h>; no longer needed.
73678         Include "time_r.h" and declare ptime_locale_status
73679         only if _LIBC is not defined.
73680         (__P): Remove unused macro.
73681         (match_string): Bring back glibc version, but use it only if _LIBC
73682         is defined.
73683         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
73684         Remove unnecessary assertion and abort() call.
73685         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
73686         * m4/strptime.m4: Fix serial number comment.
73687         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
73688         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
73689         (Depends-on): Add time_r.
73690
73691 2007-01-29  Bruno Haible  <bruno@clisp.org>
73692
73693         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73694         strptime.
73695         * modules/strptime (Depends-on): Add stdbool.
73696         * lib/strptime.h: Include <time.h> always. Add comments.
73697
73698 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73699
73700         * modules/strptime: New file.
73701         * lib/strptime.h: New file.
73702         * lib/strptime.c: New file.
73703         * m4/strptime.m4: New file.
73704
73705 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73706
73707         * MODULES.html.sh: New module mpsort.
73708         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
73709
73710         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
73711         a circularity problem with HP-UX ia64 reported by Bob Proulx in
73712         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
73713         All uses changed.
73714         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
73715         All uses changed.
73716         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
73717         to _Restrict_.
73718         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
73719         the parameter matches the prototype.
73720
73721 2007-01-28  Jim Meyering  <jim@meyering.net>
73722
73723         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
73724         sys/time.h here, reverting that part of the previous patch:
73725         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
73726
73727 2007-01-28  Bruno Haible  <bruno@clisp.org>
73728
73729         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
73730         value of $(SYS_TIME_H).
73731         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
73732         remove it conditionally, too. [added by Jim Meyering]
73733         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
73734         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
73735         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
73736         GETTIMEOFDAY_REPLACEMENT to 1.
73737
73738 2007-01-28  Bruno Haible  <bruno@clisp.org>
73739
73740         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
73741         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
73742         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
73743         Set UNISTD_H instead of UNISTD_H2.
73744         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
73745
73746 2007-01-28  Bruno Haible  <bruno@clisp.org>
73747
73748         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
73749         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
73750
73751 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73752
73753         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
73754         (func_create_testdir): Ensure C locale for `grep' and `tr'
73755         character ranges.
73756         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
73757         ACLOCAL_AMFLAGS parsing state machine.
73758
73759 2007-01-27  Bruno Haible  <bruno@clisp.org>
73760
73761         * modules/unistr/base: Update.
73762
73763 2007-01-27  Bruno Haible  <bruno@clisp.org>
73764
73765         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
73766         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
73767         * modules/unistr/u32-mbtouc-unsafe: Renamed from
73768         modules/unistr/u32-mbtouc.
73769         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
73770         * lib/unistr.h: Update.
73771         * lib/linebreak.c: Update.
73772         * modules/unistr/u32-mbtouc: Renamed from
73773         modules/unistr/u32-mbtouc-safe.
73774         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
73775         * lib/unistr.h: Update.
73776         * lib/unistr/u32-to-u8.c: Update.
73777         * lib/unistr/u32-to-u16.c: Update.
73778
73779 2007-01-27  Bruno Haible  <bruno@clisp.org>
73780
73781         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
73782         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
73783         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
73784         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
73785         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
73786         * modules/unistr/u16-mbtouc-unsafe: Renamed from
73787         modules/unistr/u16-mbtouc.
73788         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
73789         * lib/unistr.h: Update.
73790         * lib/linebreak.c: Update.
73791         * modules/linebreak: Update.
73792         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
73793         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
73794         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
73795         * modules/unistr/u16-mbtouc: Renamed from
73796         modules/unistr/u16-mbtouc-safe.
73797         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
73798         * lib/unistr.h: Update.
73799         * lib/unistr/u16-to-u8.c: Update.
73800         * modules/unistr/u16-to-u8: Update.
73801         * lib/unistr/u16-to-u32.c: Update.
73802         * modules/unistr/u16-to-u32: Update.
73803
73804 2007-01-27  Bruno Haible  <bruno@clisp.org>
73805
73806         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
73807         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
73808         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
73809         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
73810         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
73811         * modules/unistr/u8-mbtouc-unsafe: Renamed from
73812         modules/unistr/u8-mbtouc.
73813         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
73814         * lib/unistr.h: Update.
73815         * lib/striconveh.c: Update.
73816         * modules/striconveh: Update.
73817         * lib/linebreak.c: Update.
73818         * modules/linebreak: Update.
73819         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
73820         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
73821         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
73822         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
73823         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
73824         * lib/unistr.h: Update.
73825         * lib/striconveh.c: Update.
73826         * modules/striconveh: Update.
73827         * lib/unistr/u8-to-u16.c: Update.
73828         * modules/unistr/u8-to-u16: Update.
73829         * lib/unistr/u8-to-u32.c: Update.
73830         * modules/unistr/u8-to-u32: Update.
73831
73832 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73833
73834         Sync from Libtool.
73835         * lib/argz.c: Do not include strings.h nor memory.h, include
73836         string.h unconditionally.  Patch by Simon Josefsson.
73837
73838 2007-01-27  Bruno Haible  <bruno@clisp.org>
73839
73840         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
73841         from gl_HEADER_STRING_H_BODY.
73842         (gl_HEADER_STRING_H_BODY): Require it.
73843         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
73844         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
73845         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
73846         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
73847         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
73848         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
73849         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
73850         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
73851         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
73852         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
73853         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
73854         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
73855         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
73856         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
73857         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
73858
73859 2007-01-27  Bruno Haible  <bruno@clisp.org>
73860
73861         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
73862         check_PROGRAMS into noinst_PROGRAMS.
73863         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
73864         check_PROGRAMS in this case.
73865         (func_import): Set for_test to false.
73866         (func_create_testdir): Set for_test to true.
73867
73868 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
73869             Bruno Haible  <bruno@clisp.org>
73870
73871         * modules/strcasestr (Files): Remove lib/strcasestr.h.
73872         (Depends-on): Add string.
73873         (Includes): Use <string.h> instead of strcasestr.h.
73874         * modules/string (Makefile.am): Also substitute the value of
73875         REPLACE_STRCASESTR.
73876         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
73877         assume strcasestr is declared in <string.h> not <strings.h>. Also
73878         set REPLACE_STRCASESTR.
73879         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
73880         REPLACE_STRCASESTR.
73881         * lib/strcasestr.h: Remove file.
73882         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
73883         * lib/string_.h (strcasestr): New declaration.
73884
73885 2007-01-27  Bruno Haible  <bruno@clisp.org>
73886
73887         * lib/string_.h: Use 'extern'.
73888
73889 2007-01-27  Jim Meyering  <jim@meyering.net>
73890
73891         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
73892         of set-but-not-used local, "q".
73893
73894         * lib/mempcpy.c: Include <config.h> before <string.h>.
73895         This fixes a compilation error on HP-UX, due to the system's
73896         "restrict"-using mempcpy prototype.
73897
73898 2007-01-26  Bruno Haible  <bruno@clisp.org>
73899
73900         Small optimization.
73901         * lib/javacomp.c: Include c-strstr.h.
73902          (is_envjavac_gcj): Use c_strstr instead of strstr.
73903         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
73904
73905 2007-01-26  Bruno Haible  <bruno@clisp.org>
73906
73907         * MODULES.html.sh (Unicode string functions): Add the new modules.
73908
73909         * modules/uniconv/u32-strconv-to-locale: New file.
73910         * lib/uniconv/u32-strconv-to-locale.c: New file.
73911
73912         * modules/uniconv/u16-strconv-to-locale: New file.
73913         * lib/uniconv/u16-strconv-to-locale.c: New file.
73914
73915         * modules/uniconv/u8-strconv-to-locale: New file.
73916         * lib/uniconv/u8-strconv-to-locale.c: New file.
73917
73918         * modules/uniconv/u32-strconv-from-locale: New file.
73919         * lib/uniconv/u32-strconv-from-locale.c: New file.
73920
73921         * modules/uniconv/u16-strconv-from-locale: New file.
73922         * lib/uniconv/u16-strconv-from-locale.c: New file.
73923
73924         * modules/uniconv/u8-strconv-from-locale: New file.
73925         * lib/uniconv/u8-strconv-from-locale.c: New file.
73926
73927         * modules/uniconv/u32-strconv-to-enc: New file.
73928         * lib/uniconv/u32-strconv-to-enc.c: New file.
73929         * modules/uniconv/u32-strconv-to-enc-tests: New file.
73930         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
73931
73932         * modules/uniconv/u16-strconv-to-enc: New file.
73933         * lib/uniconv/u16-strconv-to-enc.c: New file.
73934         * lib/uniconv/u-strconv-to-enc.h: New file.
73935         * modules/uniconv/u16-strconv-to-enc-tests: New file.
73936         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
73937
73938         * modules/uniconv/u8-strconv-to-enc: New file.
73939         * lib/uniconv/u8-strconv-to-enc.c: New file.
73940         * modules/uniconv/u8-strconv-to-enc-tests: New file.
73941         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
73942
73943         * modules/uniconv/u32-strconv-from-enc: New file.
73944         * lib/uniconv/u32-strconv-from-enc.c: New file.
73945         * modules/uniconv/u32-strconv-from-enc-tests: New file.
73946         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
73947
73948         * modules/uniconv/u16-strconv-from-enc: New file.
73949         * lib/uniconv/u16-strconv-from-enc.c: New file.
73950         * modules/uniconv/u16-strconv-from-enc-tests: New file.
73951         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
73952
73953         * modules/uniconv/u8-strconv-from-enc: New file.
73954         * lib/uniconv/u8-strconv-from-enc.c: New file.
73955         * lib/uniconv/u-strconv-from-enc.h: New file.
73956         * modules/uniconv/u8-strconv-from-enc-tests: New file.
73957         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
73958
73959         * modules/uniconv/u32-conv-from-enc: New file.
73960         * lib/uniconv/u32-conv-from-enc.c: New file.
73961         * modules/uniconv/u32-conv-from-enc-tests: New file.
73962         * tests/uniconv/test-u32-conv-from-enc.c: New file.
73963
73964         * modules/uniconv/u16-conv-from-enc: New file.
73965         * lib/uniconv/u16-conv-from-enc.c: New file.
73966         * lib/uniconv/u-conv-from-enc.h: New file.
73967         * modules/uniconv/u16-conv-from-enc-tests: New file.
73968         * tests/uniconv/test-u16-conv-from-enc.c: New file.
73969
73970         * modules/uniconv/u8-conv-from-enc: New file.
73971         * lib/uniconv/u8-conv-from-enc.c: New file.
73972         * modules/uniconv/u8-conv-from-enc-tests: New file.
73973         * tests/uniconv/test-u8-conv-from-enc.c: New file.
73974
73975         * modules/uniconv/base: New file.
73976         * lib/uniconv.h: New file.
73977
73978 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
73979
73980         * doc/gnulib-tool.texi (Initial import): Update to match current
73981         behavior with strdup module.
73982         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
73983         * lib/memmem.h: Remove; all uses removed.  This is now done
73984         by <string.h>.
73985         * lib/mempcpy.h: Likewise.
73986         * lib/memrchr.h: Likewise.
73987         * lib/stpcpy.h: Likewise.
73988         * lib/stpncpy.h: Likewise.
73989         * lib/strcase.h: Likewise.
73990         * lib/strchrnul.h: Likewise.
73991         * lib/strdup.h: Likewise.
73992         * lib/strndup.h: Likewise.
73993         * lib/strnlen.h: Likewise.
73994         * lib/strpbrk.h: Likewise.
73995         * lib/strsep.h: Likewise.
73996         * lib/strstr.h: Likewise.
73997         * lib/strtok_r.h: Likewise.
73998         * lib/string_.h: New file.
73999         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
74000         Rely on <string.h> instead.
74001         * lib/canon-host.c: Likewise.
74002         * lib/chdir-long.c: Likewise.
74003         * lib/concatpath.c: Likewise.
74004         * lib/exclude.c: Likewise.
74005         * lib/fchdir.c: Likewise.
74006         * lib/getaddrinfo.c: Likewise.
74007         * lib/getcwd.c: Likewise.
74008         * lib/getsubopt.c: Likewise.
74009         * lib/glob.c: Likewise.
74010         * lib/hard-locale.c: Likewise.
74011         * lib/iconvme.c: Likewise.
74012         * lib/javacomp.c: Likewise.
74013         * lib/mempcpy.c: Likewise.
74014         * lib/memrchr.c: Likewise.
74015         * lib/regex_internal.h: Likewise.
74016         * lib/stpncpy.c: Likewise.
74017         * lib/strcasecmp.c: Likewise.
74018         * lib/strchrnul.c: Likewise.
74019         * lib/strdup.c: Likewise.
74020         * lib/striconv.c: Likewise.
74021         * lib/striconveh.c: Likewise.
74022         * lib/striconveha.c: Likewise.
74023         * lib/strncasecmp.c: Likewise.
74024         * lib/strndup.c: Likewise.
74025         * lib/strnlen.c: Likewise.
74026         * lib/strsep.c: Likewise.
74027         * lib/strstr.c: Likewise.
74028         * lib/strtok_r.c: Likewise.
74029         * lib/userspec.c: Likewise.
74030         * lib/w32spawn.h: Likewise.
74031         * lib/xstrndup.c: Likewise.
74032         * lib/mountlist.c (strstr): Remove decl.
74033         * m4/string_h.m4: New file.
74034         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
74035         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
74036         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
74037         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
74038         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
74039         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
74040         Set REPLACE_STRCASECMP if necessary.
74041         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
74042         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
74043         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
74044         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
74045         HAVE_DECL_STRDUP if necessary.
74046         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
74047         since gl_FUNC_STRNDUP does that now.
74048         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
74049         Check for decl here...
74050         (gl_PREREQ_STRNLEN): ... not here.
74051         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
74052         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
74053         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
74054         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
74055         necessary.
74056         * modules/string: New file.
74057         * modules/memmem (Files): Remove special-purpose include file.
74058         (Depends-on): Add string.
74059         (Include): Include <string.h>, not the removed file.
74060         * modules/mempcpy: Likewise.
74061         * modules/memrchr: Likewise.
74062         * modules/stpcpy: Likewise.
74063         * modules/stpncpy: Likewise.
74064         * modules/strcase: Likewise.
74065         * modules/strchrnul: Likewise.
74066         * modules/strdup: Likewise.
74067         * modules/strndup: Likewise.
74068         * modules/strnlen: Likewise.
74069         * modules/strpbrk: Likewise.
74070         * modules/strsep: Likewise.
74071         * modules/strstr: Likewise.
74072         * modules/strtok_r: Likewise.
74073         * tests/test-dirname.c: Don't include "strdup.h", since
74074         <string.h> now suffices.
74075         * tests/test-memmem.c: Don't include "memmem.h", since
74076         <string.h> now suffices.
74077
74078 2007-01-25  Bruno Haible  <bruno@clisp.org>
74079
74080         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
74081         *resultp is 0.
74082
74083         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
74084         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
74085         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
74086         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
74087
74088         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
74089         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
74090         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
74091         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
74092         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
74093         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
74094
74095 2007-01-24  Bruno Haible  <bruno@clisp.org>
74096
74097         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
74098         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
74099         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
74100         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
74101         gl_FUNC_FTS_CORE.
74102         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
74103         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
74104         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74105         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
74106         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
74107         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
74108         gl_FUNC_FCHOWNAT.
74109         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
74110         gl_FUNC_STRFTIME.
74111         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
74112         Reported by Ralf Wildenhues.
74113
74114 2007-01-24  Bruno Haible  <bruno@clisp.org>
74115
74116         Drop AC_REQUIRE calls that are redundant with the module dependencies.
74117         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
74118         gl_GETADDRINFO.
74119         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
74120         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
74121         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
74122
74123 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
74124
74125         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
74126         Don't use 'exit'; just return from 'main'.
74127         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
74128
74129         * lib/fnmatch_.h: Readjust white space and comments to match
74130         glibc, to avoid spurious diffs.
74131
74132 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74133
74134         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
74135         2004-12-01 change by Jakub Jelinek, since this code won't compile
74136         if !LIBC.  Problem reported by Bob Proulx.
74137
74138 2007-01-23  Bruno Haible  <bruno@clisp.org>
74139
74140         * lib/striconveh.c: Include c-strcaseeq.h.
74141         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
74142         * modules/striconveh (Depends-on): Add c-strcaseeq.
74143
74144 2007-01-23  Bruno Haible  <bruno@clisp.org>
74145
74146         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
74147
74148         * modules/c-strcaseeq: New file.
74149         * lib/c-strcaseeq.h: New file.
74150
74151         * modules/streq: New file.
74152         * lib/streq.h: New file.
74153
74154 2007-01-23  Bruno Haible  <bruno@clisp.org>
74155
74156         * modules/striconveha-tests: New file.
74157         * tests/test-striconveha.c: New file.
74158
74159         * lib/striconveha.h: Include <stdbool.h>.
74160         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
74161         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
74162         (mem_iconveha_notranslit): Renamed from mem_iconveha.
74163         (mem_iconveha): New function.
74164         (str_iconveha_notranslit): Renamed from str_iconveha.
74165         (str_iconveha): New function.
74166         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
74167         c-strcase.
74168
74169 2007-01-23  Bruno Haible  <bruno@clisp.org>
74170
74171         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
74172         encodings without forgiving before trying any encoding with handler.
74173         (str_iconveha): Try all encodings without forgiving before trying any
74174         encoding with handler.
74175
74176 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74177
74178         Import the following changes from libc.
74179
74180         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74181
74182         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
74183
74184         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
74185
74186         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
74187         normal_bracket label.
74188
74189         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
74190
74191         [BZ #361]
74192         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
74193         to normal_bracket after fetching the next character.
74194
74195 2007-01-22  Bruno Haible  <bruno@clisp.org>
74196
74197         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
74198         argument.
74199         * lib/striconveh.c (iconv_carefully_1): New function.
74200         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
74201         argument.
74202         (str_cd_iconveh): Update.
74203         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
74204         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
74205         * tests/test-striconveh.c (MAGIC): New macro.
74206         (new_offsets): New function.
74207         (main): Test call with and without offsets.
74208
74209 2007-01-22  Bruno Haible  <bruno@clisp.org>
74210
74211         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
74212         * modules/sys_select (Makefile.am): Likewise.
74213         * modules/sys_socket (Makefile.am): Likewise.
74214         * modules/sys_time (Makefile.am): Likewise.
74215
74216 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
74217
74218         * modules/gettimeofday (License): Change from GPL to LGPL, since
74219         gettimeofday is a library function.
74220
74221 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74222
74223         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
74224
74225 2007-01-21  Bruno Haible  <bruno@clisp.org>
74226
74227         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
74228
74229 2007-01-21  Bruno Haible  <bruno@clisp.org>
74230
74231         * modules/striconveha: New file.
74232         * lib/striconveha.h: New file.
74233         * lib/striconveha.c: New file.
74234         * MODULES.html.sh (Internationalization functions): Add striconveha.
74235         * lib/striconv.c (str_iconv): Optimize the case of an empty input
74236         string.
74237         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
74238
74239 2007-01-21  Bruno Haible  <bruno@clisp.org>
74240
74241         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
74242         * lib/striconveh.c (str_iconveh): Likewise.
74243
74244 2007-01-21  Bruno Haible  <bruno@clisp.org>
74245
74246         * lib/striconveh.h (mem_iconveh): New declaration.
74247         * lib/striconveh.c (mem_iconveh): New function.
74248         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
74249
74250 2007-01-21  Bruno Haible  <bruno@clisp.org>
74251
74252         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
74253
74254         * lib/striconveh.h (mem_cd_iconveh): Change specification.
74255         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
74256         original result buffer.
74257         (str_cd_iconveh): Update.
74258         * tests/test-striconveh.c (main): Update.
74259
74260         * lib/striconv.h (mem_cd_iconv): Change specification.
74261         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
74262         result buffer.
74263         (str_cd_iconv): Update.
74264         * tests/test-striconv.c (main): Update.
74265
74266 2007-01-21  Bruno Haible  <bruno@clisp.org>
74267
74268         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
74269
74270 2007-01-20  Jim Meyering  <jim@meyering.net>
74271
74272         * lib/userspec.c (parse_with_separator): If a user or group string
74273         starts with "+", skip the corresponding name-to-ID look-up, since
74274         such a look-up must fail: user and group names may not include "+".
74275
74276 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
74277
74278         * lib/poll.c: Include sys/time.h and time.h unconditionally,
74279         since we now assume the sys_time module.
74280         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
74281         check for sys/time.h; no longer needed.
74282         * modules/poll (Depends-on): Depend on sys_time.
74283
74284 2007-01-18  Bruno Haible  <bruno@clisp.org>
74285
74286         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
74287         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74288
74289         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
74290         gettimeofday.
74291
74292         * tests/test-gettimeofday.c: Include <time.h>.
74293         (dummy): Remove variable.
74294
74295         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
74296         gl_HEADER_SYS_TIME_H.
74297         (gl_HEADER_SYS_TIME_H): New macro.
74298
74299         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
74300         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74301         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
74302         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
74303         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74304         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
74305         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
74306         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74307         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
74308         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
74309         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74310
74311         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
74312         last change; it caused a compilation error when cross-compiling to
74313         Cygwin.
74314
74315 2007-01-18  Jim Meyering  <jim@meyering.net>
74316
74317         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
74318         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
74319         than the race-prone "test -d sys || mkdir sys".
74320         (configure.ac): Use AC_PROG_MKDIR_P.
74321         * modules/sys_select: Likewise.
74322         * modules/sys_socket: Likewise.
74323         * modules/sys_time: Likewise.
74324
74325 2007-01-18  Eric Blake  <ebb9@byu.net>
74326
74327         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
74328         replace gettimeofday.
74329         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
74330         name, to avoid infinite recursion.
74331
74332 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
74333
74334         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
74335         module sys_time.
74336         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
74337         assume timespec.h defines struct timeval.
74338         * lib/settime.c: Likewise.
74339         * lib/utimens.c: Likewise.
74340         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
74341         since we now assume the gettimeofday module.
74342         * lib/tempname.c (__gen_tempname): Likewise.
74343         * lib/gettimeofday.h: Remove.
74344         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
74345         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
74346         Include <time.h>, for 'time()'.
74347         (localtime_buffer_addr): Also use this workaround if
74348         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
74349         to simplify the uses.  All uses changed.
74350         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
74351         that #undef is inside {}, and 'const' follows type name consistently.
74352         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
74353         (gettimeofday): Do not use the maximum possible value for
74354         tv->tv_usec, since that might break usages other than ls.c.
74355         Instead, we'll leave ls.c alone.  This undoes today's patch
74356         by Bruno.  Add a compile-time warning for 1s-clock resolution;
74357         we've never observed the problem but might as well keep the
74358         canary.
74359         * lib/nanosleep.c: Include timespec.h first, for interface check.
74360         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
74361         now assume the sys_time module.
74362         * lib/tempname.c: Likewise.
74363         * lib/timespec.h: Likewise.
74364         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
74365         needed.
74366         * lib/strftime.c: Likewise.
74367         * lib/timespec.h: Likewise.
74368         * lib/posixtm.c: Include posixtm.h first, for interface check.
74369         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
74370         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
74371         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
74372         * lib/sys_time_.h: New file.
74373         * lib/timespec.h (struct timespec): Use long int, not long.
74374         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74375         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
74376         Remove obsolescent call to AC_HEADER_TIME.
74377         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
74378         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74379         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74380         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
74381         Likewise.
74382         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
74383         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
74384         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
74385         into the sys_time module.  Check for gettimeofday just once.
74386         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
74387         for gettimeofday signature to just check the signature.  Merely
74388         compile it, since linking doesn't test signature.  Improve test for
74389         whether gettimeofday.o is actually needed.
74390         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
74391         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
74392         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
74393         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74394         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
74395         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
74396         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
74397         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
74398         than worrying about sys/time.h.
74399         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
74400         Don't bother worrying about TIME_WITH_SYS_TIME.
74401         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
74402         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
74403         * m4/sys_time_h.m4: New file.
74404         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
74405         Don't include sys/time.h.  Return from main rather than exiting.
74406         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
74407         all uses changed.
74408         * modules/gethrxtime (Depends-on): Add sys_time.
74409         * modules/gettime (Depends-on): Likewise.
74410         * modules/gettimeofday (Depends-on): Likewise.
74411         * modules/nanosleep (Depends-on): Likewise.
74412         * modules/settime (Depends-on): Likewise.
74413         * modules/tempname (Depends-on): Likewise.
74414         * modules/utimens (Depends-on): Likewise.
74415         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
74416         (Include): Change back to <sys/time.h>.
74417         (Maintainer): Add self.
74418         * modules/sys_time: New file.
74419         * modules/tempname (Depends-on): Add gettimeofday.
74420         * tests/test-gettimeofday.c: Include <sys/time.h>
74421         rather than gettimeofday.h.
74422
74423 2007-01-17  Bruno Haible  <bruno@clisp.org>
74424
74425         * gnulib-tool (func_get_license): Revert last patch. Instead, let
74426         the license default to GPL.
74427         (func_create_testdir): Don't complain if a module is LGPL and its
74428         tests module depends on GPLed modules.
74429
74430 2007-01-17  Bruno Haible  <bruno@clisp.org>
74431
74432         * lib/gettimeofday.c (gettimeofday): Add code for the case
74433         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
74434         maximum possible value for tv->tv_usec, rather than the minimum one.
74435
74436 2005-10-08  Martin Lambers  <marlam@marlam.de>
74437 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74438 2007-01-16  Bruno Haible  <bruno@clisp.org>
74439
74440         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
74441         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
74442         gl_FUNC_GETTIMEOFDAY.
74443         (Include): Add gettimeofday.h.
74444         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
74445         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
74446         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
74447         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
74448         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
74449         * lib/gettimeofday.h: New file.
74450         * lib/gettimeofday.c: Include <sys/timeb.h>.
74451         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
74452         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74453         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
74454         fall back on time().
74455
74456         * tests/test-gettimeofday.c: New file.
74457         * modules/gettimeofday-tests: New file.
74458
74459 2007-01-16  Eric Blake  <ebb9@byu.net>
74460
74461         * modules/fnmatch (Depends-on): Depend on wchar.
74462         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
74463         * m4/fnmatch.m4: Likewise.
74464         * modules/mbchar (Makefile.am): Assume <wchar.h>.
74465         * m4/mbchar.m4: Likewise.
74466         * modules/mbswidth (Depends-on): Depend on wchar.
74467         * lib/mbswidth.c: Assume <wchar.h>.
74468         * m4/mbswidth.m4: Likewise.
74469         * modules/quotearg (Depends-on): Depend on wchar.
74470         * lib/quotearg.c: Assume <wchar.h>.
74471         * m4/quotearg.m4: Likewise.
74472         * modules/regex (Depends-on): Depend on wchar.
74473         * lib/regex_internal.h: Assume <wchar.h>.
74474         * m4/regex.m4: Likewise.
74475         * modules/stdint (Depends-on): Depend on wchar.
74476         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
74477         * m4/stdint.m4: Likewise.
74478         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
74479         * modules/strftime (Depends-on): Depend on wchar.
74480         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
74481         * modules/strtol (Depends-on): Depend on wchar.
74482         * lib/strtol.c: Assume <wchar.h>.
74483         * modules/wcwidth (Depends-on): Depend on wchar.
74484         * lib/wcwidth.h: Assume <wchar.h>.
74485         * m4/wcwidth.m4: Likewise.
74486
74487 2007-01-16  Bruno Haible  <bruno@clisp.org>
74488
74489         * modules/csharpexec-script: New, created from...
74490         * modules/csharpexec: ... this.
74491
74492 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
74493
74494         * modules/javaexec-script: New, created from...
74495         * modules/javaexec: ... this.
74496
74497 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74498
74499         * modules/poll (Dependencies): Add sys_select.
74500
74501 2007-01-15  Jim Meyering  <jim@meyering.net>
74502
74503         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
74504         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
74505         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
74506         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
74507
74508 2007-01-15  Bruno Haible  <bruno@clisp.org>
74509
74510         * modules/striconveh: New file.
74511         * lib/striconveh.h: New file.
74512         * lib/striconveh.c: New file.
74513         * MODULES.html.sh (Internationalization functions): Add striconveh.
74514
74515         * modules/striconveh-tests: New file.
74516         * tests/test-striconveh.c: New file.
74517
74518 2007-01-15  Bruno Haible  <bruno@clisp.org>
74519
74520         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
74521         not from GNU libiconv or GNU libc.
74522
74523 2007-01-15  Bruno Haible  <bruno@clisp.org>
74524
74525         * doc/gnulib-intro.texi (Copyright): Explain the different license
74526         terms for module descriptions, autoconf macros, tests, documentation.
74527
74528 2007-01-14  Bruno Haible  <bruno@clisp.org>
74529
74530         * modules/striconv-tests: New file.
74531         * tests/test-striconv.c: New file.
74532
74533 2007-01-14  Bruno Haible  <bruno@clisp.org>
74534
74535         * modules/iconv-tests: New file.
74536         * tests/test-iconv.c: New file.
74537
74538 2007-01-14  Bruno Haible  <bruno@clisp.org>
74539
74540         * gnulib-tool (func_get_license): For test modules, use the license of
74541         the main module.
74542
74543 2007-01-14  Bruno Haible  <bruno@clisp.org>
74544
74545         * modules/iconv (Include): Clarify that <iconv.h> can only be included
74546         if iconv is found to exist.
74547
74548 2007-01-14  Bruno Haible  <bruno@clisp.org>
74549
74550         * modules/c-ctype-tests: New file.
74551         * tests/test-c-ctype.c: New file.
74552
74553 2007-01-14  Bruno Haible  <bruno@clisp.org>
74554
74555         * modules/binary-io-tests: New file.
74556         * tests/test-binary-io.sh: New file.
74557         * tests/test-binary-io.c: New file.
74558
74559 2007-01-14  Bruno Haible  <bruno@clisp.org>
74560
74561         * modules/array-oset-tests: New file.
74562         * tests/test-array_oset.c: New file.
74563
74564 2007-01-14  Bruno Haible  <bruno@clisp.org>
74565
74566         * modules/array-list-tests: New file.
74567         * tests/test-array_list.c: New file.
74568
74569 2007-01-14  Bruno Haible  <bruno@clisp.org>
74570
74571         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
74572         and make.
74573         Reported by Simon Josefsson in
74574         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
74575
74576 2007-01-14  Bruno Haible  <bruno@clisp.org>
74577
74578         * modules/allocsa-tests: New file.
74579         * tests/test-allocsa.c: New file.
74580
74581 2007-01-14  Bruno Haible  <bruno@clisp.org>
74582
74583         * modules/fchdir (Depends-on): Add absolute-header.
74584         * modules/unistd (Depends-on): Likewise.
74585
74586 2006-12-30  Bruno Haible  <bruno@clisp.org>
74587
74588         * modules/fchdir: New file.
74589         * modules/unistd (Files): Add lib/unistd_.h.
74590         (Makefile.am): Generate unistd.h from unistd_.h.
74591         * lib/fchdir.c: New file.
74592         * lib/dirent_.h: New file.
74593         * lib/unistd_.h: New file.
74594         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
74595         * m4/fchdir.m4: New file.
74596         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
74597         (gl_HEADER_UNISTD): Invoke it.
74598         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
74599         function.
74600         * lib/backupfile.c (opendir, closedir): Undefine.
74601         * lib/chown.c (open, close): Undefine.
74602         * lib/clean-temp.c (open, close): Undefine.
74603         * lib/copy-file.c (open, close): Undefine.
74604         * lib/execute.c (open, close): Undefine.
74605         * lib/fsusage.c (open, close): Undefine.
74606         * lib/gc-gnulib.c (open, close): Undefine.
74607         * lib/getcwd.c (opendir, closedir): Undefine.
74608         * lib/glob.c (opendir, closedir): Undefine.
74609         * lib/javacomp.c (open, close): Undefine.
74610         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
74611         * lib/openat-proc.c (open, close): Undefine.
74612         * lib/pagealign_alloc.c (open, close): Undefine.
74613         * lib/pipe.c (open, close): Undefine.
74614         * lib/progreloc.c (open, close): Undefine.
74615         * lib/savedir.c (opendir, closedir): Undefine.
74616         * lib/utime.c (open, close): Undefine.
74617         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
74618
74619 2007-01-10  Bruno Haible  <bruno@clisp.org>
74620
74621         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
74622
74623 2007-01-12  Eric Blake  <ebb9@byu.net>
74624
74625         Provide a robust <wchar.h>.  Further simplifications are now
74626         possible in other modules, but not included here.
74627         * modules/wchar: New module.
74628         * m4/wchar.m4: New file.
74629         * lib/wchar_.h: Likewise.
74630         * modules/mbchar (Depends-on): Depend on wchar, as the first use
74631         of the new module.
74632         * MODULES.html.sh (Extended multibyte and wide character utilities):
74633         New section.
74634
74635 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
74636
74637         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
74638         to a reasonable default for memory allocation.
74639         (xreadlink): Don't allocate a huge buffer, to work around a buggy
74640         file system that reports garbage st_size values for symlinks.
74641         Problem reported by Liyang Hu.
74642
74643 2007-01-11  Simon Josefsson  <simon@josefsson.org>
74644
74645         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
74646         Emacs .#* auto-save files).
74647
74648 2007-01-11  Bruno Haible  <bruno@clisp.org>
74649
74650         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
74651         directory.
74652
74653 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
74654
74655         Use @...@ consistently in lib/wctype_.h.
74656         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
74657         on it being set to 1 or 0.
74658         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
74659         go back to AC_SUBSTing it.
74660         * modules/wctype (Makefile.am): Undo previous change.
74661
74662 2007-01-10  Eric Blake  <ebb9@byu.net>
74663
74664         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
74665         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
74666         * modules/wctype (Makefile.am): Likewise.
74667         Reported by Chris McGuire.
74668
74669 2007-01-10  Jim Meyering  <jim@meyering.net>
74670
74671         fts.c: a small readability/maintainability improvement
74672         * lib/fts.c (fts_read): Make this code slightly more readable and
74673         maintainable by hoisting the "sp->fts_cur = p" assignments to
74674         immediately follow the statements that set P.  Derived from
74675         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
74676
74677 2007-01-10  Eric Blake  <ebb9@byu.net>
74678
74679         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
74680         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
74681         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
74682         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
74683         Reported by Chris McGuire.
74684
74685 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74686
74687         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
74688         in sed script.
74689
74690 2007-01-09  Bruno Haible  <bruno@clisp.org>
74691
74692         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
74693         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
74694         variables.
74695         (func_module): Use them.
74696
74697 2007-01-09  Bruno Haible  <bruno@clisp.org>
74698
74699         * modules/unistr/base: New file.
74700         * lib/unistr.h: New file.
74701
74702         * modules/unistr/u8-to-u16: New file.
74703         * lib/unistr/u8-to-u16.c: New file.
74704
74705         * modules/unistr/u8-to-u32: New file.
74706         * lib/unistr/u8-to-u32.c: New file.
74707
74708         * modules/unistr/u16-to-u8: New file.
74709         * lib/unistr/u16-to-u8.c: New file.
74710
74711         * modules/unistr/u16-to-u32: New file.
74712         * lib/unistr/u16-to-u32.c: New file.
74713
74714         * modules/unistr/u32-to-u8: New file.
74715         * lib/unistr/u32-to-u8.c: New file.
74716
74717         * modules/unistr/u32-to-u16: New file.
74718         * lib/unistr/u32-to-u16.c: New file.
74719
74720         * modules/unistr/u8-check: New file.
74721         * modules/unistr/u16-check: New file.
74722         * modules/unistr/u32-check: New file.
74723         * lib/unistr/u8-check.c: New file.
74724         * lib/unistr/u16-check.c: New file.
74725         * lib/unistr/u32-check.c: New file.
74726
74727         * modules/unistr/u8-chr: New file.
74728         * modules/unistr/u16-chr: New file.
74729         * modules/unistr/u32-chr: New file.
74730         * lib/unistr/u8-chr.c: New file.
74731         * lib/unistr/u16-chr.c: New file.
74732         * lib/unistr/u32-chr.c: New file.
74733
74734         * modules/unistr/u8-cmp: New file.
74735         * modules/unistr/u16-cmp: New file.
74736         * modules/unistr/u32-cmp: New file.
74737         * lib/unistr/u8-cmp.c: New file.
74738         * lib/unistr/u16-cmp.c: New file.
74739         * lib/unistr/u32-cmp.c: New file.
74740
74741         * modules/unistr/u8-cpy: New file.
74742         * modules/unistr/u16-cpy: New file.
74743         * modules/unistr/u32-cpy: New file.
74744         * lib/unistr/u8-cpy.c: New file.
74745         * lib/unistr/u16-cpy.c: New file.
74746         * lib/unistr/u32-cpy.c: New file.
74747         * lib/unistr/u-cpy.h: New file.
74748
74749         * modules/unistr/u8-cpy-alloc: New file.
74750         * modules/unistr/u16-cpy-alloc: New file.
74751         * modules/unistr/u32-cpy-alloc: New file.
74752         * lib/unistr/u8-cpy-alloc.c: New file.
74753         * lib/unistr/u16-cpy-alloc.c: New file.
74754         * lib/unistr/u32-cpy-alloc.c: New file.
74755         * lib/unistr/u-cpy-alloc.h: New file.
74756
74757         * modules/unistr/u8-endswith: New file.
74758         * modules/unistr/u16-endswith: New file.
74759         * modules/unistr/u32-endswith: New file.
74760         * lib/unistr/u8-endswith.c: New file.
74761         * lib/unistr/u16-endswith.c: New file.
74762         * lib/unistr/u32-endswith.c: New file.
74763         * lib/unistr/u-endswith.h: New file.
74764
74765         * modules/unistr/u8-mblen: New file.
74766         * modules/unistr/u16-mblen: New file.
74767         * modules/unistr/u32-mblen: New file.
74768         * lib/unistr/u8-mblen.c: New file.
74769         * lib/unistr/u16-mblen.c: New file.
74770         * lib/unistr/u32-mblen.c: New file.
74771
74772         * modules/unistr/u8-mbtouc: New file.
74773         * modules/unistr/u16-mbtouc: New file.
74774         * modules/unistr/u32-mbtouc: New file.
74775         * lib/unistr/u8-mbtouc.c: New file.
74776         * lib/unistr/u16-mbtouc.c: New file.
74777         * lib/unistr/u32-mbtouc.c: New file.
74778
74779         * modules/unistr/u8-mbtouc-safe: New file.
74780         * modules/unistr/u16-mbtouc-safe: New file.
74781         * modules/unistr/u32-mbtouc-safe: New file.
74782         * lib/unistr/u8-mbtouc-safe.c: New file.
74783         * lib/unistr/u16-mbtouc-safe.c: New file.
74784         * lib/unistr/u32-mbtouc-safe.c: New file.
74785
74786         * modules/unistr/u8-move: New file.
74787         * modules/unistr/u16-move: New file.
74788         * modules/unistr/u32-move: New file.
74789         * lib/unistr/u8-move.c: New file.
74790         * lib/unistr/u16-move.c: New file.
74791         * lib/unistr/u32-move.c: New file.
74792         * lib/unistr/u-move.h: New file.
74793
74794         * modules/unistr/u8-next: New file.
74795         * modules/unistr/u16-next: New file.
74796         * modules/unistr/u32-next: New file.
74797         * lib/unistr/u8-next.c: New file.
74798         * lib/unistr/u16-next.c: New file.
74799         * lib/unistr/u32-next.c: New file.
74800
74801         * modules/unistr/u8-prev: New file.
74802         * modules/unistr/u16-prev: New file.
74803         * modules/unistr/u32-prev: New file.
74804         * lib/unistr/u8-prev.c: New file.
74805         * lib/unistr/u16-prev.c: New file.
74806         * lib/unistr/u32-prev.c: New file.
74807
74808         * modules/unistr/u8-set: New file.
74809         * modules/unistr/u16-set: New file.
74810         * modules/unistr/u32-set: New file.
74811         * lib/unistr/u8-set.c: New file.
74812         * lib/unistr/u16-set.c: New file.
74813         * lib/unistr/u32-set.c: New file.
74814         * lib/unistr/u-set.h: New file.
74815
74816         * modules/unistr/u8-startswith: New file.
74817         * modules/unistr/u16-startswith: New file.
74818         * modules/unistr/u32-startswith: New file.
74819         * lib/unistr/u8-startswith.c: New file.
74820         * lib/unistr/u16-startswith.c: New file.
74821         * lib/unistr/u32-startswith.c: New file.
74822         * lib/unistr/u-startswith.h: New file.
74823
74824         * modules/unistr/u8-stpcpy: New file.
74825         * modules/unistr/u16-stpcpy: New file.
74826         * modules/unistr/u32-stpcpy: New file.
74827         * lib/unistr/u8-stpcpy.c: New file.
74828         * lib/unistr/u16-stpcpy.c: New file.
74829         * lib/unistr/u32-stpcpy.c: New file.
74830         * lib/unistr/u-stpcpy.h: New file.
74831
74832         * modules/unistr/u8-stpncpy: New file.
74833         * modules/unistr/u16-stpncpy: New file.
74834         * modules/unistr/u32-stpncpy: New file.
74835         * lib/unistr/u8-stpncpy.c: New file.
74836         * lib/unistr/u16-stpncpy.c: New file.
74837         * lib/unistr/u32-stpncpy.c: New file.
74838         * lib/unistr/u-stpncpy.h: New file.
74839
74840         * modules/unistr/u8-strcat: New file.
74841         * modules/unistr/u16-strcat: New file.
74842         * modules/unistr/u32-strcat: New file.
74843         * lib/unistr/u8-strcat.c: New file.
74844         * lib/unistr/u16-strcat.c: New file.
74845         * lib/unistr/u32-strcat.c: New file.
74846         * lib/unistr/u-strcat.h: New file.
74847
74848         * modules/unistr/u8-strchr: New file.
74849         * modules/unistr/u16-strchr: New file.
74850         * modules/unistr/u32-strchr: New file.
74851         * lib/unistr/u8-strchr.c: New file.
74852         * lib/unistr/u16-strchr.c: New file.
74853         * lib/unistr/u32-strchr.c: New file.
74854
74855         * modules/unistr/u8-strcmp: New file.
74856         * modules/unistr/u16-strcmp: New file.
74857         * modules/unistr/u32-strcmp: New file.
74858         * lib/unistr/u8-strcmp.c: New file.
74859         * lib/unistr/u16-strcmp.c: New file.
74860         * lib/unistr/u32-strcmp.c: New file.
74861
74862         * modules/unistr/u8-strcpy: New file.
74863         * modules/unistr/u16-strcpy: New file.
74864         * modules/unistr/u32-strcpy: New file.
74865         * lib/unistr/u8-strcpy.c: New file.
74866         * lib/unistr/u16-strcpy.c: New file.
74867         * lib/unistr/u32-strcpy.c: New file.
74868         * lib/unistr/u-strcpy.h: New file.
74869
74870         * modules/unistr/u8-strcspn: New file.
74871         * modules/unistr/u16-strcspn: New file.
74872         * modules/unistr/u32-strcspn: New file.
74873         * lib/unistr/u8-strcspn.c: New file.
74874         * lib/unistr/u16-strcspn.c: New file.
74875         * lib/unistr/u32-strcspn.c: New file.
74876         * lib/unistr/u-strcspn.h: New file.
74877
74878         * modules/unistr/u8-strdup: New file.
74879         * modules/unistr/u16-strdup: New file.
74880         * modules/unistr/u32-strdup: New file.
74881         * lib/unistr/u8-strdup.c: New file.
74882         * lib/unistr/u16-strdup.c: New file.
74883         * lib/unistr/u32-strdup.c: New file.
74884         * lib/unistr/u-strdup.h: New file.
74885
74886         * modules/unistr/u8-strlen: New file.
74887         * modules/unistr/u16-strlen: New file.
74888         * modules/unistr/u32-strlen: New file.
74889         * lib/unistr/u8-strlen.c: New file.
74890         * lib/unistr/u16-strlen.c: New file.
74891         * lib/unistr/u32-strlen.c: New file.
74892         * lib/unistr/u-strlen.h: New file.
74893
74894         * modules/unistr/u8-strmblen: New file.
74895         * modules/unistr/u16-strmblen: New file.
74896         * modules/unistr/u32-strmblen: New file.
74897         * lib/unistr/u8-strmblen.c: New file.
74898         * lib/unistr/u16-strmblen.c: New file.
74899         * lib/unistr/u32-strmblen.c: New file.
74900
74901         * modules/unistr/u8-strmbtouc: New file.
74902         * modules/unistr/u16-strmbtouc: New file.
74903         * modules/unistr/u32-strmbtouc: New file.
74904         * lib/unistr/u8-strmbtouc.c: New file.
74905         * lib/unistr/u16-strmbtouc.c: New file.
74906         * lib/unistr/u32-strmbtouc.c: New file.
74907
74908         * modules/unistr/u8-strncat: New file.
74909         * modules/unistr/u16-strncat: New file.
74910         * modules/unistr/u32-strncat: New file.
74911         * lib/unistr/u8-strncat.c: New file.
74912         * lib/unistr/u16-strncat.c: New file.
74913         * lib/unistr/u32-strncat.c: New file.
74914         * lib/unistr/u-strncat.h: New file.
74915
74916         * modules/unistr/u8-strncmp: New file.
74917         * modules/unistr/u16-strncmp: New file.
74918         * modules/unistr/u32-strncmp: New file.
74919         * lib/unistr/u8-strncmp.c: New file.
74920         * lib/unistr/u16-strncmp.c: New file.
74921         * lib/unistr/u32-strncmp.c: New file.
74922
74923         * modules/unistr/u8-strncpy: New file.
74924         * modules/unistr/u16-strncpy: New file.
74925         * modules/unistr/u32-strncpy: New file.
74926         * lib/unistr/u8-strncpy.c: New file.
74927         * lib/unistr/u16-strncpy.c: New file.
74928         * lib/unistr/u32-strncpy.c: New file.
74929         * lib/unistr/u-strncpy.h: New file.
74930
74931         * modules/unistr/u8-strnlen: New file.
74932         * modules/unistr/u16-strnlen: New file.
74933         * modules/unistr/u32-strnlen: New file.
74934         * lib/unistr/u8-strnlen.c: New file.
74935         * lib/unistr/u16-strnlen.c: New file.
74936         * lib/unistr/u32-strnlen.c: New file.
74937         * lib/unistr/u-strnlen.h: New file.
74938
74939         * modules/unistr/u8-strpbrk: New file.
74940         * modules/unistr/u16-strpbrk: New file.
74941         * modules/unistr/u32-strpbrk: New file.
74942         * lib/unistr/u8-strpbrk.c: New file.
74943         * lib/unistr/u16-strpbrk.c: New file.
74944         * lib/unistr/u32-strpbrk.c: New file.
74945         * lib/unistr/u-strpbrk.h: New file.
74946
74947         * modules/unistr/u8-strrchr: New file.
74948         * modules/unistr/u16-strrchr: New file.
74949         * modules/unistr/u32-strrchr: New file.
74950         * lib/unistr/u8-strrchr.c: New file.
74951         * lib/unistr/u16-strrchr.c: New file.
74952         * lib/unistr/u32-strrchr.c: New file.
74953
74954         * modules/unistr/u8-strspn: New file.
74955         * modules/unistr/u16-strspn: New file.
74956         * modules/unistr/u32-strspn: New file.
74957         * lib/unistr/u8-strspn.c: New file.
74958         * lib/unistr/u16-strspn.c: New file.
74959         * lib/unistr/u32-strspn.c: New file.
74960         * lib/unistr/u-strspn.h: New file.
74961
74962         * modules/unistr/u8-strstr: New file.
74963         * modules/unistr/u16-strstr: New file.
74964         * modules/unistr/u32-strstr: New file.
74965         * lib/unistr/u8-strstr.c: New file.
74966         * lib/unistr/u16-strstr.c: New file.
74967         * lib/unistr/u32-strstr.c: New file.
74968         * lib/unistr/u-strstr.h: New file.
74969
74970         * modules/unistr/u8-strtok: New file.
74971         * modules/unistr/u16-strtok: New file.
74972         * modules/unistr/u32-strtok: New file.
74973         * lib/unistr/u8-strtok.c: New file.
74974         * lib/unistr/u16-strtok.c: New file.
74975         * lib/unistr/u32-strtok.c: New file.
74976         * lib/unistr/u-strtok.h: New file.
74977
74978         * modules/unistr/u8-uctomb: New file.
74979         * modules/unistr/u16-uctomb: New file.
74980         * modules/unistr/u32-uctomb: New file.
74981         * lib/unistr/u8-uctomb.c: New file.
74982         * lib/unistr/u16-uctomb.c: New file.
74983         * lib/unistr/u32-uctomb.c: New file.
74984
74985         * MODULES.html.sh (Unicode string functions): Add the new modules.
74986
74987 2007-01-08  Bruno Haible  <bruno@clisp.org>
74988
74989         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
74990         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
74991         subdirectories.
74992
74993 2007-01-08  Karl Berry  <karl@gnu.org>
74994
74995         * doc/error.texi: mention that main() fns must set program_name
74996         when progname is used.
74997
74998 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
74999
75000         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
75001         WCTYPE_H is empty, for the benefit of builds from non-distclean
75002         directories.  Problem reported by Eric Blake in
75003         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
75004
75005 2007-01-08  Bruno Haible  <bruno@clisp.org>
75006
75007         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
75008         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
75009         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
75010         PROVIDE_CANONICALIZE_FILENAME_MODE.
75011         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
75012
75013 2007-01-08  Bruno Haible  <bruno@clisp.org>
75014
75015         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
75016         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
75017         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
75018         * lib/fts.c: Likewise.
75019         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
75020
75021 2006-12-25  Bruno Haible  <bruno@clisp.org>
75022
75023         * modules/utf8-ucs4-safe: New file.
75024         * lib/utf8-ucs4-safe.h: New file.
75025         * lib/unistr/utf8-ucs4-safe.c: New file.
75026
75027         * modules/utf16-ucs4-safe: New file.
75028         * lib/utf16-ucs4-safe.h: New file.
75029         * lib/unistr/utf16-ucs4-safe.c: New file.
75030
75031         * MODULES.html.sh (Unicode string functions): Add the new modules.
75032
75033 2007-01-08  Bruno Haible  <bruno@clisp.org>
75034
75035         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
75036         (Depends-on): Add unitypes.
75037         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75038         (u8_mbtouc_aux): Move out to separate file.
75039         (u8_mbtouc): Use ucs4_t, uint8_t types.
75040         * lib/unistr/utf8-ucs4.c: New file.
75041
75042         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
75043         (Depends-on): Add unitypes.
75044         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75045         (u16_mbtouc_aux): Move out to separate file.
75046         (u16_mbtouc): Use ucs4_t, uint16_t types.
75047         * lib/unistr/utf16-ucs4.c: New file.
75048
75049         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
75050         (Depends-on): Add unitypes.
75051         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
75052         (u8_uctomb_aux): Move out to separate file.
75053         (u8_uctomb): Use ucs4_t, uint8_t types.
75054         * lib/unistr/ucs4-utf8.c: New file.
75055
75056         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
75057         (Depends-on): Add unitypes.
75058         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
75059         (u16_uctomb_aux): Move out to separate file.
75060         (u16_uctomb): Use ucs4_t, uint16_t types.
75061         * lib/unistr/ucs4-utf16.c: New file.
75062
75063 2006-12-25  Bruno Haible  <bruno@clisp.org>
75064
75065         * modules/unitypes: New file.
75066         * lib/unitypes.h: New file.
75067         * MODULES.html.sh (func_all_modules): New section "Unicode string
75068         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
75069         this section. Add unitypes.
75070
75071 2007-01-08  Bruno Haible  <bruno@clisp.org>
75072
75073         Avoid variable names that conflict with those from libtool.
75074         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
75075         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
75076         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
75077         library_names_spec to acl_library_names_spec, hardcode_* to
75078         acl_hardcode_*.
75079         Reported by Ralf Wildenhues.
75080
75081 2007-01-08  Bruno Haible  <bruno@clisp.org>
75082
75083         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
75084         definition.
75085         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
75086         definition.
75087         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
75088         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
75089         definition.
75090         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
75091         definition.
75092         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
75093         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
75094         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
75095         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
75096         definition.
75097         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
75098         definition.
75099         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
75100         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
75101         GC_USE_<algorithm>.
75102         * lib/gc-libgcrypt.c: Likewise.
75103         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
75104         * modules/gc-arctwo (configure.ac): Likewise.
75105         * modules/gc-des (configure.ac): Likewise.
75106         * modules/gc-hmac-md5 (configure.ac): Likewise.
75107         * modules/gc-hmac-sha1 (configure.ac): Likewise.
75108         * modules/gc-md2 (configure.ac): Likewise.
75109         * modules/gc-md4 (configure.ac): Likewise.
75110         * modules/gc-md5 (configure.ac): Likewise.
75111         * modules/gc-random (configure.ac): Likewise.
75112         * modules/gc-rijndael (configure.ac): Likewise.
75113         * modules/gc-sha1 (configure.ac): Likewise.
75114
75115 2007-01-08  Bruno Haible  <bruno@clisp.org>
75116
75117         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
75118         macro definition.
75119         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
75120         definition.
75121         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
75122         definition.
75123         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
75124         * modules/fcntl-safer (configure.ac): Likewise.
75125         * modules/fopen-safer (configure.ac): Likewise.
75126         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
75127         GNULIB_FWRITEERROR macro definition.
75128
75129 2007-01-08  Bruno Haible  <bruno@clisp.org>
75130
75131         * m4/gnulib-common.m4: New file.
75132         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
75133         (func_get_filelist): Add m4/gnulib-common.m4.
75134
75135 2007-01-08  Bruno Haible  <bruno@clisp.org>
75136
75137         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
75138         command.
75139
75140 2007-01-08  Jim Meyering  <jim@meyering.net>
75141
75142         Use a more robust test for a "can't happen" condition.
75143         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
75144         narrowed the st_size value.  Presuming the "can't happen" condition
75145         is true, that narrowing could conceivably convert an invalid st_size
75146         value into a valid one.  Instead, use a change based on Matthew
75147         Woehlke's original patch.
75148
75149         Slight readability improvement: use an assert-like macro
75150         in place of literal "abort ()" uses.
75151         * lib/fts.c (fts_assert): Define.
75152         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
75153         Use this macro instead of a bare 'abort'.
75154
75155 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
75156
75157         Don't worry about using IRIX 5.3's wctype.h broken definitions;
75158         simply work around them.
75159         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
75160         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
75161         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
75162         declaring.
75163         Don't bother to define as macros, since the standard doesn't require it.
75164         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
75165         longer worry about IRIX 5.3.
75166         (HAVE_WCTYPE_CTMP_BUG): Remove.
75167
75168 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75169
75170         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
75171         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
75172         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
75173         Problems reported by Georg Schwarz for IRIX 5.3.
75174
75175         * gnulib-tool (autoconf_minversion): Take the maximum version number
75176         found, not the minimum.  Problem reported by James Youngman.
75177
75178 2007-01-03  Karl Berry  <karl@gnu.org>
75179
75180         * doc/error.texi: new file, explaining interaction with progname.
75181         * doc/gnulib.texi: include it.  Update copyright.
75182
75183 2007-01-03  Simon Josefsson  <simon@josefsson.org>
75184
75185         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
75186         AC_CANONICAL_HOST, to improve autobuild outputs.
75187
75188 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
75189             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
75190
75191         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
75192         sockets, server sockets, and other file descriptors.  Count errors
75193         to compute the return value.  Reorder the code a bit to be easier
75194         to follow.  Don't set event bits that were not requested (except
75195         POLLERR and POLLHUP).
75196
75197 2007-01-01  Bruno Haible  <bruno@clisp.org>
75198
75199         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
75200
75201 2007-01-03  Jim Meyering  <jim@meyering.net>
75202
75203         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
75204
75205 2007-01-02  Bruno Haible  <bruno@clisp.org>
75206
75207         * modules/settime (Include): Require timespec.h.
75208         * modules/nanosleep (Include): Likewise.
75209
75210 2007-01-01  Bruno Haible  <bruno@clisp.org>
75211
75212         * gnulib-tool (func_emit_copyright_notice): Bump year.
75213         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
75214
75215 2007-01-01  Bruno Haible  <bruno@clisp.org>
75216
75217         Improve support for OpenBSD.
75218         * build-aux/config.rpath (libname_spec): Export.
75219         (library_names_spec): New variable. Export.
75220         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
75221         library_names_spec from the config.rpath output. Locate shared library
75222         through the name pattern in library_names_spec.
75223
75224 2007-01-01  Eric Blake  <ebb9@byu.net>
75225
75226         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
75227
75228 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
75229
75230         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
75231         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
75232         assume the C locale, and avoid an "eval" that could cause trouble.
75233         Problem with SORT reported by Bob Proulx.
75234
75235         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
75236         Define.  Trivial patch from Henning Nielsen Lund, originally
75237         sent to bug-grep@gnu.org today.
75238
75239 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
75240
75241         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
75242         struct stat.  Problem reported by Henning Nielsen Lund.
75243         * lib/acl.c: Include acl.h first, to check interface.  Don't
75244         bother to include sys/types.h and sys/stat.h again.
75245
75246 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
75247
75248         Import the following change from libc; problem reported by
75249         Sven Verdoolaege.
75250
75251         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
75252
75253         [BZ #1373]
75254         * lib/argp.h: Remove __NTH for __argp_usage inline function.
75255
75256 2006-12-28  Jim Meyering  <jim@meyering.net>
75257
75258         * build-aux/announce-gen: Do not assume that the package
75259         builds any of tar.gz, tar.bz2, and .xdelta files.
75260         Suggestion from Simon Josefsson.
75261
75262 2006-12-28  Simon Josefsson  <simon@josefsson.org>
75263
75264         * modules/announce-gen: New file.
75265
75266 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
75267
75268         * lib/mbchar.h: Just include <wctype.h>; the wctype module
75269         handles its gotchas now.
75270         * lib/mbswidth.c: Likewise.
75271         * lib/wcwidth.h: Likewise.
75272         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
75273         and iswcntrl; the wctype module does this stuff now.
75274         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75275         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75276         * modules/mbchar (Depends-on): Add wctype.
75277         * modules/mbswidth (Depends-on): Likewise.
75278         * modules/wcwidth (Depends-on): Likewise.
75279
75280 2006-12-27  Eric Blake  <ebb9@byu.net>
75281
75282         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
75283         module uses more than what <wctype.h> is required to provide.
75284
75285 2006-12-26  Eric Blake  <ebb9@byu.net>
75286
75287         * gnulib-tool (sed_extract_prog): Avoid space-tab.
75288
75289 2006-12-26  Eric Blake  <ebb9@byu.net>
75290
75291         * modules/absolute-header: New module.
75292         * modules/fcntl (Depends-on): Depend on it.
75293         * modules/inttypes (Depends-on): Likewise.
75294         * modules/stdint (Depends-on): Likewise.
75295         * modules/sys_stat (Depends-on): Likewise.
75296         * modules/wctype (Depends-on): Likewise.
75297         * MODULES.html.sh (Support for building libraries and
75298         executables): Document it.
75299
75300 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
75301
75302         * gnulib-tool (SED): Remove, undoing previous change.
75303         The problem was that it broke coreutils on Solaris, because
75304         "sed --posix" leaked into a makefile.
75305         (sed): New alias, if 'alias' and GNU sed.
75306
75307 2006-12-24  Jim Meyering  <jim@meyering.net>
75308
75309         Work around an fchownat bug in glibc-2.4:
75310         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
75311         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
75312         in spite of the -P option.
75313         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
75314         New macros.
75315         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
75316         * modules/openat (Files): Add lib/fchownat.c.
75317         * lib/openat.c (fchownat): Don't define here.  Move to...
75318         * lib/fchownat.c: ...this new file.
75319
75320 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75321
75322         Fix bug reported by Bruno Haible in
75323         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
75324         where quotearg.c didn't compile on Mac OS X 10.2 because it
75325         lacks <wchar.h> and wint_t.
75326         * lib/wctype_.h (__wctype_wint_t): New type.
75327         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
75328         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
75329         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
75330         Arg is now of type __wctype_wint_t, not wint_t.
75331         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
75332         substitute HAVE_WINT_T.
75333         * modules/wctype (Files): Add m4/wint_t.m4.
75334         (wctype.h): Substitute HAVE_WINT_T.
75335
75336 2006-12-23  Bruno Haible  <bruno@clisp.org>
75337
75338         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
75339
75340 2006-12-23  Bruno Haible  <bruno@clisp.org>
75341
75342         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
75343         S_ISLNK.
75344         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
75345         mingw.
75346
75347 2006-12-22  Bruno Haible  <bruno@clisp.org>
75348
75349         * lib/copy-file.c: Include acl.h.
75350         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
75351         Close the file descriptors only after being done with copy_acl.
75352         * modules/copy-file (Depends-on): Add acl.
75353
75354 2006-12-22  Bruno Haible  <bruno@clisp.org>
75355
75356         * gnulib-tool (SED): New variable.
75357         Use $SED instead of sed everywhere.
75358
75359 2006-12-22  Bruno Haible  <bruno@clisp.org>
75360
75361         * modules/no-c++: New file.
75362         * m4/no-c++.m4: New file.
75363         * MODULES.html.sh (Support for building libraries and executables):
75364         Add no-c++.
75365
75366 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
75367
75368         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75369         Include <limits.h>, and use its INT_MAX to rewrite the
75370         j loop so that it does not overflow 'int'.  Problem reported by
75371         Ralf Wildenhues in
75372         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
75373         Play it safe by shifting left by 1 rather than multiplying by 2,
75374         as GCC is less likely to optimize this away when the value
75375         is signed (when it assumes overflow leads to undefined behavior).
75376         Also, don't assume time_t uses two's complement.
75377
75378 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
75379
75380         * MODULES.html.sh: New module wctype.
75381         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
75382         * lib/fnmatch.c: Don't bother to include <wchar.h> before
75383         <wctype.h>, since the new wctype module should fix this.
75384         * lib/quotearg.c: Include <wctype.h> unconditionally, since
75385         the wctype module should arrange for it.
75386         * lib/regex_internal.h: Likewise.
75387         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
75388         since the wctype module should handle this now.
75389         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
75390         * modules/fnmatch (Depends-on): Add wctype.
75391         * modules/quotearg (Depends-on): Likewise.
75392         * modules/regex (Depends-on): Likewise.
75393
75394 2006-12-19  Bruno Haible  <bruno@clisp.org>
75395
75396         * lib/strdup.h [C++]: Wrap definitions in extern "C".
75397         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
75398
75399 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75400
75401         * modules/savewd (Depends-on): Fix dependency on fcntl.
75402
75403 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75404
75405         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
75406         conforms to C99, rather than relying on the user's environment
75407         setting of STDINT_H.
75408
75409 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75410         and Eric Blake  <ebb9@byu.net>
75411
75412         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
75413         This is more consistent with the other defines here.
75414         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
75415         Port to z/OS.  Problem reported by Paul Gilmartin.
75416         Change local vars to use gl_ prefix rather than ac_.
75417         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
75418         with other defines.
75419         * modules/double-slash-root: New module.
75420         * modules/dirname (Files): Remove m4/double-slash-root.m4.
75421         (Depends-on): Add double-slash-root.
75422         * MODULES.html.sh (File system functions): Mention new module.
75423
75424 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
75425
75426         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
75427         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
75428         This is for the benefit of gzip, which doesn't do i18n.
75429
75430 2006-12-12  Jim Meyering  <jim@meyering.net>
75431
75432         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
75433         Reported by Andreas Schwab <schwab@suse.de>.
75434
75435 2006-12-12  Bruno Haible  <bruno@clisp.org>
75436
75437         Merge these changes.
75438         2006-09-05  Bruno Haible  <bruno@clisp.org>
75439         * lib/iconvme.c (iconv_string): No need to save and restore errno when
75440         iconv_alloc succeeded.
75441         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
75442         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
75443         test for " && dest " at the end - dest is always != NULL there. Call
75444         iconv with 4xNULL arguments initially, to reset the state. Call iconv
75445         with 2xNULL arguments, also to flush the state storage. Handle the
75446         IRIX iconv behaviour. Realloc the final result, to throw away unused
75447         memory.
75448
75449 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
75450
75451         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
75452         and fchmodat unconditionally, since glibc 2.4 has them.
75453         Problem reported by Arkadiusz Miskiewicz.
75454
75455 2006-12-10  Bruno Haible  <bruno@clisp.org>
75456
75457         * gnulib-tool (func_import): Show the include files only for those
75458         modules that are copied and specified.
75459         Reported by Karl Berry.
75460
75461 2006-12-08  Jim Meyering  <jim@meyering.net>
75462
75463         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
75464         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
75465
75466         * build-aux/announce-gen: Add two new options, both optional:
75467         --bootstrap-tools=TOOL_LIST
75468               a comma-separated list of tools, e.g.,
75469               autoconf,automake,bison,gnulib
75470         --gnulib-snapshot-date=DATE
75471               if gnulib is in the bootstrap tool list,
75472               then report this as the snapshot date.
75473               If not specified, use the current date/time.
75474               If you specify a date here, be sure it's UTC.
75475
75476 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75477
75478         * tests/test-argp-2.sh: Fix test to match actual output.
75479         (func_compare): Fix sed script to be portable.
75480
75481 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
75482
75483         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
75484         workaround for this case.  It is not autoconfigured now; offhand
75485         it's hard to see how to autoconfigure it.
75486
75487 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
75488
75489         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
75490         a directory that is about to be chowned.  Such a directory's
75491         initial file permissions should permit the owner only and this
75492         should not be changed until after the chown, since the group and
75493         other bits would be incorrect if they granted permission before
75494         the chown.
75495
75496         Fix porting problem for iswctype reported by Georg Schwarz in:
75497         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
75498         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
75499         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
75500         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
75501         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
75502
75503 2006-12-03  Jim Meyering  <jim@meyering.net>
75504
75505         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
75506         p->fts_statp may not yet be defined.
75507         (fts_read): Instead, set it in the caller, once p->fts_statp is
75508         sure to be defined, and corresponds to a top-level directory.
75509         This bug made du -x fail.  Here's the coreutils test case:
75510         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
75511         Reported by Mike Frysinger.
75512
75513 2006-12-01  Jim Meyering  <jim@meyering.net>
75514
75515         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
75516         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
75517         Reported by Simon Josefsson.
75518
75519 2006-11-30  Jim Meyering  <jim@meyering.net>
75520
75521         * m4/warning.m4: Use the all-permissive copyright notice
75522         recommended by RMS (rather than LGPL).
75523         * m4/vararrays.m4: Likewise.
75524         * m4/flexmember.m4: Likewise.
75525
75526 2006-11-29  Bruno Haible  <bruno@clisp.org>
75527
75528         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75529         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
75530         using +=.
75531         Reported by Simon Josefsson <simon@josefsson.org>.
75532
75533 2006-11-28  James Youngman <jay@gnu.org>
75534
75535         * README: Advise users that they might find the bug-gnulib@gnu.org
75536         and autotools-announce@gnu.org mailing lists useful.
75537
75538 2006-11-28  Bruno Haible  <bruno@clisp.org>
75539
75540         * m4/ptrdiff_max.m4: Remove file.
75541
75542 2006-11-21  Bruno Haible  <bruno@clisp.org>
75543
75544         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
75545         _AC_COMPUTE_INT.
75546         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75547         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
75548         _AC_COMPUTE_INT.
75549         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75550         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
75551         _AC_COMPUTE_INT.
75552         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75553
75554 2006-11-28  Jim Meyering  <jim@meyering.net>
75555
75556         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
75557         warning from "gcc -Wshadow" about shadowing the builtin.
75558
75559 2006-11-27  Bruno Haible  <bruno@clisp.org>
75560
75561         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
75562         _AC_COMPUTE_INT.
75563         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75564
75565 2006-11-27  Bruno Haible  <bruno@clisp.org>
75566             Paul Eggert  <eggert@cs.ucla.edu>
75567
75568         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
75569
75570 2006-11-26  Bruno Haible  <bruno@clisp.org>
75571
75572         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75573         noinst_LTLIBRARIES.
75574
75575 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
75576             Bruno Haible  <bruno@clisp.org>
75577
75578         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
75579         if compiling with "gcc -ansi".
75580
75581 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
75582
75583         Fix some incompatibilities with gcc -ansi -pedantic.
75584         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
75585         if compiling pedantically with GCC, unless it's C99 or later.
75586         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
75587         it mishandles gcc -ansi -pedantic as well.
75588         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
75589         if gcc -pedantic.
75590         * lib/regexec.c (check_node_accept_bytes): Don't use auto
75591         initializers for struct if -pedantic, unless it's C99 or later.
75592
75593 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
75594
75595         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
75596         Don't close an fd more than once. Identical atimes indicate
75597         success, not failure.
75598
75599 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
75600
75601         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
75602
75603 2006-11-23  Jim Meyering  <jim@meyering.net>
75604
75605         * build-aux/announce-gen: New file.  From coreutils.
75606
75607 2006-11-22  Jim Meyering  <jim@meyering.net>
75608
75609         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
75610         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
75611         (fts_read): Use a temporary to narrow the overused st_size member
75612         before using it in a switch statement.  Reported by Matthew Woehlke.
75613
75614         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
75615         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
75616
75617 2006-11-20  Bruno Haible  <bruno@clisp.org>
75618
75619         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
75620         changequote instead of pairs of brackets.
75621         Reported by Andreas Schwab <schwab@suse.de>.
75622
75623 2006-11-21  Jim Meyering  <jim@meyering.net>
75624
75625         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
75626         so as to remain compatible with older compilers.
75627         Patch from Michael Deutschmann.
75628
75629 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75630
75631         * MODULES.html.sh (File system functions): Add openat.
75632
75633         * lib/openat.h (rpl_fstatat): New macro, if
75634         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
75635         (fstatat): Define to rpl_fstatat under the same conditions,
75636         unless COMPILING_FSTATAT.
75637         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
75638         seems to have the bug.
75639         * lib/fstatat.c: New file.
75640         * modules/openat (Files): Add it.
75641
75642 2006-11-20  Bruno Haible  <bruno@clisp.org>
75643
75644         * Makefile: New file.
75645
75646 2006-11-20  Jim Meyering  <jim@meyering.net>
75647
75648         The beginnings of syntax-related checks for gnulib.
75649         * lib/Makefile: New file.
75650         * lib/t-idcache: New script.  Ensure that the two halves of
75651         idcache.c stay in sync.
75652
75653         * lib/idcache.c: Adjust comments in user- and group- portions to
75654         be more accurate, and to be consistent with one another.
75655
75656 2006-11-20  Jim Meyering  <jim@meyering.net>
75657
75658         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
75659         continue using the flexible array member (thus, this module performs
75660         half as many malloc calls), with the addition that...
75661         (getgroup, getuser): Consistently record a non-match via an empty
75662         "name" string, and map an empty string match to a NULL return value.
75663         * modules/idcache (Depends-on): Re-add flexmember.
75664
75665         * lib/idcache.c (getuser): Remove all uses of the register keyword.
75666         (getuidbyname, getgroup, getgidbyname): Likewise.
75667
75668         Use cleaner syntax: NULL rather than 0.
75669         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
75670
75671 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75672
75673         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
75674         It mishandled the case where the group was missing.
75675         Problem reported by Greg Schafer.
75676         * modules/idcache: Likewise.
75677
75678 2006-11-18  Jim Meyering  <jim@meyering.net>
75679
75680         * check-module (%exempt_header): Add exception for some
75681         conditionally-included headers.
75682
75683         * modules/i-ring (Depends-on): Add verify.
75684         (License): Change to LGPL.
75685
75686 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75687
75688         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
75689         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
75690         and inttostr.h.  Use snprintf rather than uinttostr, so that
75691         LGPLed code doesn't depend on GPLed.
75692
75693 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
75694
75695         * modules/inline (License): Change from GPL to LGPL.
75696
75697 2006-11-17  Jim Meyering  <jim@meyering.net>
75698
75699         * modules/d-type (License): Switch to LGPL.
75700
75701 2006-11-15  Bruno Haible  <bruno@clisp.org>
75702
75703         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
75704
75705 2006-11-15  Eric Blake  <ebb9@byu.net>
75706
75707         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
75708         the module dependency.
75709
75710 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75711             Bruno Haible  <bruno@clisp.org>
75712
75713         * gnulib-tool (func_create_testdir): Add license consistency check.
75714
75715 2006-11-15  Eric Blake  <ebb9@byu.net>
75716
75717         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
75718         random "(cached)" in configure output.
75719
75720 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75721
75722         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
75723         test for conforming inttypes.h is both announced and cached.
75724
75725         * MODULES.html.sh (seen_modules, seen_files): New variables.
75726         (func_module): Rewrite to use a few less gnulib-tool and sed
75727         invocations.  Avoid a couple of quadratic algorithms for ...
75728         (missed_modules, missed_files): ... these, with ...
75729         (func_append, func_tmpdir): ... these new functions, from
75730         gnulib-tool.  Analogously, install traps for cleanup.
75731
75732         * tests/test-gc.c (main): Remove unused variables.
75733         * tests/test-read-file.c: Include stdlib.h, for 'free'.
75734
75735 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
75736
75737         * modules/inttostr (License): Change to LGPL.
75738
75739 2006-11-14  Eric Blake  <ebb9@byu.net>
75740
75741         * modules/tempname (License): Change to LGPL.
75742
75743 2006-11-14  Eric Blake  <ebb9@byu.net>
75744
75745         * doc/functions.texi (Function Portability): *printf functions on
75746         Cygwin now understand all POSIX size specifiers.
75747
75748 2006-11-14  Bruno Haible  <bruno@clisp.org>
75749
75750         * modules/c-ctype (License): Change to LGPL.
75751
75752 2006-11-12  Bruno Haible  <bruno@clisp.org>
75753
75754         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
75755         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
75756         for GNOME libraries, for which the include files are installed in
75757         subdirectories of $prefix/include.
75758
75759 2006-11-12  Bruno Haible  <bruno@clisp.org>
75760
75761         * m4/lib-link.m4: Require at least autoconf-2.54.
75762         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
75763         name to underscores for the --with option.
75764
75765 2006-11-13  Bruno Haible  <bruno@clisp.org>
75766
75767         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
75768         the tests directory.
75769         Reported by Ralf Wildenhues.
75770
75771 2006-11-13  Bruno Haible  <bruno@clisp.org>
75772
75773         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
75774         (func_emit_initmacro_end): Undo the override here.
75775         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
75776         Works around the famous automake error in coreutils.
75777
75778 2006-11-13  Eric Blake  <ebb9@byu.net>
75779
75780         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
75781         element, not its node.
75782
75783 2006-11-12  Bruno Haible  <bruno@clisp.org>
75784
75785         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
75786         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
75787
75788 2006-11-12  Bruno Haible  <bruno@clisp.org>
75789
75790         * gnulib-tool: New option --local-symlink.
75791         (func_usage): Document it.
75792         (lsymbolic): New variable.
75793         (func_import, func_create_testdir): If --symlink was not specified,
75794         test whether --local-symlink was specified and the file comes from
75795         the local_gnulib_dir.
75796
75797 2006-11-12  Bruno Haible  <bruno@clisp.org>
75798
75799         * gnulib-tool (func_ln): New function.
75800         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
75801
75802 2006-11-12  Bruno Haible  <bruno@clisp.org>
75803
75804         Finish support for source files in subdirectories.
75805         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
75806         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
75807         AUTOMAKE_OPTIONS.
75808         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
75809
75810 2006-11-12  Bruno Haible  <bruno@clisp.org>
75811
75812         * gnulib-tool (func_get_automake_snippet): Synthesize also an
75813         EXTRA_lib_SOURCES augmentation.
75814         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
75815
75816 2006-11-12  Jim Meyering  <jim@meyering.net>
75817
75818         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
75819         file descriptors.  This also averts a failure on systems with
75820         native openat support when a traversed directory lacks "x" access.
75821         * lib/fts_.h: Include "i-ring.h"
75822         (struct FTS) [fts_fd_ring]: New member.
75823         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
75824         (FCHDIR): Add parentheses.
75825         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
75826         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
75827         When descending, rather than simply closing the previous
75828         fts_cwd_fd value, push that file descriptor onto the ring.
75829         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
75830         (fts_open): Initialize the new fd_ring member.
75831         (fts_close): Clear the ring.
75832         (fts_safe_changedir): When possible, use our new fd_ring to skip
75833         the diropen and fstat and dev/ino comparison that would normally
75834         accompany a virtual `chdir ("..")'.
75835
75836         * modules/fts (Depends-on): Add i-ring.
75837         * modules/i-ring: New module.
75838         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
75839         * m4/i-ring.m4: New file.
75840
75841 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75842
75843         * gnulib-tool (func_create_testdir): Fix replacement of
75844         `build-aux' in configure.ac.  Run autotools in gltests
75845         subdirectory.
75846         (func_create_testdir, func_create_megatestdir, test): There is
75847         no need for '--force' in most autotool invocations in a new
75848         tree.  Actually fail the whole test if any of the tools, or the
75849         configure or make stages fail.
75850
75851         Sync from Automake.
75852         * build-aux/gnupload: Revert last change.  Add pointer to upload
75853         instructions of the GNU Maintenance Instructions.
75854         Suggestion by Karl Berry.
75855
75856 2006-11-10  Jim Meyering  <jim@meyering.net>
75857
75858         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
75859
75860 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75861
75862         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
75863         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
75864         (bind_textdomain_codeset) [! ENABLE_NLS]:
75865         Evaluate all the arguments.  That way, callers get compatible behavior
75866         if the arguments have side effects.  Also, it avoids some GCC
75867         diagnostics in some cases; Joel E. Denny reported problems when Bison
75868         was configured with --enable-gcc-warnigs.
75869
75870 2006-11-10  Jim Meyering  <jim@meyering.net>
75871
75872         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
75873         relevant options in CFLAGS (like -O, -fno-inline) are taken into
75874         account.
75875
75876 2006-11-10  Jim Meyering  <jim@meyering.net>
75877
75878         * modules/inline: New file/module.
75879         * modules/xalloc (Files): Remove m4/inline.m4.
75880         (Depends-on): Add inline, instead.
75881         * modules/oset: Likewise.
75882         * modules/list: Likewise.
75883
75884 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75885
75886         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
75887         Problem reported by Matthew Woehlke.
75888
75889 2006-11-09  Bruno Haible  <bruno@clisp.org>
75890
75891         * lib/tempname.c (gen_tempname): Remove variant that invokes
75892         __gen_tempname.
75893         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
75894         __gen_tempname.
75895
75896 2006-11-08  Bruno Haible  <bruno@clisp.org>
75897
75898         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
75899         to 'yes' instead of 'cross-compiling'.
75900
75901 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
75902
75903         * lib/quotearg.h (quotearg_free): New decl.
75904         * lib/quotearg.c (quotearg_free): New function.
75905         (slot0, nslots, slotvec0, slotvec):
75906         Now file-scope so that quotearg_free can get at them.
75907
75908 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75909
75910         Sync from Automake.
75911         * build-aux/gnupload: Add missing 'gnu' to example URL.
75912         Report by Karl Berry.
75913
75914 2006-11-08  Bruno Haible  <bruno@clisp.org>
75915
75916         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
75917         Suggested by Paul Eggert.
75918
75919 2006-11-08  Jim Meyering  <jim@meyering.net>
75920
75921         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
75922         It's already included if !_LIBC.
75923         (fts_safe_changedir): Add a comment.
75924
75925 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
75926
75927         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
75928         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
75929         Matthew Woehlke.
75930
75931         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
75932         definitions up, to avoid colliding with change below.
75933         (static_inline) [HAVE_INLINE]: New macro.
75934         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
75935         Provide extern decls when !HAVE_INLINE.  Do not define unless
75936         static_inline is defined, either by us or by xmalloc.c.  Use
75937         static_inline rather than static inline.
75938         (XCALLOC): Optimize sizeof(T) = 1 case.
75939         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
75940
75941 2006-11-07  Bruno Haible  <bruno@clisp.org>
75942
75943         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
75944         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
75945         AC_C_INLINE.
75946         * modules/xalloc (Files): Add m4/inline.m4.
75947
75948 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75949
75950         * README: Fix typo.
75951         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
75952         (Miscellanous Notes): ...from this.
75953
75954 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
75955
75956         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
75957         Mention that offsetof should be used instead of sizeof.
75958         From Bruno Haible.
75959
75960 2006-11-07  Bruno Haible  <bruno@clisp.org>
75961
75962         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
75963
75964 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
75965
75966         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
75967         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
75968         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
75969         (gl_tree_add_before, gl_tree_add_after):
75970         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
75971         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
75972         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
75973         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
75974         (gl_linked_add_after, gl_linked_add_at): Likewise.
75975         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
75976         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
75977         (gl_tree_add_before, gl_tree_add_after): Likewise.
75978         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
75979         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
75980         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
75981
75982 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75983
75984         * lib/gl_oset.h: Use C comment style, not C++ comment style.
75985
75986 2006-11-06  Bruno Haible  <bruno@clisp.org>
75987
75988         * m4/inline.m4: New file.
75989         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
75990         * modules/list (Files): Add m4/inline.m4.
75991         * modules/oset (Files): Likewise.
75992
75993 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
75994
75995         * lib/idcache.c: Include <stddef.h>, for offsetof.
75996         (struct userid.name): Change from char * to a flexible array member.
75997         All uses changed.
75998         * modules/idcache (Depends-on): Add flexmember.
75999
76000         * MODULES.html.sh (Core language properties): New module flexmember.
76001         * modules/flexmember, m4/flexmember.m4: New files.
76002
76003         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
76004         inline functions that are identical with the old xnmalloc_inline,
76005         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
76006         that we can avoid some unnecessary integer multiplications and
76007         divisions in the common case where the element size is known at
76008         compile time.
76009         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
76010         needed.
76011         (xnboundedmalloc): Remove.
76012         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
76013         arguments, for consistency with rest of this header.
76014         (xcharalloc): Rewrite using XNMALLOC.
76015         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
76016         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
76017         versions have been moved to lib/xalloc.h and renamed to be the
76018         non-*_inline versions.
76019         (xmalloc, xrealloc): Implement without reference to the xnmalloc
76020         and xnrealloc functions, since those functions are now inline and
76021         now call us.
76022         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
76023         renaming described above.
76024         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
76025         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
76026         captures the dependency in AC_C_INLINE.
76027
76028         New module canonicalize-lgpl, proposed by Charles Wilson in
76029         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
76030         with a few small changes afterwards.
76031         * MODULES.html.sh (File system functions): New module
76032         canonicalize-lgpl.
76033         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
76034         and canonicalize_file_name.
76035         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
76036         * modules/canonicalize-lgpl: New files.
76037
76038 2006-11-05  Bruno Haible  <bruno@clisp.org>
76039
76040         * gnulib-tool (func_import, func_create_testdir): Create directories
76041         also for files in subdirectories of lib/.
76042
76043 2006-11-05  Bruno Haible  <bruno@clisp.org>
76044
76045         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
76046         ANSI C compliant.
76047
76048 2006-11-03  Bruno Haible  <bruno@clisp.org>
76049
76050         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76051         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
76052         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
76053         (xnboundedmalloc): New inline function.
76054         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
76055         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
76056         xmalloc.
76057         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
76058         xmalloc.
76059         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
76060         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
76061         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
76062         xmalloc.
76063         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76064         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
76065         xmalloc.
76066         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
76067         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76068         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
76069         xmalloc.
76070         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76071         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
76072         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76073         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
76074         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
76075         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
76076         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
76077
76078 2006-11-03  Bruno Haible  <bruno@clisp.org>
76079
76080         * lib/c-ctype.h [C++]: Define functions without name mangling.
76081         * lib/fwriteerror.h [C++]: Likewise.
76082         * lib/gcd.h [C++]: Likewise.
76083         * lib/linebreak.h [C++]: Likewise.
76084
76085 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
76086
76087         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
76088         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
76089         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
76090         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76091         Check for functions and headers just once.
76092         Check for declaration of canonicalize_file_name.
76093         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
76094
76095 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76096
76097         * gnulib-tool (func_import): Fix typo in actioncmd.
76098
76099 2006-11-02  Bruno Haible  <bruno@clisp.org>
76100
76101         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
76102         newline sequence in the Makefile.am snippet as a space, like "make"
76103         does.
76104         Reported by Roger Persson <perrog@gmail.com>.
76105
76106 2006-11-01  Bruno Haible  <bruno@clisp.org>
76107
76108         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
76109         already declared in <string.h>.
76110         * lib/strcase.h (strncasecmp): Don't declare it if yes.
76111
76112 2006-11-01  Bruno Haible  <bruno@clisp.org>
76113
76114         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
76115         * lib/strcase.h: Include <string.h>.
76116         (strcasecmp): Define to rpl_strcasecmp here.
76117
76118 2006-11-01  Bruno Haible  <bruno@clisp.org>
76119
76120         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
76121
76122 2006-11-01  Eric Blake  <ebb9@byu.net>
76123
76124         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
76125
76126         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
76127
76128 2006-10-29  Bruno Haible  <bruno@clisp.org>
76129
76130         Make it compile in C++ mode.
76131         * lib/full-write.c (full_rw): Add a cast.
76132
76133 2006-11-01  Bruno Haible  <bruno@clisp.org>
76134
76135         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
76136         be POSIX compliant.
76137         Reported by Roger Persson <perrog@gmail.com>.
76138
76139 2006-11-01  Eric Blake  <ebb9@byu.net>
76140
76141         * lib/getopt_.h: Fix comments.
76142
76143 2006-10-31  Eric Blake  <ebb9@byu.net>
76144
76145         * modules/tmpdir (Depends-on): Add sys_stat.
76146         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
76147         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
76148         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
76149         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
76150         tempname.
76151
76152 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
76153
76154         Avoid some C++ diagnostics reported by Bruno Haible.
76155         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
76156         xmalloc.
76157         (quotearg_alloc): Use xcharalloc rather than xmalloc.
76158         (struct slotvec): Move to top level.
76159         (quotearg_n_options): Rewrite to avoid xmalloc.
76160         * lib/xalloc.h (xcharalloc): New function.
76161         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
76162         [defined __cplusplus]: Add function template that provides result
76163         type propagation.  This part of the change is from Bruno Haible.
76164
76165 2006-10-29  Bruno Haible  <bruno@clisp.org>
76166
76167         Make it compile in C++ mode.
76168         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
76169         * lib/strnlen1.c (strnlen1): Cast memchr result.
76170         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
76171         * lib/clean-temp.c (string_equals, string_hash): Add casts.
76172         (create_temp_dir): Rename local variable 'template'.
76173         (compile_csharp_using_sscli): Add cast.
76174         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
76175         * lib/findprog.c (find_in_path): Likewise.
76176         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
76177         * lib/wait-process.c (register_slave_subprocess): Likewise.
76178
76179 2006-10-22  Bruno Haible  <bruno@clisp.org>
76180
76181         * modules/tsearch: New file.
76182         * lib/tsearch.h: New file.
76183         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
76184         * m4/tsearch.m4: New file.
76185         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
76186
76187 2006-10-29  Eric Blake  <ebb9@byu.net>
76188
76189         * lib/arcfour.c: Assume config.h.
76190         * lib/arctwo.c: Likewise.
76191         * lib/base64.c: Likewise.
76192         * lib/check-version.c: Likewise.
76193         * lib/crc.c: Likewise.
76194         * lib/des.c: Likewise.
76195         * lib/gc-gnulib.c: Likewise.
76196         * lib/gc-libgcrypt.c: Likewise.
76197         * lib/gc-pbkdf2-sha1.c: Likewise.
76198         * lib/getaddrinfo.c: Likewise.
76199         * lib/getdelim.c: Likewise.
76200         * lib/getline.c: Likewise.
76201         * lib/hmac-md5.c: Likewise.
76202         * lib/hmac-sha1.c: Likewise.
76203         * lib/iconvme.c: Likewise.
76204         * lib/md2.c: Likewise.
76205         * lib/md4.c: Likewise.
76206         * lib/memxor.c: Likewise.
76207         * lib/read-file.c: Likewise.
76208         * lib/readline.c: Likewise.
76209         * lib/rijndael-alg-fst.c: Likewise.
76210         * lib/rijndael-api-fst.c: Likewise.
76211         * lib/xgetdomainname.c: Likewise.
76212
76213 2006-10-28  Eric Blake  <ebb9@byu.net>
76214
76215         * lib/xstrndup.c: Assume config.h.
76216
76217 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76218
76219         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
76220         stat-macros.h is now for our own macros, whereas stat_h is for
76221         macros in the <sys/stat.h> name space.
76222         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
76223         (STAT_MACROS_H): Remove.
76224         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
76225         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
76226         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
76227         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
76228         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
76229         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
76230         Move these macros to ...
76231         * lib/stat_.h: here.  Don't include stat-macros.h.
76232         * lib/canonicalize.c: Don't include stat-macros.h.
76233         * lib/chown.c: Likewise.
76234         * lib/euidaccess.c: Likewise.
76235         * lib/file-type.c: Likewise.
76236         * lib/filemode.c: Likewise.
76237         * lib/glob.c: Likewise.
76238         * lib/isapipe.c: Likewise.
76239         * lib/lchown.c: Likewise.
76240         * lib/lstat.c: Likewise.
76241         * lib/mkdir-p.c: Likewise.
76242         * lib/rmdir.c: Likewise.
76243         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
76244         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
76245         unless mkdir isn't declared, to speed up 'configure'.
76246         Always create sys/stat.h, since it's unlikely any real sys/stat.h
76247         would define all the S_* symbols.
76248         * modules/canonicalize (Depends-on):
76249         Depend on sys_stat, not stat-macros.
76250         * modules/chown: Likewise.
76251         * modules/euidaccess: Likewise.
76252         * modules/filemode: Likewise.
76253         * modules/file-type: Likewise.
76254         * modules/glob: Likewise.
76255         * modules/isapipe: Likewise.
76256         * modules/lchown: Likewise.
76257         * modules/lstat: Likewise.
76258         * modules/mkancesdirs: Likewise.
76259         * modules/rmdir: Likewise.
76260         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
76261         * modules/modechange: Likewise.
76262         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
76263         (configure.ac): Remove gl_STAT_MACROS.
76264         * modules/sys_stat (Depends-on): Remove stat-macros.
76265
76266 2006-10-27  Bruno Haible  <bruno@clisp.org>
76267
76268         * m4/signed.m4: Remove file.
76269         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
76270         invocation.
76271         * modules/vasnprintf (Files): Remove m4/signed.m4.
76272
76273 2006-10-27  Bruno Haible  <bruno@clisp.org>
76274
76275         Update to GNU gettext 0.16.
76276         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
76277         m4/inttypes-h.m4, m4/signed.m4.
76278         * m4/gettext.m4: Update to GNU gettext 0.16.
76279         * m4/intl.m4: New file, from GNU gettext.
76280         * m4/intldir.m4: New file, from GNU gettext.
76281         * config/srclist.txt: Update
76282
76283 2006-10-27  Eric Blake  <ebb9@byu.net>
76284
76285         * MODULES.html.sh: Document tempname.
76286         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
76287         dependencies.
76288         (Files): Move lib/tempname.c...
76289         * modules/tempname: ...to this new module.
76290         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
76291         (gl_PREREQ_TEMPNAME): Move...
76292         * m4/tempname.m4: ...to this new file.
76293         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
76294         * modules/sys_stat (Depends-on): Add stat-macros.
76295         * lib/stat_.h (includes): Pick up stat macros.
76296         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
76297         if stat macros are broken.
76298         * lib/tempname.c (includes): No need to include "stat-macros.h".
76299         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
76300         (direxists, __path_search) [!_LIBC]: Don't compile these in
76301         gnulib; the tmpdir module covers that.
76302         * lib/tempname.h: New file.
76303
76304 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
76305
76306         * COPYING: Explain how gnulib-tool converts licence headers.
76307         Almost all wording by Eric Blake.
76308
76309 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
76310
76311         * lib/mbchar.h (is_basic_table): Make read-only.
76312         * lib/mbchar.c (is_basic_table): Likewise.
76313         Reported by John Darrington.
76314
76315 2006-10-25  Bruno Haible  <bruno@clisp.org>
76316
76317         * lib/progname.h (set_program_name): Undefine before defining.
76318
76319 2006-10-25  Bruno Haible  <bruno@clisp.org>
76320
76321         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
76322         false for non-gcc C++ compilers.
76323         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
76324
76325 2006-10-24  Bruno Haible  <bruno@clisp.org>
76326
76327         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
76328         iconv implementations like Irix iconv.
76329
76330 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76331
76332         * modules/vararrays: New file.
76333         * m4/vararrays.m4: New file, taken from diffutils.
76334         * MODULES.html.sh: New module vararrays.
76335
76336 2006-10-24  Karl Berry  <karl@gnu.org>
76337
76338         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
76339         Don't call GNU Unix.
76340
76341 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76342
76343         * users.txt: Add Libtool.
76344
76345         Sync from Libtool:
76346
76347         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76348
76349         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
76350         to gnulib's policy of including config.h unconditionally.
76351
76352 2006-10-24  Bruno Haible  <bruno@clisp.org>
76353
76354         * modules/wcwidth (Files): Add m4/wint_t.m4.
76355         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
76356         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
76357
76358 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76359
76360         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
76361         to pacify GCC with some -W flags enabled.  Problem reported by
76362         Bruno Haible.
76363
76364 2006-10-24  Jim Meyering  <jim@meyering.net>
76365
76366         * MODULES.html.sh: Remove uinttostr.  It's not a module.
76367         Reported by Karl Berry.
76368
76369 2006-10-23  Bruno Haible  <bruno@clisp.org>
76370
76371         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
76372
76373 2006-10-24  Bruno Haible  <bruno@clisp.org>
76374
76375         * lib/gl_list.h: Use C comment style, not C++ comment style.
76376
76377 2006-10-23  Eric Blake  <ebb9@byu.net>
76378
76379         * lib/getaddrinfo.c (includes): Add missing include.
76380
76381 2006-10-23  Bruno Haible  <bruno@clisp.org>
76382             Paul Eggert  <eggert@cs.ucla.edu>
76383
76384         Ability to rename obstack_free.
76385         * lib/obstack.h (__obstack_free): New macro. Declare instead of
76386         obstack_free.
76387         (obstack_free): Invoke the __obstack_free macro.
76388         * lib/obstack.c (obstack_free): Use __obstack_free macro.
76389
76390 2006-10-23  Bruno Haible  <bruno@clisp.org>
76391             Paul Eggert  <eggert@cs.ucla.edu>
76392
76393         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
76394         __argc, __argv from the declaration. (They are defined as macros on
76395         mingw.)
76396
76397 2006-10-22  Bruno Haible  <bruno@clisp.org>
76398
76399         * doc/gnulib-intro.texi: New file.
76400         * doc/gnulib.texi: Include it.
76401
76402 2006-10-21  Bruno Haible  <bruno@clisp.org>
76403
76404         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
76405         "Introduction", "Miscellanous Notes", "Particular Modules".
76406
76407 2006-10-21  Bruno Haible  <bruno@clisp.org>
76408
76409         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76410         Change mostlyclean-local rule to avoid sh syntax error from bash
76411         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
76412
76413 2006-10-23  Jim Meyering  <jim@meyering.net>
76414
76415         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
76416         in place of snprintf.
76417
76418         * modules/inttostr (Files): Add lib/uinttostr.c.
76419         * lib/uinttostr.c (inttostr): New file/function.
76420         * lib/inttostr.h (uinttostr): Declare.
76421         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
76422         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76423         Add uinttostr.
76424         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
76425
76426 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76427
76428         * lib/canonicalize.c (ELOOP): Define if not already defined.
76429         Problem reported by Bruno Haible in
76430         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
76431
76432 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76433
76434         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
76435         Problem reported by Perry Smith and Ville Laurikari.
76436
76437         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
76438         uses.
76439
76440 2006-10-19  Bruno Haible  <bruno@clisp.org>
76441
76442         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
76443         for mingw.
76444
76445 2006-10-19  Bruno Haible  <bruno@clisp.org>
76446
76447         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
76448         Needed for mingw.
76449
76450 2006-10-19  Bruno Haible  <bruno@clisp.org>
76451
76452         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
76453
76454 2006-10-19  Bruno Haible  <bruno@clisp.org>
76455
76456         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
76457         it.
76458
76459 2006-10-19  Bruno Haible  <bruno@clisp.org>
76460
76461         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
76462         invocation.
76463
76464 2006-10-19  Bruno Haible  <bruno@clisp.org>
76465
76466         * gnulib-tool (func_create_testdir): Don't include ftruncate and
76467         mountlist by default.
76468
76469 2006-10-16  Bruno Haible  <bruno@clisp.org>
76470
76471         * lib/c-strstr.c: Include c-strstr.h.
76472
76473 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76474
76475         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
76476         in a slash.
76477
76478 2006-10-18  Bruno Haible  <bruno@clisp.org>
76479
76480         * lib/lock.h [C++]: Wrap definitions in extern "C".
76481
76482 2006-10-18  Bruno Haible  <bruno@clisp.org>
76483
76484         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
76485         gl_LIBOBJS list.
76486
76487 2006-10-18  Bruno Haible  <bruno@clisp.org>
76488
76489         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
76490
76491 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
76492
76493         * lib/xstrtol.h: Include gettext.h.
76494         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
76495         Problem reported by Eric Blake.
76496         * modules/xstrtol (Depends-on): Add gettext-h.
76497
76498 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
76499
76500         * lib/strftime.c (advance): New macro.
76501         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
76502         incomplete type, so you can't add 0 to it.  Problem and patch
76503         reported by Eelco Dolstra for dietlibc.
76504
76505 2006-10-18  Jim Meyering  <jim@meyering.net>
76506
76507         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
76508         type for a local, and rename it: s/up/user_proc/.
76509
76510 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
76511
76512         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
76513         READ_UTMP_USER_PROCESS.
76514         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
76515
76516 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
76517
76518         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
76519         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
76520
76521 2006-10-17  Eric Blake  <ebb9@byu.net>
76522
76523         * lib/sigprocmask.c (sigprocmask): Fix typo.
76524
76525         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
76526
76527         * modules/clean-temp (Makefile.am): Don't add to make output...
76528         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
76529         config.h.
76530
76531 2006-10-17  Bruno Haible  <bruno@clisp.org>
76532
76533         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
76534         differently if DEFAULT_TEXT_DOMAIN is set.
76535
76536 2006-10-16  Bruno Haible  <bruno@clisp.org>
76537
76538         * lib/clean-temp.c: Include fwriteerror.h.
76539
76540 2006-10-16  Bruno Haible  <bruno@clisp.org>
76541
76542         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
76543
76544 2006-10-16  Bruno Haible  <bruno@clisp.org>
76545
76546         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
76547         * lib/sigprocmask.h: Include <sys/types.h>.
76548         (sigset_t): Use the system's definition if present.
76549
76550 2006-10-17  Eric Blake  <ebb9@byu.net>
76551
76552         * lib/xvasprintf.c (includes): Assume config.h.
76553         * lib/xasprintf.c (includes): Likewise.
76554
76555 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
76556
76557         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
76558         at least as wide as intmax_t.
76559
76560 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
76561
76562         (Imported from Automake.)
76563         * build-aux/gnupload: Update to version 1.1 of directive file.
76564
76565 2006-10-16  Eric Blake  <ebb9@byu.net>
76566
76567         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
76568         match Automake 1.10a.
76569
76570 2006-10-14  Bruno Haible  <bruno@clisp.org>
76571
76572         * modules/sigprocmask: New file.
76573         * lib/sigprocmask.h: New file.
76574         * lib/sigprocmask.c: New file.
76575         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
76576         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
76577         request sigprocmask.o.
76578         (gl_PREREQ_SIGPROCMASK): New macro.
76579         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
76580         (Depends-on): Add sigprocmask.
76581         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
76582         gt_SIGNALBLOCKING. Test for 'raise' only once.
76583         * lib/fatal-signal.c: Include sigprocmask.h.
76584         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
76585         unblock_fatal_signals): Define always.
76586         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76587         sigprocmask.
76588
76589 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76590
76591         Sync from Automake.
76592         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
76593         which incorrectly sets the mode of an existing destination
76594         directory.  In some cases the unpatched install-sh could do the
76595         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
76596         system.  We hope this is rare in practice, but it's clearly worth
76597         fixing.  Problem reported by Alex Unleashed in
76598         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
76599         Also, don't bother to check for -m bugs unless we're using -m;
76600         suggested by Stepan Kasal.
76601
76602 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76603
76604         Sync from Automake.
76605         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
76606         `-c' flag, so they appear at the same position as in %FASTDEP%
76607         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
76608         which ignores unknown options only after the first non-option.
76609         Bug report against M4 by Nelson H. F. Beebe.
76610
76611 2006-10-13  Jim Meyering  <jim@meyering.net>
76612
76613         Fix a bug in yesterday's change.
76614         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
76615         p->fts_statp->st_dev would be used uninitialized.
76616         Ensures that we always call fts_stat on the very first entry.
76617         Miklos Szeredi reported that find -xdev stopped working.
76618
76619 2006-10-12  Bruno Haible  <bruno@clisp.org>
76620
76621         * gnulib-tool (func_get_automake_snippet): Append an automatically
76622         computed EXTRA_DIST augmentation.
76623         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
76624         * modules/alloca-opt (Makefile.am): Likewise.
76625         * modules/allocsa (Makefile.am): Likewise.
76626         * modules/arcfour (Makefile.am): Likewise.
76627         * modules/arctwo (Makefile.am): Likewise.
76628         * modules/argmatch (Makefile.am): Likewise.
76629         * modules/argz (Makefile.am): Likewise.
76630         * modules/atexit (Makefile.am): Likewise.
76631         * modules/backupfile (Makefile.am): Likewise.
76632         * modules/byteswap (Makefile.am): Likewise.
76633         * modules/c-strtod (Makefile.am): Likewise.
76634         * modules/c-strtold (Makefile.am): Likewise.
76635         * modules/calloc (Makefile.am): Likewise.
76636         * modules/canon-host (Makefile.am): Likewise.
76637         * modules/canonicalize (Makefile.am): Likewise.
76638         * modules/chdir-long (Makefile.am): Likewise.
76639         * modules/chdir-safer (Makefile.am): Likewise.
76640         * modules/check-version (Makefile.am): Likewise.
76641         * modules/chown (Makefile.am): Likewise.
76642         * modules/cloexec (Makefile.am): Likewise.
76643         * modules/close-stream (Makefile.am): Likewise.
76644         * modules/closeout (Makefile.am): Likewise.
76645         * modules/crc (Makefile.am): Likewise.
76646         * modules/csharpexec (Makefile.am): Likewise.
76647         * modules/cycle-check (Makefile.am): Likewise.
76648         * modules/des (Makefile.am): Likewise.
76649         * modules/dev-ino (Makefile.am): Likewise.
76650         * modules/dirfd (Makefile.am): Likewise.
76651         * modules/dirname (Makefile.am): Likewise.
76652         * modules/dup2 (Makefile.am): Likewise.
76653         * modules/eealloc (Makefile.am): Likewise.
76654         * modules/error (Makefile.am): Likewise.
76655         * modules/euidaccess (Makefile.am): Likewise.
76656         * modules/exclude (Makefile.am): Likewise.
76657         * modules/exitfail (Makefile.am): Likewise.
76658         * modules/fcntl-safer (Makefile.am): Likewise.
76659         * modules/fcntl (Makefile.am): Likewise.
76660         * modules/file-type (Makefile.am): Likewise.
76661         * modules/fileblocks (Makefile.am): Likewise.
76662         * modules/filemode (Makefile.am): Likewise.
76663         * modules/filenamecat (Makefile.am): Likewise.
76664         * modules/fnmatch (Makefile.am): Likewise.
76665         * modules/fopen-safer (Makefile.am): Likewise.
76666         * modules/fpending (Makefile.am): Likewise.
76667         * modules/fprintftime (Makefile.am): Likewise.
76668         * modules/free (Makefile.am): Likewise.
76669         * modules/fsusage (Makefile.am): Likewise.
76670         * modules/ftruncate (Makefile.am): Likewise.
76671         * modules/fts (Makefile.am): Likewise.
76672         * modules/gc-arcfour (Makefile.am): Likewise.
76673         * modules/gc-des (Makefile.am): Likewise.
76674         * modules/gc-hmac-md5 (Makefile.am): Likewise.
76675         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
76676         * modules/gc-md4 (Makefile.am): Likewise.
76677         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76678         * modules/gc-sha1 (Makefile.am): Likewise.
76679         * modules/gc (Makefile.am): Likewise.
76680         * modules/getaddrinfo (Makefile.am): Likewise.
76681         * modules/getcwd (Makefile.am): Likewise.
76682         * modules/getdelim (Makefile.am): Likewise.
76683         * modules/getdomainname (Makefile.am): Likewise.
76684         * modules/getgroups (Makefile.am): Likewise.
76685         * modules/gethostname (Makefile.am): Likewise.
76686         * modules/gethrxtime (Makefile.am): Likewise.
76687         * modules/getline (Makefile.am): Likewise.
76688         * modules/getloadavg (Makefile.am): Likewise.
76689         * modules/getlogin_r (Makefile.am): Likewise.
76690         * modules/getndelim2 (Makefile.am): Likewise.
76691         * modules/getopt (Makefile.am): Likewise.
76692         * modules/getpagesize (Makefile.am): Likewise.
76693         * modules/getpass-gnu (Makefile.am): Likewise.
76694         * modules/getpass (Makefile.am): Likewise.
76695         * modules/getsubopt (Makefile.am): Likewise.
76696         * modules/gettime (Makefile.am): Likewise.
76697         * modules/gettimeofday (Makefile.am): Likewise.
76698         * modules/getugroups (Makefile.am): Likewise.
76699         * modules/getusershell (Makefile.am): Likewise.
76700         * modules/glob (Makefile.am): Likewise.
76701         * modules/group-member (Makefile.am): Likewise.
76702         * modules/hard-locale (Makefile.am): Likewise.
76703         * modules/hash (Makefile.am): Likewise.
76704         * modules/hmac-md5 (Makefile.am): Likewise.
76705         * modules/hmac-sha1 (Makefile.am): Likewise.
76706         * modules/human (Makefile.am): Likewise.
76707         * modules/idcache (Makefile.am): Likewise.
76708         * modules/imaxabs (Makefile.am): Likewise.
76709         * modules/imaxdiv (Makefile.am): Likewise.
76710         * modules/inet_ntop (Makefile.am): Likewise.
76711         * modules/inet_pton (Makefile.am): Likewise.
76712         * modules/intprops (Makefile.am): Likewise.
76713         * modules/inttostr (Makefile.am): Likewise.
76714         * modules/inttypes (Makefile.am): Likewise.
76715         * modules/isapipe (Makefile.am): Likewise.
76716         * modules/javaversion (Makefile.am): Likewise.
76717         * modules/lchmod (Makefile.am): Likewise.
76718         * modules/lchown (Makefile.am): Likewise.
76719         * modules/localcharset (Makefile.am): Likewise.
76720         * modules/long-options (Makefile.am): Likewise.
76721         * modules/lstat (Makefile.am): Likewise.
76722         * modules/malloc (Makefile.am): Likewise.
76723         * modules/mathl (Makefile.am): Likewise.
76724         * modules/mbchar (Makefile.am): Likewise.
76725         * modules/md2 (Makefile.am): Likewise.
76726         * modules/md4 (Makefile.am): Likewise.
76727         * modules/md5 (Makefile.am): Likewise.
76728         * modules/memcasecmp (Makefile.am): Likewise.
76729         * modules/memchr (Makefile.am): Likewise.
76730         * modules/memcmp (Makefile.am): Likewise.
76731         * modules/memcoll (Makefile.am): Likewise.
76732         * modules/memcpy (Makefile.am): Likewise.
76733         * modules/memmem (Makefile.am): Likewise.
76734         * modules/memmove (Makefile.am): Likewise.
76735         * modules/mempcpy (Makefile.am): Likewise.
76736         * modules/memrchr (Makefile.am): Likewise.
76737         * modules/memset (Makefile.am): Likewise.
76738         * modules/memxor (Makefile.am): Likewise.
76739         * modules/mkancesdirs (Makefile.am): Likewise.
76740         * modules/mkdir-p (Makefile.am): Likewise.
76741         * modules/mkdir (Makefile.am): Likewise.
76742         * modules/mkdtemp (Makefile.am): Likewise.
76743         * modules/mkstemp (Makefile.am): Likewise.
76744         * modules/mktime (Makefile.am): Likewise.
76745         * modules/modechange (Makefile.am): Likewise.
76746         * modules/mountlist (Makefile.am): Likewise.
76747         * modules/nanosleep (Makefile.am): Likewise.
76748         * modules/obstack (Makefile.am): Likewise.
76749         * modules/openat (Makefile.am): Likewise.
76750         * modules/pagealign_alloc (Makefile.am): Likewise.
76751         * modules/pathmax (Makefile.am): Likewise.
76752         * modules/physmem (Makefile.am): Likewise.
76753         * modules/poll (Makefile.am): Likewise.
76754         * modules/posixtm (Makefile.am): Likewise.
76755         * modules/posixver (Makefile.am): Likewise.
76756         * modules/putenv (Makefile.am): Likewise.
76757         * modules/quote (Makefile.am): Likewise.
76758         * modules/quotearg (Makefile.am): Likewise.
76759         * modules/raise (Makefile.am): Likewise.
76760         * modules/read-file (Makefile.am): Likewise.
76761         * modules/readline (Makefile.am): Likewise.
76762         * modules/readlink (Makefile.am): Likewise.
76763         * modules/readtokens (Makefile.am): Likewise.
76764         * modules/readutmp (Makefile.am): Likewise.
76765         * modules/realloc (Makefile.am): Likewise.
76766         * modules/regex (Makefile.am): Likewise.
76767         * modules/rename-dest-slash (Makefile.am): Likewise.
76768         * modules/rename (Makefile.am): Likewise.
76769         * modules/rijndael (Makefile.am): Likewise.
76770         * modules/rmdir (Makefile.am): Likewise.
76771         * modules/rpmatch (Makefile.am): Likewise.
76772         * modules/safe-read (Makefile.am): Likewise.
76773         * modules/safe-write (Makefile.am): Likewise.
76774         * modules/same-inode (Makefile.am): Likewise.
76775         * modules/same (Makefile.am): Likewise.
76776         * modules/save-cwd (Makefile.am): Likewise.
76777         * modules/savedir (Makefile.am): Likewise.
76778         * modules/setenv (Makefile.am): Likewise.
76779         * modules/settime (Makefile.am): Likewise.
76780         * modules/sha1 (Makefile.am): Likewise.
76781         * modules/sig2str (Makefile.am): Likewise.
76782         * modules/snprintf (Makefile.am): Likewise.
76783         * modules/stat-macros (Makefile.am): Likewise.
76784         * modules/stat-time (Makefile.am): Likewise.
76785         * modules/stdbool (Makefile.am): Likewise.
76786         * modules/stdint (Makefile.am): Likewise.
76787         * modules/stdlib-safer (Makefile.am): Likewise.
76788         * modules/stpcpy (Makefile.am): Likewise.
76789         * modules/stpncpy (Makefile.am): Likewise.
76790         * modules/strcase (Makefile.am): Likewise.
76791         * modules/strcasestr (Makefile.am): Likewise.
76792         * modules/strchrnul (Makefile.am): Likewise.
76793         * modules/strcspn (Makefile.am): Likewise.
76794         * modules/strdup (Makefile.am): Likewise.
76795         * modules/strerror (Makefile.am): Likewise.
76796         * modules/strftime (Makefile.am): Likewise.
76797         * modules/strndup (Makefile.am): Likewise.
76798         * modules/strnlen (Makefile.am): Likewise.
76799         * modules/strpbrk (Makefile.am): Likewise.
76800         * modules/strsep (Makefile.am): Likewise.
76801         * modules/strstr (Makefile.am): Likewise.
76802         * modules/strtod (Makefile.am): Likewise.
76803         * modules/strtoimax (Makefile.am): Likewise.
76804         * modules/strtok_r (Makefile.am): Likewise.
76805         * modules/strtol (Makefile.am): Likewise.
76806         * modules/strtoll (Makefile.am): Likewise.
76807         * modules/strtoul (Makefile.am): Likewise.
76808         * modules/strtoull (Makefile.am): Likewise.
76809         * modules/strtoumax (Makefile.am): Likewise.
76810         * modules/strverscmp (Makefile.am): Likewise.
76811         * modules/sys_socket (Makefile.am): Likewise.
76812         * modules/sys_stat (Makefile.am): Likewise.
76813         * modules/sysexits (Makefile.am): Likewise.
76814         * modules/time_r (Makefile.am): Likewise.
76815         * modules/timegm (Makefile.am): Likewise.
76816         * modules/timespec (Makefile.am): Likewise.
76817         * modules/tmpfile-safer (Makefile.am): Likewise.
76818         * modules/trim (Makefile.am): Likewise.
76819         * modules/unistd-safer (Makefile.am): Likewise.
76820         * modules/unlinkdir (Makefile.am): Likewise.
76821         * modules/unlocked-io (Makefile.am): Likewise.
76822         * modules/userspec (Makefile.am): Likewise.
76823         * modules/utime (Makefile.am): Likewise.
76824         * modules/utimecmp (Makefile.am): Likewise.
76825         * modules/utimens (Makefile.am): Likewise.
76826         * modules/vasnprintf (Makefile.am): Likewise.
76827         * modules/vasprintf (Makefile.am): Likewise.
76828         * modules/vsnprintf (Makefile.am): Likewise.
76829         * modules/xalloc (Makefile.am): Likewise.
76830         * modules/xgetcwd (Makefile.am): Likewise.
76831         * modules/xnanosleep (Makefile.am): Likewise.
76832         * modules/xreadlink (Makefile.am): Likewise.
76833         * modules/xstrtod (Makefile.am): Likewise.
76834         * modules/xstrtol (Makefile.am): Likewise.
76835         * modules/xstrtold (Makefile.am): Likewise.
76836         * modules/yesno (Makefile.am): Likewise.
76837         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
76838
76839 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
76840
76841         * modules/error (Makefile.am): Distribute files through
76842         EXTRA_DIST, not lib_SOURCES.
76843
76844 2006-10-12  Eric Blake  <ebb9@byu.net>
76845
76846         * modules/error (Makefile.am): Distribute files in /lib.
76847         * modules/obstack (Makefile.am): Likewise.
76848
76849 2006-10-12  Bruno Haible  <bruno@clisp.org>
76850
76851         * modules/acl (Makefile.am): Distribute all files in lib/ through
76852         EXTRA_DIST.
76853         * modules/arcfour (Makefile.am): Likewise.
76854         * modules/arctwo (Makefile.am): Likewise.
76855         * modules/argmatch (Makefile.am): Likewise.
76856         * modules/argz (Makefile.am): Likewise.
76857         * modules/atexit (Makefile.am): Likewise.
76858         * modules/backupfile (Makefile.am): Likewise.
76859         * modules/c-strtod (Makefile.am): Likewise.
76860         * modules/c-strtold (Makefile.am): Likewise.
76861         * modules/calloc (Makefile.am): Likewise.
76862         * modules/canon-host (Makefile.am): Likewise.
76863         * modules/canonicalize (Makefile.am): Likewise.
76864         * modules/chdir-long (Makefile.am): Likewise.
76865         * modules/chdir-safer (Makefile.am): Likewise.
76866         * modules/check-version (Makefile.am): Likewise.
76867         * modules/chown (Makefile.am): Likewise.
76868         * modules/cloexec (Makefile.am): Likewise.
76869         * modules/close-stream (Makefile.am): Likewise.
76870         * modules/closeout (Makefile.am): Likewise.
76871         * modules/crc (Makefile.am): Likewise.
76872         * modules/cycle-check (Makefile.am): Likewise.
76873         * modules/des (Makefile.am): Likewise.
76874         * modules/dirfd (Makefile.am): Likewise.
76875         * modules/dirname (Makefile.am): Likewise.
76876         * modules/dup2 (Makefile.am): Likewise.
76877         * modules/euidaccess (Makefile.am): Likewise.
76878         * modules/exclude (Makefile.am): Likewise.
76879         * modules/exitfail (Makefile.am): Likewise.
76880         * modules/fcntl-safer (Makefile.am): Likewise.
76881         * modules/file-type (Makefile.am): Likewise.
76882         * modules/fileblocks (Makefile.am): Likewise.
76883         * modules/filemode (Makefile.am): Likewise.
76884         * modules/filenamecat (Makefile.am): Likewise.
76885         * modules/fnmatch (Makefile.am): Likewise.
76886         * modules/fopen-safer (Makefile.am): Likewise.
76887         * modules/fpending (Makefile.am): Likewise.
76888         * modules/fprintftime (Makefile.am): Likewise.
76889         * modules/free (Makefile.am): Likewise.
76890         * modules/fsusage (Makefile.am): Likewise.
76891         * modules/ftruncate (Makefile.am): Likewise.
76892         * modules/fts (Makefile.am): Likewise.
76893         * modules/gc (Makefile.am): Likewise.
76894         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76895         * modules/getaddrinfo (Makefile.am): Likewise.
76896         * modules/getcwd (Makefile.am): Likewise.
76897         * modules/getdelim (Makefile.am): Likewise.
76898         * modules/getdomainname (Makefile.am): Likewise.
76899         * modules/getgroups (Makefile.am): Likewise.
76900         * modules/gethostname (Makefile.am): Likewise.
76901         * modules/gethrxtime (Makefile.am): Likewise.
76902         * modules/getline (Makefile.am): Likewise.
76903         * modules/getloadavg (Makefile.am): Likewise.
76904         * modules/getlogin_r (Makefile.am): Likewise.
76905         * modules/getopt (Makefile.am): Likewise.
76906         * modules/getpass (Makefile.am): Likewise.
76907         * modules/getpass-gnu (Makefile.am): Likewise.
76908         * modules/getsubopt (Makefile.am): Likewise.
76909         * modules/gettime (Makefile.am): Likewise.
76910         * modules/gettimeofday (Makefile.am): Likewise.
76911         * modules/getugroups (Makefile.am): Likewise.
76912         * modules/getusershell (Makefile.am): Likewise.
76913         * modules/glob (Makefile.am): Likewise.
76914         * modules/group-member (Makefile.am): Likewise.
76915         * modules/hard-locale (Makefile.am): Likewise.
76916         * modules/hash (Makefile.am): Likewise.
76917         * modules/hmac-md5 (Makefile.am): Likewise.
76918         * modules/hmac-sha1 (Makefile.am): Likewise.
76919         * modules/human (Makefile.am): Likewise.
76920         * modules/idcache (Makefile.am): Likewise.
76921         * modules/imaxabs (Makefile.am): Likewise.
76922         * modules/imaxdiv (Makefile.am): Likewise.
76923         * modules/inet_ntop (Makefile.am): Likewise.
76924         * modules/inet_pton (Makefile.am): Likewise.
76925         * modules/inttostr (Makefile.am): Likewise.
76926         * modules/isapipe (Makefile.am): Likewise.
76927         * modules/lchown (Makefile.am): Likewise.
76928         * modules/long-options (Makefile.am): Likewise.
76929         * modules/lstat (Makefile.am): Likewise.
76930         * modules/malloc (Makefile.am): Likewise.
76931         * modules/mathl (Makefile.am): Likewise.
76932         * modules/mbchar (Makefile.am): Likewise.
76933         * modules/md2 (Makefile.am): Likewise.
76934         * modules/md4 (Makefile.am): Likewise.
76935         * modules/md5 (Makefile.am): Likewise.
76936         * modules/memcasecmp (Makefile.am): Likewise.
76937         * modules/memchr (Makefile.am): Likewise.
76938         * modules/memcmp (Makefile.am): Likewise.
76939         * modules/memcoll (Makefile.am): Likewise.
76940         * modules/memcpy (Makefile.am): Likewise.
76941         * modules/memmem (Makefile.am): Likewise.
76942         * modules/memmove (Makefile.am): Likewise.
76943         * modules/mempcpy (Makefile.am): Likewise.
76944         * modules/memrchr (Makefile.am): Likewise.
76945         * modules/memset (Makefile.am): Likewise.
76946         * modules/memxor (Makefile.am): Likewise.
76947         * modules/mkancesdirs (Makefile.am): Likewise.
76948         * modules/mkdir (Makefile.am): Likewise.
76949         * modules/mkdir-p (Makefile.am): Likewise.
76950         * modules/mkdtemp (Makefile.am): Likewise.
76951         * modules/mkstemp (Makefile.am): Likewise.
76952         * modules/mktime (Makefile.am): Likewise.
76953         * modules/modechange (Makefile.am): Likewise.
76954         * modules/mountlist (Makefile.am): Likewise.
76955         * modules/nanosleep (Makefile.am): Likewise.
76956         * modules/openat (Makefile.am): Likewise.
76957         * modules/pagealign_alloc (Makefile.am): Likewise.
76958         * modules/physmem (Makefile.am): Likewise.
76959         * modules/poll (Makefile.am): Likewise.
76960         * modules/posixtm (Makefile.am): Likewise.
76961         * modules/posixver (Makefile.am): Likewise.
76962         * modules/putenv (Makefile.am): Likewise.
76963         * modules/quote (Makefile.am): Likewise.
76964         * modules/quotearg (Makefile.am): Likewise.
76965         * modules/raise (Makefile.am): Likewise.
76966         * modules/read-file (Makefile.am): Likewise.
76967         * modules/readline (Makefile.am): Likewise.
76968         * modules/readlink (Makefile.am): Likewise.
76969         * modules/readtokens (Makefile.am): Likewise.
76970         * modules/readutmp (Makefile.am): Likewise.
76971         * modules/realloc (Makefile.am): Likewise.
76972         * modules/regex (Makefile.am): Likewise.
76973         * modules/rename (Makefile.am): Likewise.
76974         * modules/rename-dest-slash (Makefile.am): Likewise.
76975         * modules/rijndael (Makefile.am): Likewise.
76976         * modules/rmdir (Makefile.am): Likewise.
76977         * modules/rpmatch (Makefile.am): Likewise.
76978         * modules/safe-read (Makefile.am): Likewise.
76979         * modules/safe-write (Makefile.am): Likewise.
76980         * modules/same (Makefile.am): Likewise.
76981         * modules/save-cwd (Makefile.am): Likewise.
76982         * modules/savedir (Makefile.am): Likewise.
76983         * modules/setenv (Makefile.am): Likewise.
76984         * modules/settime (Makefile.am): Likewise.
76985         * modules/sha1 (Makefile.am): Likewise.
76986         * modules/sig2str (Makefile.am): Likewise.
76987         * modules/snprintf (Makefile.am): Likewise.
76988         * modules/stdlib-safer (Makefile.am): Likewise.
76989         * modules/stpcpy (Makefile.am): Likewise.
76990         * modules/stpncpy (Makefile.am): Likewise.
76991         * modules/strcase (Makefile.am): Likewise.
76992         * modules/strcasestr (Makefile.am): Likewise.
76993         * modules/strchrnul (Makefile.am): Likewise.
76994         * modules/strcspn (Makefile.am): Likewise.
76995         * modules/strdup (Makefile.am): Likewise.
76996         * modules/strerror (Makefile.am): Likewise.
76997         * modules/strftime (Makefile.am): Likewise.
76998         * modules/strndup (Makefile.am): Likewise.
76999         * modules/strnlen (Makefile.am): Likewise.
77000         * modules/strpbrk (Makefile.am): Likewise.
77001         * modules/strsep (Makefile.am): Likewise.
77002         * modules/strstr (Makefile.am): Likewise.
77003         * modules/strtod (Makefile.am): Likewise.
77004         * modules/strtoimax (Makefile.am): Likewise.
77005         * modules/strtok_r (Makefile.am): Likewise.
77006         * modules/strtol (Makefile.am): Likewise.
77007         * modules/strtoll (Makefile.am): Likewise.
77008         * modules/strtoul (Makefile.am): Likewise.
77009         * modules/strtoull (Makefile.am): Likewise.
77010         * modules/strtoumax (Makefile.am): Likewise.
77011         * modules/strverscmp (Makefile.am): Likewise.
77012         * modules/time_r (Makefile.am): Likewise.
77013         * modules/timegm (Makefile.am): Likewise.
77014         * modules/tmpfile-safer (Makefile.am): Likewise.
77015         * modules/unistd-safer (Makefile.am): Likewise.
77016         * modules/unlinkdir (Makefile.am): Likewise.
77017         * modules/userspec (Makefile.am): Likewise.
77018         * modules/utime (Makefile.am): Likewise.
77019         * modules/utimecmp (Makefile.am): Likewise.
77020         * modules/utimens (Makefile.am): Likewise.
77021         * modules/vasnprintf (Makefile.am): Likewise.
77022         * modules/vasprintf (Makefile.am): Likewise.
77023         * modules/vsnprintf (Makefile.am): Likewise.
77024         * modules/xalloc (Makefile.am): Likewise.
77025         * modules/xgetcwd (Makefile.am): Likewise.
77026         * modules/xnanosleep (Makefile.am): Likewise.
77027         * modules/xreadlink (Makefile.am): Likewise.
77028         * modules/xstrtod (Makefile.am): Likewise.
77029         * modules/xstrtol (Makefile.am): Likewise.
77030         * modules/xstrtold (Makefile.am): Likewise.
77031         * modules/yesno (Makefile.am): Likewise.
77032
77033 2006-10-12  Jim Meyering  <jim@meyering.net>
77034
77035         * m4/getloadavg.m4: Revert the change below.
77036
77037         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
77038         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
77039         fail with a symlink, which is what coreutils' ./bootstrap now
77040         creates by default.
77041
77042 2006-10-12  Bruno Haible  <bruno@clisp.org>
77043
77044         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
77045         mingw.
77046         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
77047         MSVC and mingw explicitly.
77048
77049 2006-10-11  Simon Josefsson  <jas@extundo.com>
77050             Bruno Haible  <bruno@clisp.org>
77051
77052         Add support for multiple gnulib-tool invocations in the scope of a
77053         single configure.ac file.
77054         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
77055         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
77056         with the same contents as the _LIBADD variable.
77057         (func_emit_initmacro_start, func_emit_initmacro_end,
77058         func_emit_initmacro_done): New functions.
77059         (func_import, func_create_testdir): Invoke them. Allow the identifiers
77060         gl_LIBOBJS and gl_LTLIBOBJS.
77061
77062 2006-10-11  Bruno Haible  <bruno@clisp.org>
77063
77064         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
77065         (func_create_testdir): Don't create po/Makefile.am, don't invoke
77066         autoreconf. Instead, invoke autopoint explicitly but move back the
77067         *.m4 files from gnulib.
77068
77069 2006-10-11  Bruno Haible  <bruno@clisp.org>
77070
77071         * gnulib-tool (func_usage): Make module names after --create-testdir
77072         optional.
77073         (func_create_testdir): If no module was specified, use nearly all
77074         modules.
77075
77076 2006-10-12  Jim Meyering  <jim@meyering.net>
77077
77078         Big performance improvement for fts-based tools that use FTS_NOSTAT.
77079         Avoid spurious inode-mismatch problems on non-POSIX file systems.
77080         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
77081         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
77082         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
77083         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
77084         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
77085         (fts_set_stat_required): New function.
77086         (fts_open): Defer the calls to fts_stat, if possible or requested.
77087         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
77088         into fts_stat itself.
77089         (fts_read): Perform any required (deferred) fts_stat call.
77090         (fts_build): Likewise, for the directory we're about to open and read.
77091         In the readdir loop, carefully decide whether each entry will require
77092         an eventual call to fts_stat, using dirent.d_type info if available.
77093         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
77094         a command line argument into this function.  Update all callers.
77095         Map a return value of FTS_DOT to FTS_D for a command line argument.
77096         * modules/fts (Depends-on): Add d-type.  Alphabetize.
77097         Thanks to Miklos Szeredi for his tenacity and for the initial
77098         bug report about "find" failing on a FUSE-based file system.
77099
77100         * lib/fts.c (fts_open): Use consistent indentation.
77101
77102 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77103
77104         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
77105         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
77106         reported by Jim Meyering.  All uses of cache variables renamed
77107         to match Autoconf's.
77108         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
77109         the other one.
77110
77111         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
77112         Fix misspelling in diagnostic.
77113
77114 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77115
77116         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
77117         defined.  Problem reported by Matthew Woehlke.
77118
77119         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
77120         Add support for Tandem NonStop R series.
77121         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
77122         Use new macro.
77123
77124         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
77125         (has_trailing_slash): Omit size arg; all callers changed.
77126         Omit 'inline', since it doesn't help performance and we'd
77127         need to configure it.
77128         Don't count //, ///, etc. as having a trailing slash.
77129         As a side effect, this removes a C99ism reported by Matthew Woehlke.
77130         (rpl_rename_dest_slash): On failure, use rename's errno rather
77131         than (in some cases) an incorrect or junk errno.
77132         Simplify code by removing need to compute length; this does
77133         cause it to make two passes instead of one over the file name,
77134         but it's worth it.
77135
77136         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
77137         change, since Autoconf's version may no longer be appropriate now
77138         that we are using CVS Autoconf's version.  Add support for Tandem.
77139
77140 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77141             Bruno Haible  <bruno@clisp.org>
77142
77143         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
77144         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
77145         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
77146         gl_AC_TYPE_LONG_LONG.
77147
77148         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
77149         instead of HAVE_LONG_LONG.
77150         * lib/printf-args.c (printf_fetchargs): Likewise.
77151         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
77152         * lib/vasnprintf.c (VASNPRINTF): Likewise.
77153         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
77154         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
77155         gl_AC_TYPE_LONG_LONG.
77156
77157 2006-10-11  Bruno Haible  <bruno@clisp.org>
77158
77159         * m4/longlong.m4: Add comments.
77160         * m4/ulonglong.m4: Likewise.
77161
77162 2006-10-10  Bruno Haible  <bruno@clisp.org>
77163
77164         Make it possible to #define stpcpy, strdup to aliases.
77165         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
77166         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
77167
77168 2006-10-10  Bruno Haible  <bruno@clisp.org>
77169
77170         Make it possible to #define gcd to an alias.
77171         * lib/gcd.c: Include config.h.
77172
77173 2006-10-10  Bruno Haible  <bruno@clisp.org>
77174
77175         Make it possible to #define c_isascii to an alias.
77176         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
77177         defined. Undefine the macros before defining them, to avoid gcc
77178         warnings.
77179         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
77180         define NO_C_CTYPE_MACROS early.
77181
77182 2006-10-10  Bruno Haible  <bruno@clisp.org>
77183
77184         Make it possible to #define set_program_name to an alias.
77185         * lib/progname.c: Don't undefine set_program_name; instead, undefine
77186         ENABLE_RELOCATABLE early.
77187
77188 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77189
77190         Port to Tandem NSK OSS, which has 64-bit signed int but at most
77191         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
77192         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
77193         More generally, don't assume that 64-bit signed int is available
77194         if unsigned int is, and vice versa.
77195         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
77196         unsigned symbols, not on their signed counterparts.
77197         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
77198         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
77199         (UINT64_C, UINTMAX_C):
77200         Likewise.
77201         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
77202         unsigned counterparts.
77203         (Have_long_long, Unsigned): New macros.
77204         (Int): Renamed from INT.
77205         (strtoimax): Use the new macros.
77206         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
77207         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
77208         * modules/inttypes (inttypes.h): Substitute
77209         HAVE_UNSIGNED_LONG_LONG_INT.
77210         * modules/stdint (stdint.h): Likewise.
77211         (Files): Add m4/ulonglong.m4.
77212
77213 2006-10-10  Bruno Haible  <bruno@clisp.org>
77214
77215         Fix a gcc -Wshadow warning.
77216         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
77217         to 'bucket'.
77218         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
77219         gl_linked_indexof_from_to): Likewise.
77220         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
77221         Likewise.
77222         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
77223         Likewise.
77224         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
77225         Reported by Eric Blake.
77226
77227 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
77228
77229         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
77230         for NetBSD.  Problem reported by Bruno Haible.
77231
77232 2006-10-09  Jim Meyering  <jim@meyering.net>
77233
77234         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
77235         Patch from Bruno Haible.
77236
77237 2006-10-09  Jim Meyering  <jim@meyering.net>
77238
77239         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
77240         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
77241         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
77242
77243 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
77244
77245         Don't include <config.h> twice; this doesn't work in some cases,
77246         e.g., when config.h has "#define intmax_t long long int" and
77247         we include <config.h>, <inttypes.h>, <config.h> in that order.
77248         Problem reported by Matthew Woehlke in:
77249         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
77250         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
77251         * lib/fts-cycle.c: Don't include config.h.
77252         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
77253         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
77254         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
77255         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
77256         inttypes.h.
77257         * lib/xstrtoumax.c: Likewise.
77258         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
77259         __strtol and the like, so that this module is more like its siblings.
77260         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
77261         Remove; no longer needed now that we assume gnulib inttypes.h.
77262
77263 2006-10-08  Bruno Haible  <bruno@clisp.org>
77264
77265         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
77266         option.
77267
77268 2006-10-07  Jim Meyering  <jim@meyering.net>
77269
77270         * modules/inttypes (inttypes.h): Revert what seems to have been
77271         an inadvertent part of today's change: use "|", not "/" in the
77272         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
77273
77274 2006-10-07  Bruno Haible  <bruno@clisp.org>
77275
77276         * modules/sublist: New file.
77277
77278 2006-10-07  Bruno Haible  <bruno@clisp.org>
77279
77280         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
77281         * modules/argz (argz.h): Likewise.
77282         * modules/arpa_inet (arpa/inet.h): Likewise.
77283         * modules/byteswap (byteswap.h): Likewise.
77284         * modules/configmake (configmake.h): Likewise.
77285         * modules/fcntl (fcntl.h): Likewise.
77286         * modules/fnmatch (fnmatch.h): Likewise.
77287         * modules/getopt (getopt.h): Likewise.
77288         * modules/glob (glob.h): Likewise.
77289         * modules/inttypes (inttypes.h): Likewise.
77290         * modules/netinet_in (netinet/in.h): Likewise.
77291         * modules/poll (poll.h): Likewise.
77292         * modules/stdbool (stdbool.h): Likewise.
77293         * modules/stdint (stdint.h): Likewise.
77294         * modules/sys_select (sys/select.h): Likewise.
77295         * modules/sys_socket (sys/socket.h): Likewise.
77296         * modules/sys_stat (sys/stat.h): Likewise.
77297         * modules/sysexits (sysexits.h): Likewise.
77298         * modules/unistd (unistd.h): Likewise.
77299         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77300         Add a "DO NOT EDIT" comment to the generated file.
77301         (func_import): Likewise for gnulib-comp.m4.
77302
77303 2006-10-07  Bruno Haible  <bruno@clisp.org>
77304
77305         * lib/gl_sublist.h: New file.
77306         * lib/gl_sublist.c: New file.
77307
77308 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77309
77310         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
77311         name (relative to the original working directory) and the file
77312         name component (relative to the temporary working directory).  All
77313         callers changed.
77314         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
77315         * lib/mkdir-p.c (make_dir_parents): Likewise.
77316         * lib/mkdir-p.h (make_dir_parents): Likewise.
77317
77318 2006-10-06  Eric Blake  <ebb9@byu.net>
77319
77320         Define several macros for use by the clean-temp module.
77321         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
77322         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
77323         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
77324
77325         * lib/clean-temp.h (close_stream_temp): New declaration.
77326         * lib/clean-temp.c (includes): Pull in headers according to what
77327         other modules are in use.
77328         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
77329
77330 2006-10-06  Bruno Haible  <bruno@clisp.org>
77331
77332         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
77333         instead of fopen, fwriteerror.
77334
77335 2006-10-06  Bruno Haible  <bruno@clisp.org>
77336
77337         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
77338         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
77339         int.
77340         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
77341         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
77342         Return an error indicator.
77343         Suggested by Eric Blake.
77344
77345 2006-10-06  Bruno Haible  <bruno@clisp.org>
77346
77347         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
77348         Reported by Eric Blake.
77349
77350 2006-10-06  Bruno Haible  <bruno@clisp.org>
77351
77352         * modules/closeout (Description): Mention stderr too.
77353
77354 2006-10-06  Bruno Haible  <bruno@clisp.org>
77355         and Paul Eggert  <eggert@cs.ucla.edu>
77356
77357         * lib/closeout.c (close_stdout): Also close stderr.
77358         * lib/closeout.h: Update comment.
77359
77360 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77361
77362         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
77363         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
77364         * lib/dirchownmod.c: Include lchown.h.
77365         * lib/lchown.c: Don't include files that lchown.h now includes.
77366         Don't declare chown, since lchown.h now does that.
77367         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
77368         (lchown): Define to rpl_chown if lchown is declared but
77369         does not exist.  Declare using a prototype if lchown is not
77370         declared.  Add a copyright notice.
77371         * lib/mkstemp.h: Include <unistd.h>.
77372         * lib/openat.c: Include lchown.h.
77373
77374         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
77375         we now test for that separately.
77376         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
77377         rather than O_NOFOLLOW, when testing whether it's possible to
77378         avoid a race condition reliably.
77379         * lib/savewd.c (savewd_chdir): Likewise.
77380
77381         Remove macros that are no longer needed now that stdint.h is
77382         reliable.
77383         * lib/fsusage.c (UINTMAX_MAX): Remove.
77384         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
77385         * lib/utimecmp.c (SIZE_MAX): Remove.
77386
77387         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
77388
77389         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
77390         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
77391         O_NOATIME works.
77392
77393 2006-10-05  Bruno Haible  <bruno@clisp.org>
77394
77395         * lib/gl_list.h (gl_sortedlist_search_from_to,
77396         gl_sortedlist_indexof_from_to): New declarations.
77397         (gl_list_implementation): New fields sortedlist_search_from_to,
77398         sortedlist_indexof_from_to.
77399         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
77400         inline functions.
77401         * lib/gl_list.c (gl_sortedlist_search_from_to,
77402         gl_sortedlist_indexof_from_to): New functions.
77403         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
77404         function.
77405         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
77406         (gl_array_sortedlist_search_from_to): New function.
77407         (gl_array_list_implementation): Update.
77408         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
77409         function.
77410         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
77411         (gl_carray_sortedlist_search_from_to): New function.
77412         (gl_carray_list_implementation): Update.
77413         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
77414         gl_linked_sortedlist_indexof_from_to): New functions.
77415         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77416         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77417         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
77418         gl_tree_sortedlist_indexof_from_to): New functions.
77419         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77420         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77421         Update.
77422         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77423         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
77424         Update.
77425
77426 2006-10-05  Bruno Haible  <bruno@clisp.org>
77427
77428         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
77429         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
77430         (struct gl_list_implementation): Add fields search_from_to,
77431         indexof_from_to. Remove fields search, indexof.
77432         (gl_list_search): Use the search_from_to method.
77433         (gl_list_search_from, gl_list_search_from_to): New functions.
77434         (gl_list_indexof): Use the indexof_from_to method.
77435         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77436         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
77437         (gl_list_search_from, gl_list_search_from_to): New functions.
77438         (gl_list_indexof): Use the indexof_from_to method.
77439         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77440         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
77441         gl_array_indexof. Add start_index, end_index arguments.
77442         (gl_array_search_from_to): Renamed from gl_array_search. Add
77443         start_index, end_index arguments.
77444         (gl_array_remove, gl_array_list_implementation): Update.
77445         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
77446         gl_carray_indexof. Add start_index, end_index arguments.
77447         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
77448         start_index, end_index arguments.
77449         (gl_carray_remove, gl_carray_list_implementation): Update.
77450         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
77451         gl_linked_search. Add start_index, end_index arguments.
77452         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
77453         start_index, end_index arguments.
77454         (gl_linked_remove): Update.
77455         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77456         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77457         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
77458         field to 'size_t'.
77459         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
77460         gl_tree_search. Add start_index, end_index arguments.
77461         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77462         start_index, end_index arguments.
77463         (gl_tree_remove): Update.
77464         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77465         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77466         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
77467         function.
77468         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
77469         gl_tree_search. Add start_index, end_index arguments.
77470         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77471         start_index, end_index arguments.
77472         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77473         Update.
77474         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
77475
77476 2006-10-05  Bruno Haible  <bruno@clisp.org>
77477
77478         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
77479
77480         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
77481         fwriteerror_temp): New declarations.
77482         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
77483         (descriptors): New variable.
77484         (cleanup): First, close the descriptors.
77485         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
77486         fclose_temp, fwriteerror_temp): New functions.
77487
77488 2006-10-04  Jim Meyering  <jim@meyering.net>
77489
77490         * lib/fts.c (fts_open): Tiny comment change.
77491
77492 2006-10-04  Bruno Haible  <bruno@clisp.org>
77493
77494         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
77495         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
77496         gl_LOCK_BODY.
77497         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
77498         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
77499         gl_LOCK_EARLY_BODY.
77500         (gl_LOCK): Require gl_LOCK_BODY.
77501
77502 2006-10-04  Bruno Haible  <bruno@clisp.org>
77503
77504         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
77505         (gl_oset_search_atleast): New declaration.
77506         (struct gl_oset_implementation): Add field 'search_atleast'.
77507         (gl_oset_search_atleast): New inline function.
77508         * lib/gl_oset.c (gl_oset_search_atleast): New function.
77509         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
77510         (gl_array_oset_implementation): Update.
77511         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
77512         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
77513         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
77514
77515 2006-10-04  Bruno Haible  <bruno@clisp.org>
77516
77517         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
77518
77519 2006-10-03  Bruno Haible  <bruno@clisp.org>
77520
77521         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
77522         from gl_avltreehash_list_implementation.
77523
77524 2006-10-03  Bruno Haible  <bruno@clisp.org>
77525
77526         * lib/gl_oset.c (gl_oset_add): Fix return type.
77527
77528 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
77529
77530         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
77531
77532 2006-10-02  Eric Blake  <ebb9@byu.net>
77533
77534         * modules/strnlen (Depends-on): Add extensions.
77535
77536 2006-10-02  Eric Blake  <ebb9@byu.net>
77537
77538         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
77539         definition in 2.60+.
77540
77541 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
77542
77543         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
77544         checks.
77545
77546 2006-10-02  Bruno Haible  <bruno@clisp.org>
77547
77548         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
77549         to the AUTOMAKE_OPTIONS.
77550         Reported by Jim Meyering.
77551
77552 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77553
77554         Work around bug in Solaris 10 /proc file system:
77555         /proc/self/fd/NNN/.. isn't the parent directory of
77556         the directory whose file descriptor is NNN.  This needs to
77557         be worked around at run time, not compile time, since a
77558         program might be built on Solaris 8, where things work, and
77559         run on Solaris 10.
77560         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
77561         to use the following interface instead:
77562         (OPENAT_BUFFER_SIZE): New macro.
77563         (openat_proc_name): New function.
77564         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
77565         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
77566         Likewise.
77567         * lib/openat-proc.c: New file.
77568         * modules/openat (Files): Add lib/openat-proc.c.
77569         (Depends-on): Add same-inode, stdbool.
77570         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
77571
77572 2006-09-29  Bruno Haible  <bruno@clisp.org>
77573
77574         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
77575         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
77576         argument. Set stdout_closed before testing for ferror, not after.
77577         (fwriteerror, fwriteerror_no_ebadf): New functions.
77578
77579 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77580
77581         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
77582
77583 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
77584
77585         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
77586         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
77587
77588 2006-09-28  Jim Meyering  <jim@meyering.net>
77589
77590         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
77591         Include <unistd.h>.
77592
77593 2006-09-28  Bruno Haible  <bruno@clisp.org>
77594
77595         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
77596         * modules/linkedhash-list (Depends-on): Likewise.
77597         * modules/rbtreehash-list (Depends-on): Likewise.
77598
77599 2006-09-28  Bruno Haible  <bruno@clisp.org>
77600
77601         * lib/strndup.h: Simplify the redefinition of strndup.
77602         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
77603         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
77604
77605 2006-09-28  Bruno Haible  <bruno@clisp.org>
77606
77607         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
77608         * lib/gl_linkedhash_list.c: Likewise.
77609         * lib/gl_rbtreehash_list.c: Likewise.
77610
77611 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77612
77613         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
77614         getaddrinfo.
77615
77616         * lib/__fpending.h: Don't include <stdio_ext.h> unless
77617         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
77618         it causes <stdio_ext.h> to cause a compile-time error.
77619         Problem reported by Nelson H. F. Beebe.
77620         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
77621         of HAVE_DECL___PENDING.
77622
77623         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
77624         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
77625         declaration.
77626
77627 2006-09-27  Jim Meyering  <jim@meyering.net>
77628
77629         This file could end up with a definition for a function
77630         named __strndup, rather than rpl_strndup on a system with
77631         incomplete weak_alias support.
77632         * lib/strndup.c (strndup): Rename from __strndup.
77633         Remove #defines that used to map __strndup to strndup.
77634         Don't use K&R prototypes.
77635         Remove LIBC-related code, since this file is not sync'd with glibc.
77636         * lib/strndup.h: Revamp, accordingly.
77637         * m4/strndup.m4: Modernize.
77638
77639 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77640
77641         * modules/savewd (Depends-on): Add 'raise'.
77642         * lib/savewd.c: Include <signal.h>, for 'raise'.
77643
77644 2006-09-26  Jim Meyering  <jim@meyering.net>
77645
77646         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
77647         when we detect Darwin 8.7.0's acl_get_file bug.
77648         Rearrange to perform the new (below) run-test while $LIBS
77649         contains any acl-related library.  Set USE_ACL at the end.
77650         (gl_ACL_GET_FILE): New function.
77651
77652 2006-09-26  Eric Blake  <ebb9@byu.net>
77653
77654         * lib/verror.c: Include <config.h> unconditionally.
77655
77656 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
77657
77658         * modules/clock-time (Maintainer): Add self.
77659         * modules/getlogin_r (Depends-on): Add extensions.
77660
77661 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77662
77663         * modules/clock-time: New module.
77664         * modules/nanosleep (Depends-on): Add clock-time.
77665         * modules/gethrxtime (Depends-on): Likewise.
77666         * modules/gettime (Depends-on): Likewise.
77667         * modules/settime (Depends-on): Likewise.
77668
77669         * modules/fts-lgpl: Depend on openat.
77670         * modules/mkancesdirs: Depend on savewd.
77671         * modules/mkdir-p: Likewise.
77672
77673 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77674
77675         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
77676
77677         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
77678         `gl_have_arbitrary_file_name_length_limit' to
77679         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
77680         actually works between configure runs.
77681
77682 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77683             Bruno Haible  <bruno@clisp.org>
77684
77685         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
77686
77687 2006-09-25  Jim Meyering  <jim@meyering.net>
77688
77689         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
77690         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
77691
77692 2006-09-25  Eric Blake  <ebb9@byu.net>
77693
77694         * gnulib-tool (func_import, func_create_testdir): Fix typos in
77695         exec's in 2006-09-18 patch when shuffling fds.
77696
77697 2006-09-25  Bruno Haible  <bruno@clisp.org>
77698
77699         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
77700         Reported by Jim Meyering.
77701
77702 2006-09-24  Jim Meyering  <jim@meyering.net>
77703
77704         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
77705         compare a pointer against a literal "0".  That caused failures with
77706         at least HP-UX's hpcc.
77707
77708 2006-09-22  Simon Josefsson  <jas@extundo.com>
77709
77710         * modules/gc-sha1:
77711         * modules/gc-md4:
77712         * modules/gc-hmac-sha1:
77713         * modules/gc-hmac-md5:
77714         * modules/gc-des:
77715         * modules/gc-arcfour: Distribute more files.
77716
77717 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77718
77719         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
77720         (gl_linked_iterator_from_to): Initialize struct completely.
77721         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
77722         (gl_tree_iterator_from_to): Likewise
77723         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
77724         * lib/gl_array_list.c [lint] (gl_array_iterator)
77725         (gl_array_iterator_from_to): Likewise.
77726         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
77727         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
77728         (gl_carray_iterator_from_to): Likewise.
77729
77730         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
77731         * lib/md4.c (md4_process_block): Remove unused variable.
77732         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
77733         parentheses for clarity.
77734
77735 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77736
77737         * modules/bison-i18n (Depends-on): Add gettext.
77738
77739 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77740
77741         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
77742         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
77743         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
77744         also add missing comma that caused broken test.
77745         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
77746         stdlib.h, for `abort'.
77747         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
77748         variables.
77749         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
77750         include unistd.h if present, for `rmdir'.
77751         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
77752         variables.
77753         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
77754         in the process include standard headers for prototypes.
77755         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
77756         gets declared on GNU/Linux.
77757         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
77758         unistd.h, for `rmdir'.
77759         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
77760
77761         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
77762         always true.
77763         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
77764
77765         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
77766
77767 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77768
77769         * gnulib-tool (func_version): Create output all at once.  This
77770         may help avoid triggering unnecessary SIGPIPEs, and at any
77771         rate it doesn't hurt.
77772
77773 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77774             Bruno Haible  <bruno@clisp.org>
77775
77776         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
77777         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
77778         * m4/signed.m4 (bh_C_SIGNED): Likewise.
77779
77780         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
77781         (gl_FUNC_VASPRINTF): Invoke it.
77782
77783 2006-09-22  Bruno Haible  <bruno@clisp.org>
77784
77785         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
77786         getloadavg.c as first argument.
77787
77788 2006-09-22  Bruno Haible  <bruno@clisp.org>
77789
77790         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
77791         at the beginning of the gl_INIT macro.
77792         * modules/getloadavg (configure.ac): Pass $gl_source_base to
77793         gl_GETLOADAVG.
77794
77795 2006-09-22  Bruno Haible  <bruno@clisp.org>
77796
77797         * gnulib-tool (func_create_megatestdir): Don't include the config-h
77798         module.
77799         Suggested by Ralf Wildenhues.
77800
77801 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
77802
77803         Import this patch from libc:
77804
77805         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
77806
77807         * lib/regex_internal.c (re_string_reconstruct): Handle
77808         offset < pstr->valid_raw_len && pstr->offsets_needed case.
77809         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
77810         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
77811         re_string_context_at.
77812
77813         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
77814         now requires it.
77815         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
77816         gl_REGEX now does it for us.
77817         (gl_REGEX): Add test taken from
77818         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
77819
77820         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
77821         Check that large offsets work.  Modernize Autoconf usages.
77822         Prefer "yes" to mean a good thing rather than a bad.
77823         Don't put "#define mkstemp" in config.h, as this might interfere
77824         with standard system headers that "#define mkstemp mkstemp64".
77825
77826         * modules/mkstemp (Depends-on): Add extensions, so that
77827         mkstemp is visible on some platforms.
77828         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
77829         (Include): Change to "mkstemp.h" from <stdlib.h>.
77830         (Files): Add mkstemp.h.
77831
77832         * lib/mkstemp.h: New file, since some standard headers
77833         #define mkstemp.
77834         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
77835         Include "mkstemp.h".
77836         Make the _LIBC code resemble glibc original more,
77837         e.g., use K&R style.
77838         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
77839         (mkstemp): Remove, since mkstemp.h does this for us.
77840         * lib/stdlib--.h: Include mkstemp.h.
77841
77842         Import this patch from libc:
77843
77844         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77845
77846         * lib/tempname.c (__gen_tempname): Change attempts_min
77847         into a macro.  Use preprocessor to decide how to initialize
77848         attempts [Coverity CID 67].
77849
77850 2006-09-20  Bruno Haible  <bruno@clisp.org>
77851
77852         * lib/mkdtemp.c: Import from libc.
77853         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77854                 * sysdeps/posix/tempname.c (__gen_tempname): Change
77855                 attempts_min into a macro.  Use preprocessor to decide how to
77856                 initialize attempts [Coverity CID 67].
77857         2001-11-27  Paul Eggert  <eggert@twinsun.com>
77858                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
77859                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
77860
77861 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77862
77863         * gnulib-tool (func_exit): New function, to allow to pass the
77864         exit status portably through the trap.  Use everywhere.
77865         (--help, --version): Signal a write error.
77866         (trap): catch SIGPIPE, for write errors.
77867         Exit at the end of the trap, with the correct exit status.
77868
77869 2006-09-19  Karl Berry  <karl@gnu.org>
77870
77871         * doc/gnulib.texi: note about the license texinfo files.
77872
77873 2006-09-19  Eric Blake  <ebb9@byu.net>
77874
77875         * gnulib-tool: Avoid space-tab.
77876
77877 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77878
77879         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
77880         that prevented coreutils 6.1 from building.  Problem reported
77881         by Petter Reinholdtsen.
77882
77883 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77884
77885         * gnulib-tool (avoidlist): Fix typo that broke options like
77886         --avoid=lock that are used by coreutils bootstrap.
77887
77888 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
77889
77890         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
77891         more systematically.
77892
77893 2006-09-18  Jim Meyering  <jim@meyering.net>
77894
77895         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
77896
77897 2006-09-18  Bruno Haible  <bruno@clisp.org>
77898
77899         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
77900
77901 2006-09-18  Bruno Haible  <bruno@clisp.org>
77902
77903         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
77904         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
77905         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
77906         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
77907         * m4/gettext.m4: Require autoconf >= 2.52.
77908         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
77909         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
77910         of gl_cv_header_inttypes_h.
77911
77912 2006-09-18  Bruno Haible  <bruno@clisp.org>
77913
77914         * lib/javaversion.c: Include configmake.h.
77915
77916 2006-09-18  Bruno Haible  <bruno@clisp.org>
77917
77918         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
77919         avoid that the while loops be executed in a subshell.
77920
77921 2006-09-18  Bruno Haible  <bruno@clisp.org>
77922
77923         * MODULES.html.sh (func_module): Break long lines.
77924         Suggested by Bruce Korb <bkorb@gnu.org>.
77925
77926 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77927
77928         Speed up by a factor of 1.12.
77929         * gnulib-tool (nl): New variable.
77930         (func_import): Rewrite include directive extraction to only read each
77931         directive once.
77932
77933 2006-09-17  Bruno Haible  <bruno@clisp.org>
77934
77935         * modules/javaversion (Makefile.am): Remove DEFS setting.
77936         (Depends-on): Add configmake, for PKGDATADIR definition.
77937
77938 2006-09-17  Bruno Haible  <bruno@clisp.org>
77939
77940         * gnulib-tool (func_create_testdir): Rewrite all files at once.
77941
77942 2006-09-17  Bruno Haible  <bruno@clisp.org>
77943
77944         * gnulib-tool (func_append): New function, stolen from libtool.m4.
77945         (func_modules_transitive_closure, func_modules_add_dummy,
77946         func_modules_to_filelist, func_import, func_create_testdir,
77947         func_create_megatestdir, ...): Use it wherever possible.
77948         Suggested by Ralf Wildenhues.
77949
77950 2006-09-16  Karl Berry  <karl@gnu.org>
77951
77952         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
77953         to avoid sectioning errors.
77954         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
77955         [ifinfo]: blank line after @center-ed titles.
77956         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
77957         Spell FSF address consistently with others.
77958         (These changes approved by rms.)
77959
77960 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77961
77962         Speed up by a factor of 1.61.
77963         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
77964         already checked module names again.
77965
77966 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77967
77968         Speed up by a factor of 1.13.
77969         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
77970         for new_files, and the input to func_add_or_update.
77971
77972 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77973
77974         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
77975         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
77976
77977 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77978
77979         * modules/mkancesdirs (Depends-on): Add fcntl.
77980         * modules/savewd: New file.
77981         * MODULES.html.sh (File system functions): Add savewd.
77982
77983         * modules/configmake (Makefile.am): Add support for the
77984         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
77985
77986 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77987
77988         * m4/savewd.m4: New file.
77989
77990 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77991
77992         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
77993         (dirchownmod): New arg FD.  All callers changed.
77994         Use FD rather than opening the directory ourself, as opening is
77995         now the caller's responsibility.
77996         * lib/dirchownmod.h: Likewise.
77997         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
77998         hosts that require <sys/types.h> before <sys/stat.h>.  Include
77999         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
78000         (test_dir): Remove.
78001         (mkancesdirs): Return length of prefix of FILE that has already
78002         been made, or -2 if there is a child doing the work.  Redo
78003         algorithm so that it is O(N) rather than O(N**2).  Optimize away
78004         ".", and treat ".." specially since it might stray back into
78005         already-created areas.  Use a subprocess if necessary.  New arg
78006         WD; all users changed.  MAKE_DIR function should now return 1
78007         if it creates a directory that is not readable.  Return -2 if
78008         a child process is spun off.
78009         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
78010         Adjust signature to match code.
78011         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
78012         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
78013         all users changed.
78014         * lib/savewd.c, lib/savewd.h: New files.
78015
78016 2006-09-15  Jim Meyering  <jim@meyering.net>
78017
78018         * modules/rename-dest-slash: New module.
78019         * MODULES.html.sh (posix_compat): Add it here.
78020
78021         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
78022
78023 2006-09-15  Jim Meyering  <jim@meyering.net>
78024
78025         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
78026         file.
78027
78028         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
78029
78030 2006-09-15  Jim Meyering  <jim@meyering.net>
78031
78032         * lib/rename-dest-slash.c (has_trailing_slash): Use
78033         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
78034         (rpl_rename_dest_slash): Perform the cheaper trailing slash
78035         test before testing whether SRC is a directory.
78036         Suggestions from Bruno Haible.
78037
78038         Avoid a warning about an unused variable.
78039         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
78040         into the #ifdef block where it's used.
78041
78042         * lib/rename-dest-slash.c: New file.
78043
78044 2006-09-14  Bruno Haible  <bruno@clisp.org>
78045
78046         * lib/allocsa.c: Include <config.h> unconditionally.
78047         * lib/asnprintf.c: Likewise.
78048         * lib/asprintf.c: Likewise.
78049         * lib/c-strcasecmp.c: Likewise.
78050         * lib/c-strcasestr.c: Likewise.
78051         * lib/c-strncasecmp.c: Likewise.
78052         * lib/c-strstr.c: Likewise.
78053         * lib/classpath.c: Likewise.
78054         * lib/clean-temp.c: Likewise.
78055         * lib/concatpath.c: Likewise.
78056         * lib/copy-file.c: Likewise.
78057         * lib/csharpcomp.c: Likewise.
78058         * lib/csharpexec.c: Likewise.
78059         * lib/execute.c: Likewise.
78060         * lib/fatal-signal.c: Likewise.
78061         * lib/findprog.c: Likewise.
78062         * lib/fwriteerror.c: Likewise.
78063         * lib/gl_array_list.c: Likewise.
78064         * lib/gl_array_oset.c: Likewise.
78065         * lib/gl_avltree_list.c: Likewise.
78066         * lib/gl_avltree_oset.c: Likewise.
78067         * lib/gl_avltreehash_list.c: Likewise.
78068         * lib/gl_carray_list.c: Likewise.
78069         * lib/gl_linked_list.c: Likewise.
78070         * lib/gl_linkedhash_list.c: Likewise.
78071         * lib/gl_list.c: Likewise.
78072         * lib/gl_oset.c: Likewise.
78073         * lib/gl_rbtree_list.c: Likewise.
78074         * lib/gl_rbtree_oset.c: Likewise.
78075         * lib/gl_rbtreehash_list.c: Likewise.
78076         * lib/imaxabs.c: Likewise.
78077         * lib/imaxdiv.c: Likewise.
78078         * lib/javacomp.c: Likewise.
78079         * lib/javaexec.c: Likewise.
78080         * lib/javaversion.c: Likewise.
78081         * lib/linebreak.c: Likewise.
78082         * lib/localcharset.c: Likewise.
78083         * lib/lock.c: Likewise.
78084         * lib/mbchar.c: Likewise.
78085         * lib/mbswidth.c: Likewise.
78086         * lib/mkdtemp.c: Likewise.
78087         * lib/pipe.c: Likewise.
78088         * lib/printf-args.c: Likewise.
78089         * lib/printf-parse.c: Likewise.
78090         * lib/progname.c: Likewise.
78091         * lib/progreloc.c: Likewise.
78092         * lib/readlink.c: Likewise.
78093         * lib/sh-quote.c: Likewise.
78094         * lib/stpcpy.c: Likewise.
78095         * lib/stpncpy.c: Likewise.
78096         * lib/strcasecmp.c: Likewise.
78097         * lib/strcasestr.c: Likewise.
78098         * lib/strcspn.c: Likewise.
78099         * lib/striconv.c: Likewise.
78100         * lib/strncasecmp.c: Likewise.
78101         * lib/strnlen1.c: Likewise.
78102         * lib/strstr.c: Likewise.
78103         * lib/strtok_r.c: Likewise.
78104         * lib/tls.c: Likewise.
78105         * lib/tmpdir.c: Likewise.
78106         * lib/unicodeio.c: Likewise.
78107         * lib/unsetenv.c: Likewise.
78108         * lib/vasnprintf.c: Likewise.
78109         * lib/vasprintf.c: Likewise.
78110         * lib/wait-process.c: Likewise.
78111         * lib/xallocsa.c: Likewise.
78112         * lib/xsetenv.c: Likewise.
78113         * lib/xstriconv.c: Likewise.
78114
78115 2006-09-13  Simon Josefsson  <jas@extundo.com>
78116
78117         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
78118         that internally, suggested by Ralf Wildenhues
78119         <Ralf.Wildenhues@gmx.de>.
78120
78121 2006-09-13  Simon Josefsson  <jas@extundo.com>
78122
78123         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
78124         @LIBOBJS@.
78125         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78126
78127 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78128
78129         * lib/_fpending.c: Include <config.h> unconditionally, since we no
78130         longer worry about uses that don't define HAVE_CONFIG_H.
78131         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
78132         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
78133         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
78134         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
78135         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
78136         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
78137         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
78138         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
78139         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
78140         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
78141         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
78142         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
78143         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
78144         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
78145         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
78146         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
78147         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
78148         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
78149         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
78150         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
78151         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
78152         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
78153         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
78154         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
78155         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
78156         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
78157         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
78158         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
78159         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
78160         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
78161         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
78162         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
78163         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
78164         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
78165         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
78166         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
78167         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
78168         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
78169         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
78170         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
78171         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
78172         Likewise.
78173
78174 2006-09-13  Eric Blake  <ebb9@byu.net>
78175
78176         * lib/getopt.c: Fix typo in last commit.
78177
78178 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
78179
78180         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
78181         dgettext.
78182
78183 2006-09-12  Jim Meyering  <jim@meyering.net>
78184
78185         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
78186         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
78187         Reported by Nelson H. F. Beebe.
78188
78189 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
78190
78191         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
78192         program_invocation_name and program_invocation_short_name are
78193         initialized.
78194         * lib/argp-namefrob.h: Move declarations of program_invocation_name
78195         and program_invocation_short_name to argp.h, so they are visible
78196         to user programs.
78197         * lib/argp.h: Likewise
78198
78199 2006-09-10  Bruno Haible  <bruno@clisp.org>
78200
78201         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78202         m4/inttypes_h.m4, m4/uintmax_t.m4.
78203
78204 2006-09-10  Bruno Haible  <bruno@clisp.org>
78205
78206         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
78207         gl_AC_TYPE_UINTMAX_T.
78208
78209 2006-09-10  Bruno Haible  <bruno@clisp.org>
78210
78211         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
78212
78213 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78214
78215         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
78216         convention.  Text proposed by Bruno Haible.
78217         (struct argp_option): Document the use of N_() wrappers.
78218
78219         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
78220         '\v', and translate the two parts separately, instead of feeding
78221         the whole string to gettext.  This allows to exclude
78222         '\v' from the strings visible to the translator by writing doc
78223         strings as N_("..") "\v" N_("..").
78224
78225 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
78226
78227         * config/srclist.txt: Undo latest change; the bug was fixed.
78228
78229 2006-09-09  Bruno Haible  <bruno@clisp.org>
78230
78231         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
78232         assignments if building a library without libtool.
78233         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
78234         in func_emit_lib_Makefile_am.
78235         (func_import): When building a static library libfoo.a, arrange to
78236         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
78237         (func_create_testdir): Likewise.
78238         * modules/gc (configure.ac, Makefile.am): If building statically,
78239         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
78240         * modules/iconvme (configure.ac, Makefile.am): Likewise.
78241         * modules/striconv (configure.ac, Makefile.am): Likewise.
78242         Based on a suggestion by Ralf Wildenhues.
78243
78244 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78245
78246         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
78247         Check for unistd.h too, since Autoconf doesn't assume POSIX.
78248         Also:
78249
78250         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78251         Add year_2050_test to catch glibc bug 2821
78252         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78253
78254         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78255         Prefer #ifdef to #if.
78256
78257         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
78258         Return from 'main' instead of calling 'exit'.
78259
78260 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78261
78262         * lib/mktime.c (guess_time_tm): Fix bug where mktime
78263         returned the maximum time_t value rather than (time_t) -1.
78264         Problem originally reported by William Bardwell
78265         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78266
78267         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78268         Moved to here ...
78269         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78270         ... from here.
78271
78272 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78273
78274         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
78275         2821 is fixed.
78276
78277 2006-09-08  Jim Meyering  <jim@meyering.net>
78278
78279         Don't make generated files read-only.  That would bother too many
78280         people.  However, do retain the ability to work when targets are
78281         read-only: remove the destination and temporary files before writing
78282         them (when generated via sed or echo), or by using the -f option for
78283         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
78284         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78285         * modules/byteswap, modules/configmake, modules/fcntl:
78286         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78287         * modules/localcharset, modules/netinet_in, modules/poll:
78288         * modules/stdbool, modules/stdint, modules/sys_select:
78289         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78290
78291 2006-09-08  Jim Meyering  <jim@meyering.net>
78292
78293         Avoid new build failure on FreeBSD 6.0.
78294         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
78295         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
78296         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
78297
78298 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78299
78300         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
78301
78302 2006-09-07  Jim Meyering  <jim@meyering.net>
78303
78304         Fix global typo in last change: use chmod u-w, not chmod u-x.
78305         Spotted by Paul Eggert and Bruce Korb.
78306         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78307         * modules/byteswap, modules/configmake, modules/fcntl:
78308         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78309         * modules/localcharset, modules/netinet_in, modules/poll:
78310         * modules/stdbool, modules/stdint, modules/sys_select:
78311         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78312
78313 2006-09-06  Jim Meyering  <jim@meyering.net>
78314
78315         Make generated files be read-only.
78316         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
78317         Ensure that each generated file is now read-only.
78318         * modules/argz: Likewise.
78319         * modules/arpa_inet: Likewise.
78320         * modules/byteswap: Likewise.
78321         * modules/configmake: Likewise.
78322         * modules/fcntl: Likewise.
78323         * modules/fnmatch: Likewise.
78324         * modules/getopt: Likewise.
78325         * modules/glob: Likewise.
78326         * modules/inttypes: Likewise.
78327         * modules/netinet_in: Likewise.
78328         * modules/poll: Likewise.
78329         * modules/stdbool: Likewise.
78330         * modules/stdint: Likewise.
78331         * modules/sys_select: Likewise.
78332         * modules/sys_socket: Likewise.
78333         * modules/sys_stat: Likewise.
78334         * modules/sysexits: Likewise.
78335         * modules/localcharset: Same as above, but continue using temporary
78336         file named "t-$@" (why different?) rather than the "$@-t" used
78337         everywhere else.
78338
78339         * modules/sysexits (Makefile.am): Replace literal occurrences
78340         of "sysexit.h" more readable, and more consistent, "$@".
78341
78342 2006-09-06  Bruno Haible  <bruno@clisp.org>
78343
78344         * modules/striconv: New file.
78345         * modules/xstriconv: New file.
78346         * MODULES.html.sh (Internationalization functions): Add striconv,
78347         xstriconv.
78348
78349 2006-09-06  Bruno Haible  <bruno@clisp.org>
78350
78351         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
78352         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
78353         not using libtool correctly.
78354
78355 2006-09-06  Bruno Haible  <bruno@clisp.org>
78356
78357         * lib/striconv.h: New file.
78358         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
78359         iconvstring.c.
78360         * lib/xstriconv.h: New file.
78361         * lib/xstriconv.c: New file.
78362
78363 2006-09-06  Bruno Haible  <bruno@clisp.org>
78364
78365         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
78366         lib_..._LDFLAGS.
78367
78368 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78369
78370         * lib/argz_.h: Sync from Libtool.
78371
78372         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
78373                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
78374
78375         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
78376
78377 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78378
78379         * modules/trim: New file.
78380
78381 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78382
78383         * lib/trim.h: New file.
78384         * lib/trim.c: New file.
78385
78386 2006-09-05  Bruno Haible  <bruno@clisp.org>
78387
78388         * MODULES.html.sh (String handling): Add trim.
78389
78390 2006-09-04  Karl Berry  <karl@gnu.org>
78391
78392         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
78393         until next release.
78394
78395 2006-09-03  Bruno Haible  <bruno@clisp.org>
78396
78397         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
78398         correctly.
78399
78400 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78401
78402         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
78403         not gl_GETLOADAVG.  Omit unneeded semicolons.
78404         Problems reported by Ralf Wildenhues in
78405         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78406         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
78407         at the end, which is the usual gnulib style.
78408
78409         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
78410         of doing all the work ourselves.
78411         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
78412         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
78413
78414 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78415
78416         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
78417         Problem reported by Ralf Wildenhues in
78418         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78419
78420         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
78421         HAVE_STRUCT_STATFS_F_FSTYPENAME.
78422
78423 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78424
78425         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
78426         yesterday's patch by changing test -n to test -z.
78427
78428 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78429
78430         * modules/getloadavg (Files): Add m4/getloadavg.m4.
78431         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
78432         the former is now obsolescent.
78433
78434         * modules/chdir-long (Depends-on): Add fcntl.
78435
78436 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78437
78438         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
78439         obsolescent, and programs should use gnulib instead.
78440         * m4/getloadavg.m4: New file, with contents taken from Autoconf
78441         but with prefixes changed.
78442
78443 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78444
78445         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
78446         or stdbool.h, because they might not exist while configuring.
78447
78448         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
78449         Don't include unistd.h or limits.h; not needed, since chdir-long.h
78450         does that for us.
78451         (O_DIRECTORY): Remove.
78452
78453 2006-08-31  Eric Blake  <ebb9@byu.net>
78454
78455         * gnulib-tool: Don't let emacs change spaces to TAB.
78456
78457 2006-08-31  Bruno Haible  <bruno@clisp.org>
78458
78459         * gnulib-tool: When calling func_import more than once, do it in a
78460         subshell.
78461         Reported by Eric Blake <ebb9@byu.net>.
78462
78463 2006-08-31  Bruno Haible  <bruno@clisp.org>
78464
78465         * gnulib-tool (nl): Remove variable.
78466         (sed_transform_lib_file): Use more robust test for config-h module.
78467         (func_import): Fix typo in 2006-08-25 patch.
78468
78469 2006-08-31  Bruno Haible  <bruno@clisp.org>
78470
78471         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
78472         specified, augment Makefile.am variables instead of assigning them.
78473
78474 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78475
78476         Work around a bug in both the Linux and SunOS 64-bit kernels:
78477         nanosleep mishandles sleeps for longer than 2**31 seconds.
78478         Problem reported by Frank v Waveren in
78479         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78480         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
78481         Check for nanosleep bug.
78482         (LIB_NANOSLEEP): Append clock_gettime library if needed.
78483
78484 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78485
78486         Work around a bug in both the Linux and SunOS 64-bit kernels:
78487         nanosleep mishandles sleeps for longer than 2**31 seconds.
78488         Problem reported by Frank v Waveren in
78489         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78490         * lib/nanosleep.c (BILLION): New constant.
78491         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
78492         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
78493         implementation.
78494
78495 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78496
78497         * modules/nanosleep (Depends-on): Add gettime.
78498
78499 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78500         and Simon Josefsson  <jas@extundo.com>
78501         and Oskar Liljeblad  <oskar@osk.mine.nu>
78502
78503         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
78504         * gnulib-tool (func_import): New license type 'unmodifiable license
78505         text'.
78506         * modules/fdl: Use it.  Longer description.
78507         * module/gpl, module/lgpl: New files.
78508
78509 2006-08-30  Jim Meyering  <jim@meyering.net>
78510
78511         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
78512         shadowing the parameter.
78513
78514 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78515
78516         Sync from Libtool:
78517
78518         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78519
78520         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
78521         sharing with gnulib.  Report by Eric Blake.
78522
78523 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78524
78525         * modules/isapipe: New file.
78526         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
78527
78528 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78529
78530         * modules/configmake (Makefile.am): Add a comment, and omit
78531         the CONFIGMAKE_ prefix from generated macro names.  Suggested
78532         by Bruno Haible.
78533
78534 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78535
78536         * m4/isapipe.m4: New file.
78537
78538 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78539
78540         * lib/isapipe.c, lib/isapipe.h: New files.
78541
78542 2006-08-29  Jim Meyering  <jim@meyering.net>
78543
78544         * modules/configmake (Makefile.am): Make configmake.h depend on
78545         Makefile.  Otherwise, a stale configmake.h could hang around.
78546
78547 2006-08-29  Eric Blake  <ebb9@byu.net>
78548
78549         * lib/error.c (error_at_line, print_errno_message): Match libc, after
78550         resolution of upstream bug 3044.
78551
78552 2006-08-29  Bruno Haible  <bruno@clisp.org>
78553
78554         * modules/localcharset (Depends-on): Add configmake.
78555         (Makefile.am): Remove setting of LIBDIR through DEFS.
78556
78557 2006-08-29  Bruno Haible  <bruno@clisp.org>
78558
78559         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
78560         defined.
78561
78562 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78563
78564         * modules/fcntl: New file.
78565         * modules/chdir-safer (Depends-on): Add fcntl.
78566         * modules/fts: Likewise.
78567         * modules/mkdir-p: Likewise.
78568
78569         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
78570         This undoes the most recent change, since we're now addressing the
78571         problem in a different way.
78572
78573         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
78574         into output, since the output might be called Makefile.am even
78575         if $makefile_name is something different.
78576         (func_import): Use $makefile_am rather than
78577         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
78578         empty.
78579
78580         * modules/inttypes (Files): Add m4/inttypes-h.m4.
78581
78582 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78583
78584         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
78585         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
78586         recent change to stdint.m4, since we're now addressing the problem in a
78587         different way.
78588
78589 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78590
78591         * m4/fcntl_h.m4: New file.
78592
78593 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78594
78595         * lib/fcntl_.h: New file.
78596         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
78597         the fcntl module.
78598         * lib/dirchownmod.c: Likewise.
78599         * lib/fts.c: Likewise.
78600
78601         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
78602         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
78603         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
78604         just before including <inttypes.h>, to avoid circular inclusion.
78605
78606 2006-08-28  Jim Meyering  <jim@meyering.net>
78607
78608         * doc/visibility.texi: Actually read and correct the grammar of the
78609         sentence affected by yesterday's change.
78610
78611 2006-08-28  Eric Blake  <ebb9@byu.net>
78612
78613         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
78614         needs wrapper.
78615
78616 2006-08-28  Eric Blake  <ebb9@byu.net>
78617
78618         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
78619
78620 2006-08-28  Eric Blake  <ebb9@byu.net>
78621
78622         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
78623
78624 2006-08-28  Bruno Haible  <bruno@clisp.org>
78625
78626         * modules/c-strstr: New file, from GNU gettext.
78627         * MODULES.html.sh (String handling): Add c-strstr.
78628
78629 2006-08-28  Bruno Haible  <bruno@clisp.org>
78630
78631         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
78632         macros.
78633         Reported by Eric Blake.
78634
78635 2006-08-28  Bruno Haible  <bruno@clisp.org>
78636
78637         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
78638         (VASNPRINTF): Return a string of length > INT_MAX without failing.
78639         * lib/vasprintf.c: Include errno.h, limits.h.
78640         (EOVERFLOW): New fallback definition.
78641         (vasprintf): Test here whether the string length is > INT_MAX.
78642         * lib/vsnprintf.c: Include errno.h, limits.h.
78643         (EOVERFLOW): New fallback definition.
78644         (vsnprintf): Fix bug when generated string was too long for the buffer.
78645         Test here whether the string length is > INT_MAX.
78646
78647 2006-08-28  Bruno Haible  <bruno@clisp.org>
78648
78649         * lib/inttypes_.h (SCNX*): Remove definitions.
78650         Reported by Eric Blake.
78651
78652 2006-08-28  Bruno Haible  <bruno@clisp.org>
78653
78654         * lib/c-strstr.h: New file, from GNU gettext.
78655         * lib/c-strstr.c: New file, from GNU gettext.
78656
78657 2006-08-28  Bruno Haible  <bruno@clisp.org>
78658
78659         * gnulib-tool: Reorder some statements.
78660
78661 2006-08-28  Bruno Haible  <bruno@clisp.org>
78662
78663         * gnulib-tool: New option --makefile-name.
78664         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
78665         $makefile_name.
78666         (func_import): Write $makefile_name to the cache file, and read it from
78667         there unless explicitly specified. Use $makefile_name as file name
78668         instead of Makefile.am. Adjust the recommendations accordingly.
78669
78670 2006-08-28  Bruno Haible  <bruno@clisp.org>
78671
78672         * gnulib-tool (func_verify_module): Check against misapplying patch.
78673
78674 2006-08-28  Bruno Haible  <bruno@clisp.org>
78675
78676         * gnulib-tool (func_relativize, func_relconcat): New functions.
78677         Give an error if --local-dir is given with --update.
78678         Remove trailing slashes from $local_gnulib_dir.
78679         (func_import): Store the relativized $local_gnulib_dir in
78680         gnulib-cache.m4, and read it from there if not specified explicitly.
78681
78682 2006-08-28  Bruno Haible  <bruno@clisp.org>
78683
78684         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
78685         is the current directory. Respect also $local_gnulib_dir.
78686
78687 2006-08-28  Bruno Haible  <bruno@clisp.org>
78688             Simon Josefsson  <jas@extundo.com>
78689
78690         BeOS portability.
78691         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
78692
78693 2006-08-27  Jim Meyering  <jim@meyering.net>
78694
78695         * doc/visibility.texi: Remove duplicate word: "pointer".
78696
78697 2006-08-26  Bruno Haible  <bruno@clisp.org>
78698
78699         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
78700         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
78701         (Makefile.am): Create inttypes.h from inttypes_.h.
78702         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
78703
78704         * modules/imaxabs: New file.
78705
78706         * modules/imaxdiv: New file.
78707
78708 2006-08-26  Bruno Haible  <bruno@clisp.org>
78709
78710         * m4/inttypes.m4: New file.
78711         * m4/_inttypes_h.m4: Remove file.
78712         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
78713         PRI_MACROS_BROKEN.
78714         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
78715
78716         * m4/imaxabs.m4: New file.
78717
78718         * m4/imaxdiv.m4: New file.
78719
78720 2006-08-26  Bruno Haible  <bruno@clisp.org>
78721
78722         * lib/inttypes_.h: New file.
78723         * lib/inttypes.h: Remove file.
78724         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
78725
78726         * lib/imaxabs.c: New file.
78727
78728         * lib/imaxdiv.c: New file.
78729
78730 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78731
78732         New config-h module, so that "make" output needn't be cluttered
78733         by -DHAVE_CONFIG_H.
78734         * MODULES.html.sh (Support for building libraries and executables):
78735         Add config-h.
78736         * modules/config-h: New file.
78737         * gnulib-tool (nl, sed_transform_lib_file): New vars.
78738         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
78739         the config-h module is used.
78740
78741         New configmake module, so that "make" output needn't be cluttered
78742         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
78743         * MODULES.html.sh (Support for building libraries and executables):
78744         Add configmake.
78745         * modules/configmake: New file.
78746
78747 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78748
78749         * m4/config-h.m4: New file.
78750
78751 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78752
78753         * config/srclist.txt: Add elisp-comp.
78754
78755 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78756
78757         * MODULES.html.sh (Support for building libraries and executables):
78758         Add elisp-comp.
78759         * build-aux/elisp-comp: New file.
78760         * modules/elisp-comp: New file.
78761
78762 2006-08-24  Bruno Haible  <bruno@clisp.org>
78763
78764         * gnulib-tool (func_create_testdir): Use non-default values of
78765         sourcebase and m4base.
78766
78767 2006-08-24  Bruno Haible  <bruno@clisp.org>
78768
78769         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
78770         HTML structure.
78771
78772 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78773
78774         * modules/openat (Depends-on): Add lchown.
78775
78776 2006-08-23  Bruno Haible  <bruno@clisp.org>
78777
78778         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
78779         of gl_LOCK_EARLY instead of gl_LOCK.
78780
78781 2006-08-23  Bruno Haible  <bruno@clisp.org>
78782
78783         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
78784         on OSF/1 to no.
78785         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
78786
78787 2006-08-23  Bruno Haible  <bruno@clisp.org>
78788
78789         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
78790         as unusable.
78791
78792         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
78793         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
78794         (gl_LOCK): New macro.
78795
78796 2006-08-22  Simon Josefsson  <jas@extundo.com>
78797
78798         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
78799         to md5 module.
78800
78801 2006-08-22  Simon Josefsson  <jas@extundo.com>
78802
78803         * MODULES.html.sh: Add "Support for maintaining and release
78804         projects".
78805
78806         * build-aux/gnupload: New file, from coreutils.
78807
78808 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78809
78810         Avoid the need for AC_LIBSOURCES in m4 macros.
78811         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
78812         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
78813         * modules/check-version (EXTRA_DIST): Add check-version.h.
78814         * modules/crc (EXTRA_DIST): Add crc.h.
78815         * modules/des (EXTRA_DIST): Add des.h.
78816         * modules/gc (EXTRA_DIST): Add gc.h.
78817         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
78818         * modules/getline (EXTRA_DIST): Add getline.h.
78819         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
78820         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
78821         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
78822         * modules/md2 (EXTRA_DIST): Add md2.h.
78823         * modules/md4 (EXTRA_DIST): Add md4.h.
78824         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
78825         * modules/read-file (EXTRA_DIST): Add read-file.h.
78826         * modules/readline (EXTRA_DIST): Add readline.h.
78827         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
78828         rijndael-api-fst.h.
78829
78830 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78831
78832         * m4/rijndael.m4 (gl_ARCFOUR):
78833         * m4/arctwo.m4 (gl_ARCTWO):
78834         * m4/check-version.m4 (gl_CHECK_VERSION):
78835         * m4/crc.m4 (gl_CRC):
78836         * m4/des.m4 (gl_DES):
78837         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
78838         * m4/gc.m4 (gl_GC):
78839         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
78840         * m4/getline.m4 (gl_FUNC_GETLINE):
78841         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
78842         * m4/hmac-md5.m4 (gl_HMAC_MD5):
78843         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
78844         * m4/md2.m4 (gl_MD2):
78845         * m4/md4.m4 (gl_MD4):
78846         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
78847         * m4/read-file.m4 (gl_FUNC_READ_FILE):
78848         * m4/readline.m4 (gl_FUNC_READLINE):
78849         * m4/rijndael.m4 (gl_RIJNDAEL):
78850         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
78851         to get the necessary .h files and whatnot.
78852
78853 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78854
78855         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
78856         gnulib rather than the other way around.
78857         * config/srclistvars.sh (COREUTILS): Remove.
78858
78859 2006-08-22  Jim Meyering  <jim@meyering.net>
78860
78861         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
78862
78863         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
78864
78865 2006-08-22  Eric Blake  <ebb9@byu.net>
78866
78867         * modules/regexprops-generic: New file.
78868         * MODULES.html.sh (Support for building documentation): List it.
78869
78870 2006-08-22  Eric Blake  <ebb9@byu.net>
78871
78872         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
78873         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
78874         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
78875         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
78876
78877 2006-08-22  Bruno Haible  <bruno@clisp.org>
78878
78879         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
78880         and lib_LTLIBRARIES like the other lib_* variables.
78881
78882 2006-08-22  Bruno Haible  <bruno@clisp.org>
78883
78884         * build-aux/x-to-1.in: New file, from GNU gettext.
78885
78886 2006-08-22  Bruno Haible  <bruno@clisp.org>
78887
78888         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
78889         <utmpx.h> exists.
78890
78891 2006-08-22  Bruno Haible  <bruno@clisp.org>
78892
78893         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
78894         <utmpx.h> exists.
78895
78896 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78897
78898         BeOS portability.
78899         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
78900         exist.
78901         Problem reported by Bruno Haible.
78902
78903 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78904
78905         Avoid the need for AC_LIBSOURCES in m4 macros.
78906         * modules/acl (EXTRA_DIST): Add acl.h.
78907         * modules/argmatch (Files): Add m4/argmatch.m4.
78908         (configure.ac): Add gl_ARGMATCH.
78909         (EXTRA_DIST): Renamed from lib_SOURCES, for
78910         consistency with the other modules.  Remove argmatch.c.
78911         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
78912         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
78913         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
78914         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
78915         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
78916         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
78917         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
78918         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
78919         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
78920         * modules/closeout (EXTRA_DIST): Add closeout.h.
78921         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
78922         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
78923         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
78924         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
78925         dirname.h; remove basename.c and stripslash.c.
78926         * modules/exclude (EXTRA_DIST): Add exclude.h.
78927         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
78928         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
78929         * modules/file-type (EXTRA_DIST): Add file-type.h.
78930         * modules/filemode (EXTRA_DIST): Add filemode.h.
78931         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
78932         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
78933         * modules/fpending (EXTRA_DIST): Add __fpending.h.
78934         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
78935         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
78936         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
78937         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
78938         * modules/getdate (EXTRA_DIST): Add getdate.c.
78939         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
78940         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
78941         * modules/getpass (EXTRA_DIST): Add getpass.h.
78942         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
78943         * modules/group-member (EXTRA_DIST): Add group-member.h.
78944         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
78945         * modules/hash (EXTRA_DIST): Add hash.h.
78946         * modules/human (EXTRA_DIST): Add human.h.
78947         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
78948         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
78949         * modules/lchown (EXTRA_DIST): Add lchown.h.
78950         * modules/long-options (EXTRA_DIST): Add long-options.h.
78951         * modules/lstat (EXTRA_DIST): Add lstat.h.
78952         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
78953         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
78954         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
78955         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
78956         * modules/memxor (EXTRA_DIST): Add memxor.h.
78957         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
78958         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
78959         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
78960         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
78961         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
78962         * modules/physmem (EXTRA_DIST): Add physmem.h.
78963         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
78964         * modules/posixver (EXTRA_DIST): Add posixver.h.
78965         * modules/quote (EXTRA_DIST): Add quote.h.
78966         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
78967         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
78968         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
78969         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
78970         regex_internal.h regexec.c.
78971         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
78972         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
78973         * modules/same (EXTRA_DIST): Add same.h.
78974         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
78975         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
78976         * modules/savedir (EXTRA_DIST): Add savedir.h.
78977         * modules/sha1 (EXTRA_DIST): Add sha1.h.
78978         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
78979         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
78980         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
78981         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
78982         * modules/strdup (EXTRA_DIST): Add strdup.h.
78983         * modules/strftime (EXTRA_DIST): Add strftime.h.
78984         * modules/strndup (EXTRA_DIST): Add strndup.h.
78985         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
78986         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
78987         * modules/time_r (EXTRA_DIST): Add time_r.h.
78988         * modules/timespec (EXTRA_DIST): Add timespec.h.
78989         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
78990         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
78991         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
78992         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
78993         * modules/userspec (EXTRA_DIST): Add userspec.h.
78994         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
78995         * modules/utimens (EXTRA_DIST): Add utimens.h.
78996         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
78997         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
78998         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
78999         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
79000         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
79001         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
79002         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
79003         * modules/yesno (EXTRA_DIST): Add yesno.h.
79004
79005 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79006
79007         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
79008
79009         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
79010         * m4/dev-ino.m4, same-inode.m4: Remove.
79011
79012         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
79013         * m4/acl.m4 (AC_FUNC_ACL):
79014         * m4/backupfile.m4 (gl_BACKUPFILE):
79015         * m4/c-strtod.m4 (gl_C99_STRTOLD):
79016         * m4/canon-host.m4 (gl_CANON_HOST):
79017         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
79018         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
79019         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
79020         * m4/cloexec.m4 (gl_CLOEXEC):
79021         * m4/close-stream.m4 (gl_CLOSE_STREAM):
79022         * m4/closeout.m4 (gl_CLOSEOUT):
79023         * m4/dirfd.m4 (gl_FUNC_DIRFD):
79024         * m4/dirname.m4 (gl_DIRNAME):
79025         * m4/exclude.m4 (gl_EXCLUDE):
79026         * m4/exitfail.m4 (gl_EXITFAIL):
79027         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
79028         * m4/file-type.m4 (gl_FILE_TYPE):
79029         * m4/filemode.m4 (gl_FILEMODE):
79030         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
79031         * m4/fpending.m4 (gl_FUNC_FPENDING):
79032         * m4/fprintftime.m4 (gl_FPRINTFTIME):
79033         * m4/fts.m4 (gl_FUNC_FTS):
79034         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
79035         * m4/getdate.m4 (gl_GETDATE):
79036         * m4/gethrxtime.m4 (gl_GETHRXTIME):
79037         * m4/getpagesize.m4 (gl_GETPAGESIZE):
79038         * m4/getpass.m4 (gl_FUNC_GETPASS):
79039         * m4/gettime.m4 (gl_GETTIME):
79040         * m4/getugroups.m4 (gl_GETUGROUPS):
79041         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
79042         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
79043         * m4/hard-locale.m4 (gl_HARD_LOCALE):
79044         * m4/hash.m4 (gl_HASH):
79045         * m4/idcache.m4 (gl_IDCACHE):
79046         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
79047         * m4/lchown.m4 (gl_FUNC_LCHOWN):
79048         * m4/long-options.m4 (gl_LONG_OPTIONS):
79049         * m4/lstat.m4 (gl_FUNC_LSTAT):
79050         * m4/md5.m4 (gl_MD5):
79051         * m4/memcasecmp.m4 (gl_MEMCASECMP):
79052         * m4/memcoll.m4 (gl_MEMCOLL):
79053         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
79054         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
79055         * m4/memxor.m4 (gl_MEMXOR):
79056         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
79057         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
79058         * m4/modechange.m4 (gl_MODECHANGE):
79059         * m4/mountlist.m4 (gl_MOUNTLIST):
79060         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
79061         * m4/openat.m4 (gl_FUNC_OPENAT):
79062         * m4/pathmax.m4 (gl_PATHMAX):
79063         * m4/physmem.m4 (gl_PHYSMEM):
79064         * m4/posixtm.m4 (gl_POSIXTM):
79065         * m4/posixver.m4 (gl_POSIXVER):
79066         * m4/quote.m4 (gl_QUOTE):
79067         * m4/quotearg.m4 (gl_QUOTEARG):
79068         * m4/readtokens.m4 (gl_READTOKENS):
79069         * m4/readutmp.m4 (gl_READUTMP):
79070         * m4/regex.m4 (gl_REGEX):
79071         * m4/safe-read.m4 (gl_SAFE_READ):
79072         * m4/safe-write.m4 (gl_SAFE_WRITE):
79073         * m4/same.m4 (gl_SAME):
79074         * m4/save-cwd.m4 (gl_SAVE_CWD):
79075         * m4/savedir.m4 (gl_SAVEDIR):
79076         * m4/settime.m4 (gl_SETTIME):
79077         * m4/sha1.m4 (gl_SHA1):
79078         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
79079         * m4/stat-macros.m4 (gl_STAT_MACROS):
79080         * m4/stat-time.m4 (gl_STAT_TIME):
79081         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
79082         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
79083         * m4/strdup.m4 (gl_FUNC_STRDUP):
79084         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
79085         * m4/strndup.m4 (gl_FUNC_STRNDUP):
79086         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
79087         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
79088         * m4/time_r.m4 (gl_TIME_R):
79089         * m4/timespec.m4 (gl_TIMESPEC):
79090         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
79091         * m4/unlinkdir.m4 (gl_UNLINKDIR):
79092         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
79093         * m4/userspec.m4 (gl_USERSPEC):
79094         * m4/utimecmp.m4 (gl_UTIMECMP):
79095         * m4/utimens.m4 (gl_UTIMENS):
79096         * m4/xalloc.m4 (gl_XALLOC):
79097         * m4/xgetcwd.m4 (gl_XGETCWD):
79098         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
79099         * m4/xreadlink.m4 (gl_XREADLINK):
79100         * m4/xstrtod.m4 (gl_XSTRTOD):
79101         * m4/yesno.m4 (gl_YESNO):
79102         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79103         to get the necessary .h files and whatnot.
79104
79105 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
79106             Bruno Haible  <bruno@clisp.org>
79107
79108         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
79109         /bin/sh understanding of '!' conditional negation.
79110
79111 2006-08-21  Jim Meyering  <jim@meyering.net>
79112
79113         * modules/openat (Depends-on): Really alphabetize.
79114
79115         * modules/acl (Depends-on): Add error and quote.
79116
79117         * check-module (find_included_lib_files): Add at-func.c to the
79118         ok-to-include-more-than-once white list.
79119
79120         * modules/openat (Depends-on): Add lstat.  Alphabetize.
79121
79122 2006-08-21  Bruno Haible  <bruno@clisp.org>
79123
79124         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79125         Emit a pkgdata_DATA variable only if some snippets add contents to it.
79126         Reported by Martin Lambers <marlam@marlam.de>.
79127
79128 2006-08-21  Bruno Haible  <bruno@clisp.org>
79129
79130         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
79131         specify an installation location, don't emit a noinst_LIBRARIES or
79132         noinst_LTLIBRARIES assignment.
79133
79134 2006-08-21  Bruno Haible  <bruno@clisp.org>
79135
79136         BeOS portability.
79137         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
79138         BeOS has mbrtowc() but no <wctype.h>.
79139
79140 2006-08-21  Bruno Haible  <bruno@clisp.org>
79141
79142         BeOS portability.
79143         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
79144         exist.
79145
79146 2006-08-21  Bruno Haible  <bruno@clisp.org>
79147
79148         BeOS portability.
79149         * lib/mbchar.h: Include <wctype.h> only if it exists.
79150
79151 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79152
79153         Remove files that are no longer needed by their respective modules.
79154         * m4/obstack.m4: Remove.
79155         * m4/strerror_r.m4: Remove.
79156         * m4/uint32_t.m4: Remove.
79157         * m4/uintptr_t.m4: Remove.
79158         * m4/ullong_max.m4: Remove.
79159         * m4/xstrtoimax.m4: Remove.
79160         * m4/xstrtoumax.m4: Remove.
79161
79162         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
79163         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
79164         dependencies now capture this.
79165
79166         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
79167         Do not use AC_LIBSOURCES, since gnulib modules now do this.
79168         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
79169         * m4/human.m4 (gl_HUMAN): Likewise.
79170         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
79171         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
79172
79173         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
79174
79175         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
79176         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
79177         stdint.
79178         * m4/human.m4 (gl_HUMAN): Likewise.
79179         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
79180         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
79181         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79182         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79183         * m4/xstrtol (gl_XSTRTOL): Likewise.
79184
79185         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
79186         AC_TYPE_LONG_LONG_INT.
79187         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79188         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
79189         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
79190         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79191
79192         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
79193         on stdbool.
79194
79195         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
79196         (gl_PREREQ_XSTRTOUL): Remove.
79197
79198         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
79199
79200         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
79201         mode.
79202
79203 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79204
79205         Add and change modules to make it easier for coreutils to use
79206         gnulib-tool.
79207         * modules/backupfile (Files): Remove m4/d-ino.m4.
79208         (Depends-on): Add d-ino.
79209         * modules/cycle-check (Depends-on): Add stdint.
79210         (lib_SOURCES): Add cycle-check.h.
79211         * modules/d-ino: New module.
79212         * modules/d-type: New module.
79213         * modules/error (Files): Remove m4/strerror_r.m4.
79214         * modules/filemode (Files): Add m4/st_dm_mode.m4.
79215         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
79216         m4/inttypes_h.m4, m4/uintmax_t.m4.
79217         (Depends-on): Add stdint.
79218         (lib_SOURCES): Add fsusage.h.
79219         * modules/getcwd (Files): Remove d-ino.m4.
79220         (Depends-on): Add d-ino.
79221         * modules/getndelim2 (Depends-on): Add stdint.
79222         * modules/glob (Files): Remove m4/d-type.m4.
79223         (Depends-on): Add d-type.
79224         * modules/host-os: New module.
79225         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
79226         m4/inttypes_h.m4, m4/uintmax_t.m4.
79227         * Depends-on: Add stdint.
79228         (lib_SOURCES): Add human.h.
79229         * modules/inttostr (Files): Remove m4/intmax_t.m4,
79230         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
79231         m4/uintmax_t.m4, m4/ulonglong.m4.
79232         (Depends-on): Add stdint.
79233         (EXTRA_DIST): Add inttostr.h.
79234         * modules/lchmod: New module.
79235         * modules/link-follow: New module.
79236         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
79237         (Depends-on): Add lchmod.
79238         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
79239         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
79240         (Depends-on): Add stdint.
79241         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
79242         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
79243         (Depends-on): Add stdint.
79244         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
79245         * modules/perl: New module.
79246         * modules/regex (Depends-on): Add stdint.
79247         * modules/rmdir-errno: New module.
79248         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79249         m4/intmax_t.m4.
79250         (Depends-on): Add stdint.
79251         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79252         m4/uintmax_t.m4.
79253         (Depends-on): Add stdint.
79254         * modules/unlink-busy: New module.
79255         * modules/utimecmp (Depends-on): Add stdint.
79256         * modules/uptime: New module.
79257         * modules/winsz-ioctl: New module.
79258         * modules/winsz-termios: New module.
79259         * modules/xnanosleep (Depends-on): Add nanosleep.
79260         * modules/ullong_max: Remove.
79261         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
79262         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
79263         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
79264         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
79265         (Depends-on): Add inttypes.
79266         (lib_SOURCES): Add xstrtol.h.
79267         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
79268         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
79269         * MODULES.html.sh: Move 'assert' into the assert section.
79270         Move 'dummy' into the linking section.
79271         Remove ullong_max.
79272         Add section for compatibility checks for POSIX:2001 functions,
79273         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
79274         winsz-ioctl, and winsz-termios into it.
79275         Add lchmod.
79276         Add top-level Misc section and put host-os, perl, and uptime
79277         into it.
79278
79279 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79280
79281         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
79282         now assume the stdint module.  Do not include inttypes.h.
79283         * lib/fsusage.h: Likewise.
79284         * lib/getndelim2.c: Likewise.
79285         * lib/human.h: Likewise.
79286         * lib/inttostr.h: Likewise.
79287         * lib/obstack.c: Likewise.
79288         * lib/regex_internal.h: Likewise.
79289         * lib/tempname.c: Likewise.
79290         * lib/utimecmp.c: Likewise.
79291         * lib/xstrtol.h: Likewise.
79292
79293         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
79294
79295         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
79296         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
79297         * lib/xtime.h: Likewise.
79298
79299 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79300
79301         * modules/openat (Files): Add lib/fchmodat.c.
79302         Fixes problem reported by Jay Youngman.
79303
79304 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79305
79306         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
79307         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
79308
79309 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
79310             Bruno Haible  <bruno@clisp.org>
79311
79312         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
79313         and is a script that invokes bison. Tighten the code. Add comments.
79314
79315 2006-08-18  Jim Meyering  <jim@meyering.net>
79316
79317         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
79318         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
79319         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
79320         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
79321
79322 2006-08-18  Bruno Haible  <bruno@clisp.org>
79323
79324         * modules/bison-i18n: New file.
79325         * MODULES.html.sh (Internationalization functions): Add it.
79326
79327 2006-08-18  Bruno Haible  <bruno@clisp.org>
79328
79329         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
79330         sys/statvfs.h. When getmntinfo was found, check its declaration and
79331         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
79332
79333 2006-08-18  Bruno Haible  <bruno@clisp.org>
79334
79335         * m4/bison-i18n.m4: New file, from bison.
79336
79337 2006-08-18  Bruno Haible  <bruno@clisp.org>
79338
79339         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
79340         (ME_DUMMY): Treat "kernfs" as a dummy.
79341         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
79342
79343 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79344
79345         Update from coreutils.
79346
79347         2006-08-15  Jim Meyering  <jim@meyering.net>
79348
79349         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
79350
79351         2006-01-17  Jim Meyering  <jim@meyering.net>
79352
79353         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
79354
79355         2006-01-11  Jim Meyering  <jim@meyering.net>
79356
79357         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
79358         Check for the lchmod function.
79359
79360 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79361
79362         Update from coreutils.
79363
79364         * lib/__fpending.h: Add copyright notice.
79365         * lib/fprintftime.h: Likewise.
79366         * lib/savedir.c: Use (C) in copyright notice.
79367         * lib/savedir.h: Likewise.
79368
79369         2006-08-15  Jim Meyering  <jim@meyering.net>
79370
79371         * lib/at-func.c: New file, with the logic of all emulated at-functions.
79372         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
79373         in support of the EXPECTED_ERRNO macro.
79374         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
79375         definitions.  Instead, define the appropriate symbols and include
79376         "at-func.c".
79377         * lib/mkdirat.c (mkdirat): Likewise.
79378         * lib/fchmodat.c (fchmodat): Likewise.
79379         (ENOSYS): Remove definition.
79380         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
79381         it.  Don't include "unistd--.h" -- it wasn't ever used.
79382
79383         2006-01-17  Jim Meyering  <jim@meyering.net>
79384
79385         Rewrite fts.c not to change the current working directory,
79386         by using openat, fstatat, fdopendir, etc..
79387
79388         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
79389         (HAVE_OPENAT_SUPPORT): Define.
79390         [_LIBC] (fchdir): Don't undef or define; no longer used.
79391         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
79392         Now, this `function' always succeeds, and consumes its file descriptor
79393         parameter -- so callers must not close such FDs.  Update callers.
79394         (diropen_fd, opendirat, cwd_advance_fd): New functions.
79395         (diropen): Add parameter, SP.  Adjust all callers.
79396         Implement using diropen_fd, rather than open.
79397         (fts_open): Initialize new member, fts_cwd_fd.
79398         Remove fts_rft-setting code.
79399         (fts_close): Close fts_cwd_fd, if necessary.
79400         (__opendir2): Define in terms of opendir or opendirat,
79401         depending on whether the FST_NOCHDIR flag is set.
79402         (fts_build): Since fts_safe_changedir consumes its FD, and since
79403         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
79404         and close the dup'd file descriptor upon failure.
79405         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
79406         (fts_safe_changedir): Tweak semantics to reflect that this function
79407         now calls cwd_advance_fd and hence consumes its FD argument.
79408         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
79409         [struct FTS] (fts_rft): Remove now-unused member.
79410         [struct FTS] (fts_cycle.state): Improve comment.
79411
79412         * lib/openat.c (openat_needs_fchdir): New function.
79413         * lib/openat.h (openat_needs_fchdir): Declare it.
79414
79415 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79416
79417         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
79418         Problem and fix reported by Pádraig Brady in
79419         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
79420
79421 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79422
79423         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
79424
79425 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79426
79427         * lib/memcoll.c (memcoll): Optimize for the common case where the
79428         arguments are bytewise equal.
79429
79430 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79431
79432         * doc/regexprops-generic.texi: Add a copyright notice.
79433
79434 2006-08-15  Bruno Haible  <bruno@clisp.org>
79435
79436         * modules/tmpdir (License): Change to LGPL.
79437
79438 2006-08-15  Bruno Haible  <bruno@clisp.org>
79439
79440         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
79441         module.
79442
79443 2006-08-14  Simon Josefsson  <jas@extundo.com>
79444
79445         * config/srclist.txt: Add gnupload.
79446
79447 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79448
79449         Change copyright notice from LGPL 2 to GPL 2, since that's the
79450         standard form used in the gnulib repository.
79451         * tests/test-lock.c: Likewise.
79452         * tests/test-stdint.c: Likewise.
79453         * tests/test-tls.c: Likewise.
79454
79455         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
79456         prelude-manager.  User shorter URLs for GNU projects, without '?'.
79457         Add copyright notice.
79458
79459         * check-module: Add copyright notice.  Output a copyright
79460         notice if "--version" is specified.
79461         * modules/COPYING: New file.
79462         * tests/test-getaddrinfo.c: Add copyright notice.
79463         * tests/test-verify.c: Likewise.
79464
79465 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79466
79467         Change copyright notice from LGPL 2 to GPL 2, since that's the
79468         standard form used in the gnulib repository.
79469         * lib/lock.c: LGPL -> GPL.
79470         * lib/lock.h: Likewise.
79471         * lib/strnlen1.c: Likewise.
79472         * lib/strnlen1.h: Likewise.
79473         * lib/tls.c: Likewise.
79474         * lib/tls.h: Likewise.
79475         * lib/tmpdir.c: Likewise.
79476
79477         * lib/TODO: Remove; this belongs only in coreutils.
79478
79479 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79480
79481         Add copyright notices to long-enough files that lack them, since
79482         otherwise the files aren't clearly free.  Use the same notice that
79483         getdate.texi already uses.
79484         * doc/alloca-opt.texi: Add copyright notice.
79485         * doc/alloca.texi: Likewise.
79486         * doc/ctime.texi: Likewise.
79487         * doc/functions.texi: Likewise.
79488         * doc/gcd.texi: Likewise.
79489         * doc/gnulib-tool.texi: Likewise.
79490         * doc/inet_ntoa.texi: Likewise.
79491         * doc/visibility.texi: Likewise.
79492
79493         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
79494         * doc/quote.texi: Add copyright notice.
79495
79496         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
79497         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
79498         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
79499         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
79500         is now obsolete, and give a pointer to the Sun list.
79501         Add copyright notice.
79502
79503 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79504
79505         * config/srclistvars.sh: Add copyright notice.
79506
79507 2006-08-14  Eric Blake  <ebb9@byu.net>
79508
79509         Import the following change from libc:
79510
79511         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
79512
79513         Upstream bug 2997.
79514         * lib/misc/error.c: Add space between program name and message if file
79515         name is missing.
79516
79517 2006-08-12  Karl Berry  <karl@gnu.org>
79518
79519         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
79520         remove, these originate in gnulib now.
79521
79522 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79523
79524         * doc/Makefile (standards.info standards.html standards.dvi):
79525         Also depend on make-stds.texi.
79526
79527 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79528
79529         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
79530         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
79531
79532         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
79533         in wchar_t.  Problem reported by Eric Blake.
79534
79535         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
79536         LEN is smaller than SIZE.  Suggested by Bruno Haible.
79537         Also, help the compiler to keep LEN in a register.
79538
79539 2006-08-11  Eric Blake  <ebb9@byu.net>
79540
79541         * users.txt: Sort.  Add tar.
79542
79543 2006-08-11  Bruno Haible  <bruno@clisp.org>
79544
79545         * users.txt: New file.
79546
79547 2006-08-11  Bruno Haible  <bruno@clisp.org>
79548
79549         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
79550         before <wchar.h>. Needed for OSF/1 and BSD/OS.
79551
79552 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79553
79554         * modules/snprintf (Depends-on): Remove minmax.
79555         (Maintainer): Add self and Bruno.
79556
79557 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79558
79559         * lib/.cppi-disable: Add snprintf.h, socket_.h.
79560         * lib/snprintf.c: Include <errno.h> and <limits.h>.
79561         (EOVERFLOW): Define if the system does not.
79562         Do not include "minmax.h"; it wasn't used.
79563         (snprintf): Don't assume size_t promotes to an unsigned type.
79564         Fix bug when generated string was too long for the buffer: the
79565         buffer's contents are supposed to be the initial prefix of the
79566         output.  Don't assume vasnprintf returns EOVERFLOW if the size
79567         exceeds INT_MAX; do the check ourselves.
79568
79569         Import the following changes from libc:
79570
79571         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
79572
79573         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
79574         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
79575         set wc to the byte which couldn't be converted.
79576         (re_string_reconstruct): Don't clear valid_raw_len before calling
79577         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
79578         tip_context using re_string_context_at.
79579
79580         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
79581
79582         * lib/posix/regex.h: g++ still cannot handled [restrict].
79583
79584         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
79585
79586         * lib/posix/regex.h: Remove special handling for VMS.
79587
79588 2006-08-10  Jim Meyering  <jim@meyering.net>
79589
79590         * modules/same-inode: New module.
79591         * modules/dev-ino: New module.
79592         * modules/cycle-check: Depend on these modules, rather than simply
79593         including their .h files.
79594         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
79595         required via m4/cycle-check.m4.
79596         * modules/same: Depend on new same-inode module, rather than
79597         including same-inode.h.
79598         * modules/chdir-safer: New file.
79599
79600         * modules/chown (Depends-on): Add stat-macros.
79601
79602 2006-08-10  Jim Meyering  <jim@meyering.net>
79603
79604         * m4/cycle-check.m4: New file.
79605         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
79606         * m4/dev-ino.m4, m4/same-inode.m4: New files.
79607
79608 2006-08-10  Eric Blake  <ebb9@byu.net>
79609
79610         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
79611         in from original proposal.
79612
79613 2006-08-10  Eric Blake  <ebb9@byu.net>
79614         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
79615
79616         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
79617         namespace.
79618
79619 2006-08-10  Bruno Haible  <bruno@clisp.org>
79620
79621         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
79622         as well.
79623
79624 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79625
79626         Sync from coreutils.
79627
79628         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
79629
79630         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
79631         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
79632
79633 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79634
79635         * modules/restrict: Remove; no longer needed now that we assume
79636         Autoconf 2.59 or later.
79637         * MODULES.html.sh: Remove 'restrict'.
79638         * modules/argp (Depends-on): Remove 'restrict'.
79639         * modules/base64 (Depends-on): Likewise.
79640         * modules/gc (Depends-on): Likewise.
79641         * modules/getaddrinfo (Depends-on): Likewise.
79642         * modules/glob (Depends-on): Likewise.
79643         * modules/inet_ntop (Depends-on): Likewise.
79644         * modules/inet_pton (Depends-on): Likewise.
79645         * modules/memxor (Depends-on): Likewise.
79646         * modules/regex (Depends-on): Likewise.
79647         * modules/strtok_r (Depends-on): Likewise.
79648         * modules/time_r (Depends-on): Likewise.
79649
79650 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79651
79652         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
79653         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
79654         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
79655         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
79656         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
79657         * m4/memxor.m4 (gl_MEMXOR): Likewise.
79658         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
79659         gl_C_RESTRICT replaced by AC_C_RESTRICT.
79660
79661         Merge from coreutils.
79662         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
79663         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
79664         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
79665         * m4/time_r.m4 (gl_TIME_R): Likewise.
79666
79667 2006-08-09  Karl Berry  <karl@gnu.org>
79668
79669         * config/srclist.txt: no more gettext-tools, per Bruno.
79670
79671 2006-08-08  Eric Blake  <ebb9@byu.net>
79672
79673         * modules/verror: New module.
79674         * MODULES.html.sh: Document it.
79675
79676 2006-08-08  Eric Blake  <ebb9@byu.net>
79677
79678         * lib/verror.h, lib/verror.c: New files.
79679
79680 2006-08-08  Eric Blake  <ebb9@byu.net>
79681
79682         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
79683         verror_at_line output complies with GNU Coding Standards even when
79684         file is NULL.
79685
79686 2006-08-07  Bruno Haible  <bruno@clisp.org>
79687
79688         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
79689         versions of AIX.
79690         Reported by Ralf Wildenhues.
79691
79692 2006-08-07  Bruno Haible  <bruno@clisp.org>
79693
79694         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
79695         in an AC_DEFUN. Needed so that the autoconf snippets can use
79696         AC_REQUIRE.
79697
79698 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79699
79700         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79701         Initialize pkgdata_DATA.
79702         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
79703         overriding it.
79704
79705 2006-08-06  Eric Blake  <ebb9@byu.net>
79706
79707         * lib/error.h: Fold in some upstream changes from glibc.
79708         * lib/error.c: Likewise.
79709
79710 2006-08-04  Bruno Haible  <bruno@clisp.org>
79711
79712         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79713         Make the mostlyclean-local rule depend on mostlyclean-generic.
79714         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
79715
79716 2006-07-31  Bruno Haible  <bruno@clisp.org>
79717
79718         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
79719         <stdlib.h>, <string.h>.
79720
79721 2006-07-30  Bruno Haible  <bruno@clisp.org>
79722
79723         * modules/readlink (License): Change to LGPL.
79724
79725 2006-07-30  Bruno Haible  <bruno@clisp.org>
79726
79727         * modules/javaversion (Makefile.am): Distribute javaversion.java and
79728         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
79729         set PKGDATADIR to point to it.
79730
79731 2006-07-30  Bruno Haible  <bruno@clisp.org>
79732
79733         * modules/csharpexec (configure.ac): Comment out macro invocation.
79734         * modules/javaexec (configure.ac): Likewise.
79735         * modules/javacomp-script (configure.ac): Likewise.
79736
79737         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
79738
79739 2006-07-30  Bruno Haible  <bruno@clisp.org>
79740
79741         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
79742         linked-list.
79743
79744 2006-07-30  Bruno Haible  <bruno@clisp.org>
79745
79746         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
79747
79748 2006-07-30  Bruno Haible  <bruno@clisp.org>
79749
79750         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79751         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
79752         get removed.
79753
79754 2006-07-29  Bruno Haible  <bruno@clisp.org>
79755
79756         Make it possible for gnulib-tool to work with locally modified or
79757         augmented gnulib repositories.
79758         * gnulib-tool (func_usage): Document --local-dir option.
79759         (local_gnulib_dir): New variable.
79760         Handle --local-dir option.
79761         (func_lookup_file): New function.
79762         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
79763         (func_get_description, func_get_filelist, func_get_description,
79764         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
79765         func_get_automake_snippet, func_get_include_directive,
79766         func_get_license, func_get_maintainer): Use func_lookup_file.
79767         (func_import, func_create_testdir): Use func_lookup_file.
79768
79769 2006-07-29  Bruno Haible  <bruno@clisp.org>
79770
79771         * modules/setenv (Depends-on): Add unistd.
79772
79773 2006-07-29  Bruno Haible  <bruno@clisp.org>
79774
79775         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
79776
79777 2006-07-29  Bruno Haible  <bruno@clisp.org>
79778
79779         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
79780
79781 2006-07-29  Bruno Haible  <bruno@clisp.org>
79782
79783         * gnulib-tool (import, update): If there is no Makefile.am, look at
79784         aclocal.m4, instead of bailing out.
79785
79786 2006-07-29  Bruno Haible  <bruno@clisp.org>
79787
79788         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
79789         Categorize the options by when they are useful.
79790
79791 2006-07-29  Bruno Haible  <bruno@clisp.org>
79792
79793         * gnulib-tool (func_usage): Document option --no-libtool.
79794         Handle option --no-libtool.
79795         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
79796         for changed semantics of $libtool variable.
79797         (func_import): Likewise. If libtool is not used, show this through
79798         an option --no-libtool.
79799         (func_create_testdir): Update.
79800
79801 2006-07-29  Bruno Haible  <bruno@clisp.org>
79802
79803         * gnulib-tool (func_import): Extend error message about missing
79804         --doc-base.
79805
79806 2006-07-29  Bruno Haible  <bruno@clisp.org>
79807
79808         * gnulib-tool (func_import): Don't create the $docbase directory if
79809         there is no file to store there.
79810
79811 2006-07-29  Bruno Haible  <bruno@clisp.org>
79812
79813         * gnulib-tool (autoconf_minversion): If a --dir option is given and
79814         relevant, look for configure.ac there, not in the current directory.
79815         Also use a simple search for AC_PREREQ, not "autoconf --trace".
79816
79817 2006-07-29  Bruno Haible  <bruno@clisp.org>
79818
79819         * gnulib-tool (SORT): New variable.
79820         (func_usage): Undocument --assume-autoconf option.
79821         Remove --assume-autoconf option handling.
79822         (autoconf_minversion): Determine from the contents of configure.ac.
79823         (func_import): Remove autoconf_minversion handling.
79824         Suggested by Eric Blake.
79825
79826 2006-07-29  Bruno Haible  <bruno@clisp.org>
79827
79828         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
79829
79830 2006-07-29  Bruno Haible  <bruno@clisp.org>
79831
79832         * config/srclist.txt (*setenv.[ch]): Remove rules.
79833
79834 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79835
79836         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
79837
79838 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79839
79840         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
79841         arpa/inet.h.
79842
79843 2006-07-28  Simon Josefsson  <jas@extundo.com>
79844
79845         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
79846         * modules/inet_pton (Depends-on): Likewise.
79847
79848 2006-07-28  Simon Josefsson  <jas@extundo.com>
79849
79850         * m4/netinet_in_h.m4: New file.
79851
79852 2006-07-28  Simon Josefsson  <jas@extundo.com>
79853
79854         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
79855         #include's.
79856
79857 2006-07-28  Simon Josefsson  <jas@extundo.com>
79858
79859         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
79860         #include's.
79861
79862 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
79863
79864         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
79865         setgid on directories only if they set these bits.
79866         * lib/modechange.h: Remove obsolete comment about masks.
79867
79868 2006-07-28  Eric Blake  <ebb9@byu.net>
79869
79870         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
79871         macro expansion.
79872
79873 2006-07-28  Bruno Haible  <bruno@clisp.org>
79874
79875         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
79876
79877 2006-07-28  Bruno Haible  <bruno@clisp.org>
79878
79879         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
79880
79881 2006-07-28  Bruno Haible  <bruno@clisp.org>
79882
79883         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
79884         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
79885         Define fallbacks.
79886         Avoids link error on FreeBSD 4.x.
79887         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79888
79889         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
79890         encoding.
79891         * lib/mbswidth.c (iswcntrl): Likewise.
79892
79893 2006-07-27  Bruno Haible  <bruno@clisp.org>
79894
79895         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
79896         test.
79897
79898 2006-07-27  Bruno Haible  <bruno@clisp.org>
79899
79900         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
79901         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
79902         defined.
79903
79904 2006-07-26  Eric Blake  <ebb9@byu.net>
79905
79906         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
79907
79908 2006-07-26  Eric Blake  <ebb9@byu.net>
79909
79910         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
79911         like mingw that lack mkstemp.
79912         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
79913         avoid compilation warning on mingw.
79914
79915 2006-07-26  Bruno Haible  <bruno@clisp.org>
79916
79917         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
79918         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
79919         INT_FAST*_MIN, INTPTR_MIN.
79920
79921 2006-07-25  Bruno Haible  <bruno@clisp.org>
79922
79923         * modules/version-etc (Depends-on): Add stdarg.
79924
79925 2006-07-25  Bruno Haible  <bruno@clisp.org>
79926
79927         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
79928         complex commands.
79929
79930 2006-07-25  Bruno Haible  <bruno@clisp.org>
79931
79932         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
79933         defined in <stdarg.h> or config.h.
79934
79935 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79936
79937         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
79938         (gl_STDIO_SAFER): Remove.
79939
79940 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79941
79942         * MODULES.html.sh (File stream based Input/Output):
79943         Add fopen-safer, tmpfile-safer; remove stdio-safer.
79944         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
79945         * modules/fopen-safer, modules/tmpfile-safer: New files.
79946         * modules/stdio-safer: Remove.
79947
79948 2006-07-24  Bruno Haible  <bruno@clisp.org>
79949
79950         * modules/tmpdir: New file.
79951         * MODULES.html.sh (File system functions): Add it.
79952
79953 2006-07-24  Bruno Haible  <bruno@clisp.org>
79954
79955         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
79956         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
79957
79958 2006-07-24  Bruno Haible  <bruno@clisp.org>
79959
79960         * modules/clean-temp: New file.
79961
79962 2006-07-24  Bruno Haible  <bruno@clisp.org>
79963
79964         * m4/tmpdir.m4: New file, from GNU gettext.
79965
79966 2006-07-24  Bruno Haible  <bruno@clisp.org>
79967
79968         * lib/tmpdir.h: New file, from GNU gettext.
79969         * lib/tmpdir.c: New file, from GNU gettext.
79970
79971 2006-07-24  Bruno Haible  <bruno@clisp.org>
79972
79973         * lib/clean-temp.h: New file, from GNU gettext.
79974         * lib/clean-temp.c: New file, from GNU gettext.
79975
79976 2006-07-23  Eric Blake  <ebb9@byu.net>
79977
79978         * modules/stdio-safer (Files): Add tmpfile-safer.c.
79979         (Depends-on): Add binary-io.
79980
79981 2006-07-23  Eric Blake  <ebb9@byu.net>
79982
79983         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
79984
79985 2006-07-23  Eric Blake  <ebb9@byu.net>
79986
79987         * lib/tmpfile-safer.c: New file.
79988         * lib/stdio-safer.h (fopen_safer): Add prototype.
79989         * lib/stdio--.h (tmpfile): Make safer.
79990
79991 2006-07-23  Bruno Haible  <bruno@clisp.org>
79992
79993         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
79994         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
79995         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
79996         gl_linked_remove_at): Use it.
79997
79998 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79999         and Simon Josefsson <jas@extundo.com>
80000
80001         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
80002
80003         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
80004
80005 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80006
80007         * modules/close-stream: New file.
80008         * modules/closeout (Description): Make it clear that it exits
80009         with a diagnostic on error.
80010         (Depends-on): Add close-stream.  Remove fpending, stdbool.
80011         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
80012
80013 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80014
80015         * m4/close-stream.m4: New file.
80016
80017 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80018
80019         * lib/close-stream.c, lib/close-stream.h: New files.
80020
80021 2006-07-22  Bruno Haible  <bruno@clisp.org>
80022
80023         Merge from GNU gettext 0.15.
80024
80025         2006-05-01  Bruno Haible  <bruno@clisp.org>
80026
80027                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
80028
80029         2006-07-22  Bruno Haible  <bruno@clisp.org>
80030
80031                 * modules/javaversion: New file.
80032                 * MODULES.html.sh (Java): Add javaversion.
80033
80034         2006-03-12  Bruno Haible  <bruno@clisp.org>
80035
80036                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
80037
80038         2005-12-04  Bruno Haible  <bruno@clisp.org>
80039
80040                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
80041                 (untested).
80042
80043         2006-06-21  Bruno Haible  <bruno@clisp.org>
80044
80045                 Avoid warnings from recent versions of mcs.
80046                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
80047                 -o, -L, -r any more. Use options documented since mcs-1.0
80048                 instead. Similarly for -g.
80049
80050         2005-12-04  Bruno Haible  <bruno@clisp.org>
80051
80052                 * build-aux/csharpcomp.sh.in: Suffix for resources is
80053                 .resources, not .resource.
80054
80055         2005-07-09  Bruno Haible  <bruno@clisp.org>
80056
80057                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
80058                 add a .dll suffix.
80059                 Reported by Mark Junker <mjscod@gmx.de>.
80060
80061         2006-07-22  Bruno Haible  <bruno@clisp.org>
80062
80063                 * modules/gettext: Upgrade to gettext-0.15.
80064                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
80065                 m4/visibility.m4.
80066                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
80067
80068 2006-07-22  Bruno Haible  <bruno@clisp.org>
80069
80070         Merge from GNU gettext 0.15.
80071
80072         2006-03-25  Bruno Haible  <bruno@clisp.org>
80073
80074                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
80075
80076         2006-07-21  Bruno Haible  <bruno@clisp.org>
80077
80078                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
80079                 "1.1".
80080
80081         2006-05-09  Bruno Haible  <bruno@clisp.org>
80082
80083                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
80084                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
80085                 for the conftestver execution.
80086
80087         2006-05-01  Bruno Haible  <bruno@clisp.org>
80088
80089                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
80090                 optional target-version argument. Verify that the compiler
80091                 groks source of the specified source-version, or add -source
80092                 option as necessary. Verify that the compiler produces
80093                 bytecode in the specified target-version, or add -target and
80094                 -source options as necessary. Make the result of the test
80095                 available as variable CONF_JAVAC. Also log error output in
80096                 config.log.
80097
80098         2006-03-11  Bruno Haible  <bruno@clisp.org>
80099
80100                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
80101
80102         2006-05-09  Bruno Haible  <bruno@clisp.org>
80103
80104                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
80105                 CLASSPATH_SEPARATOR to a semicolon.
80106
80107         2006-03-12  Bruno Haible  <bruno@clisp.org>
80108
80109                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
80110                 available as variable CONF_JAVA, for subsequent autoconf
80111                 tests. Also log error output in config.log.
80112
80113         2006-07-19  Bruno Haible  <bruno@clisp.org>
80114
80115                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
80116                 that getline works on glibc2 systems. Needed to avoid trouble
80117                 in relocatable.c.
80118                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
80119
80120         2005-12-04  Bruno Haible  <bruno@clisp.org>
80121
80122                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
80123                 launcher (untested).
80124
80125         2005-12-04  Bruno Haible  <bruno@clisp.org>
80126
80127                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
80128
80129         2006-07-22  Bruno Haible  <bruno@clisp.org>
80130
80131                 * gettext.m4: Update from GNU gettext-0.15.
80132                 * nls.m4: Likewise.
80133                 * po.m4: Likewise.
80134                 * inttypes-pri.m4: Likewise.
80135                 * inttypes-h.m4: Renamed from inttypes.m4.
80136                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
80137
80138 2006-07-22  Bruno Haible  <bruno@clisp.org>
80139
80140         Merge from GNU gettext 0.15.
80141
80142         2005-07-05  Bruno Haible  <bruno@clisp.org>
80143
80144                 * printf-args.c (printf_fetchargs): Work around broken
80145                 definition of wint_t on mingw.
80146
80147         2005-02-12  Bruno Haible  <bruno@clisp.org>
80148
80149                 * xallocsa.h: Add extern "C" for C++.
80150
80151         2006-05-17  Bruno Haible  <bruno@clisp.org>
80152
80153                 Cygwin portability.
80154                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
80155
80156         2006-04-30  Bruno Haible  <bruno@clisp.org>
80157
80158                 * progreloc.c: Include <mach-o/dyld.h> if available.
80159                 (find_executable): Use _NSGetExecutablePath when possible.
80160
80161         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
80162
80163                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
80164                 function.
80165
80166         2005-12-29  Bruno Haible  <bruno@clisp.org>
80167
80168                 * progreloc.c (set_program_name_and_installdir): Fix
80169                 compilation error.
80170
80171         2005-12-04  Bruno Haible  <bruno@clisp.org>
80172
80173                 Cygwin portability.
80174                 * progreloc.c: Include <windows.h> also on Cygwin.
80175                 (find_executable): Add support for Cygwin.
80176                 (set_program_name_and_installdir): Handle also platforms with
80177                 nonempty EXEEXT.
80178
80179         2006-07-11  Bruno Haible  <bruno@clisp.org>
80180
80181                 * javacomp.c: Fix a comment.
80182                 Reported by Jim Meyering.
80183
80184         2006-04-30  Bruno Haible  <bruno@clisp.org>
80185
80186                 * javacomp.h (compile_java_class): Add source_version,
80187                 target_version arguments.
80188                 * javacomp.c: Rewritten to choose only a compiler that
80189                 respects the specified source_version and target_version.
80190
80191         2006-06-27  Bruno Haible  <bruno@clisp.org>
80192
80193                 Assume correct S_ISDIR macro.
80194                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
80195
80196         2006-07-22  Bruno Haible  <bruno@clisp.org>
80197
80198                 * javaversion.h: New file, from GNU gettext.
80199                 * javaversion.c: New file, from GNU gettext.
80200                 * javaversion.java: New file, from GNU gettext.
80201                 * javaversion.class: New file, from GNU gettext.
80202
80203         2006-05-17  Bruno Haible  <bruno@clisp.org>
80204
80205                 Cygwin portability.
80206                 * javaexec.c (execute_java_class): Test for jview program
80207                 also on Cygwin.
80208
80209         2006-04-09  Bruno Haible  <bruno@clisp.org>
80210
80211                 * fatal-signal.c: Don't include string.h.
80212                 (at_fatal_signal): Use a copying loop instead of memcpy.
80213
80214         2005-12-04  Bruno Haible  <bruno@clisp.org>
80215
80216                 * csharpexec.c: Add support for 'clix' launcher (untested).
80217                 (execute_csharp_using_sscli): New function.
80218                 (execute_csharp_program): Call it.
80219
80220         2006-06-21  Bruno Haible  <bruno@clisp.org>
80221
80222                 Avoid warnings from recent versions of mcs.
80223                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
80224                 -o, -L, -r any more. Use options documented since mcs-1.0
80225                 instead. Similarly for -g.
80226
80227         2005-07-09  Bruno Haible  <bruno@clisp.org>
80228
80229                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
80230                 add a .dll suffix.
80231                 Reported by Mark Junker <mjscod@gmx.de>.
80232
80233         2006-06-17  Bruno Haible  <bruno@clisp.org>
80234
80235                 * config.charset: Update for NetBSD 3.0.
80236
80237         2006-05-17  Bruno Haible  <bruno@clisp.org>
80238
80239                 Cygwin portability.
80240                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
80241
80242         2006-05-16  Bruno Haible  <bruno@clisp.org>
80243
80244                 * localcharset.c [CYGWIN]: Include <windows.h>.
80245                 (get_charset_aliases): For Cygwin, return the same CPxxx
80246                 aliases list as under WIN32.
80247                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
80248                 the environment variables. Fall back to GetACP().
80249
80250         2006-04-05  Bruno Haible  <bruno@clisp.org>
80251
80252                 * config.charset: Update Juan Manuel Guerrero's address.
80253
80254         2005-02-12  Bruno Haible  <bruno@clisp.org>
80255
80256                 * allocsa.h: Add extern "C" for C++.
80257
80258         2005-02-10  Bruno Haible  <bruno@clisp.org>
80259
80260                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
80261                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
80262
80263         2006-07-22  Bruno Haible  <bruno@clisp.org>
80264
80265                 * gettext.h: Update to GNU gettext-0.15.
80266
80267 2006-07-22  Bruno Haible  <bruno@clisp.org>
80268
80269         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
80270         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
80271         lib-prefix.m4, longdouble.m4, ssize_t.m4.
80272
80273 2006-07-21  Eric Blake  <ebb9@byu.net>
80274
80275         * modules/stdlib-safer: New file.
80276         * MODULES.html.sh (File stream based Input/Output): Add
80277         stdlib-safer.
80278
80279 2006-07-21  Eric Blake  <ebb9@byu.net>
80280
80281         * lib/stdlib-safer.h: New file from coreutils, required by
80282         stdlib--.h.
80283
80284 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
80285
80286         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
80287
80288 2006-07-20  Bruno Haible  <bruno@clisp.org>
80289
80290         * gnulib-tool: Recognize new option --assume-autoconf.
80291         (autoconf_minversion): New variable.
80292         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
80293
80294 2006-07-20  Bruno Haible  <bruno@clisp.org>
80295
80296         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
80297
80298 2006-07-19  Derek R. Price  <derek@ximbiot.com>
80299
80300         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
80301         Reindent and repaginate.
80302
80303 2006-07-19  Derek Price  <derek@ximbiot.com>
80304
80305         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
80306         Correct grammar.
80307
80308 2006-07-17  Bruno Haible  <bruno@clisp.org>
80309
80310         * modules/list: New file.
80311         * modules/array-list: New file.
80312         * modules/carray-list, modules/carray-list-tests: New files.
80313         * modules/linked-list, modules/linked-list-tests: New files.
80314         * modules/avltree-list, modules/avltree-list-tests: New files.
80315         * modules/rbtree-list, modules/rbtree-list-tests: New files.
80316         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
80317         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
80318         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
80319         * modules/oset: New file.
80320         * modules/array-oset: New file.
80321         * modules/avltree-oset, modules/avltree-oset-tests: New files.
80322         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
80323         * tests/test-carray_list.c: New file.
80324         * tests/test-linked_list.c: New file.
80325         * tests/test-avltree_list.c: New file.
80326         * tests/test-rbtree_list.c: New file.
80327         * tests/test-linkedhash_list.c: New file.
80328         * tests/test-avltreehash_list.c: New file.
80329         * tests/test-rbtreehash_list.c: New file.
80330         * tests/test-avltree_oset.c: New file.
80331         * tests/test-rbtree_oset.c: New file.
80332         * MODULES.html.sh (Container data structures): New section.
80333
80334 2006-07-17  Bruno Haible  <bruno@clisp.org>
80335
80336         * m4/gl_list.m4: New file.
80337
80338 2006-07-17  Bruno Haible  <bruno@clisp.org>
80339
80340         * lib/gl_list.h: New file.
80341         * lib/gl_list.c: New file.
80342         * lib/gl_array_list.h: New file.
80343         * lib/gl_array_list.c: New file.
80344         * lib/gl_carray_list.h: New file.
80345         * lib/gl_carray_list.c: New file.
80346         * lib/gl_linked_list.h: New file.
80347         * lib/gl_linked_list.c: New file.
80348         * lib/gl_anylinked_list1.h: New file.
80349         * lib/gl_anylinked_list2.h: New file.
80350         * lib/gl_avltree_list.h: New file.
80351         * lib/gl_avltree_list.c: New file.
80352         * lib/gl_anyavltree_list1.h: New file.
80353         * lib/gl_anyavltree_list2.h: New file.
80354         * lib/gl_rbtree_list.h: New file.
80355         * lib/gl_rbtree_list.c: New file.
80356         * lib/gl_anyrbtree_list1.h: New file.
80357         * lib/gl_anyrbtree_list2.h: New file.
80358         * lib/gl_anytree_list1.h: New file.
80359         * lib/gl_anytree_list2.h: New file.
80360         * lib/gl_linkedhash_list.h: New file.
80361         * lib/gl_linkedhash_list.c: New file.
80362         * lib/gl_anyhash_list1.h: New file.
80363         * lib/gl_anyhash_list2.h: New file.
80364         * lib/gl_avltreehash_list.h: New file.
80365         * lib/gl_avltreehash_list.c: New file.
80366         * lib/gl_rbtreehash_list.h: New file.
80367         * lib/gl_rbtreehash_list.c: New file.
80368         * lib/gl_anytreehash_list1.h: New file.
80369         * lib/gl_anytreehash_list2.h: New file.
80370
80371         * lib/gl_oset.h: New file.
80372         * lib/gl_oset.c: New file.
80373         * lib/gl_array_oset.h: New file.
80374         * lib/gl_array_oset.c: New file.
80375         * lib/gl_avltree_oset.h: New file.
80376         * lib/gl_avltree_oset.c: New file.
80377         * lib/gl_rbtree_oset.h: New file.
80378         * lib/gl_rbtree_oset.c: New file.
80379         * lib/gl_anytree_oset.h: New file.
80380
80381 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80382
80383         * m4/mkancesdirs.m4: New file.
80384         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
80385         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
80386         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
80387         it.
80388
80389 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80390
80391         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
80392         * lib/mkancesdirs.h: New files.
80393         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
80394         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
80395         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
80396         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
80397         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
80398         callers changed.  Revamp internals significantly, by not
80399         attempting to create directories that are temporarily more
80400         permissive than the final results.  Do not attempt to use
80401         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
80402         This removes some race conditions, fixes some bugs, and simplifies
80403         things.  Use new dirchownmod function to do owner and mode changes.
80404         * lib/mkdir-p.h: Likewise.
80405         * lib/modechange.c (octal_to_mode): New function.
80406         (struct mode_change): New member mentioned.
80407         (make_node_op_equals): New arg mentioned.  All callers changed.
80408         (mode_compile): Keep track of which mode bits the user has explicitly
80409         mentioned.
80410         (mode_adjust): New arg DIR, so that we implement the X op correctly.
80411         New arg PMODE_BITS, to keep track of which mode bits the user
80412         mentioned; it treats S_ISUID and S_ISGID speciall.
80413         All callers changed.
80414         * lib/modechange.h: Likewise.
80415
80416 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80417
80418         * MODULES.html.sh: Add mkancestors.
80419         * modules/mkancesdirs: New module.
80420         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
80421         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
80422         The chdir-safer and afs files are now orphans; I'll remove them
80423         unless someone speaks up.
80424         Add lib/dirchownmod.c, lib/dirchownmod.h.
80425         (Depends-on): Remove alloca, chown, save-cwd, dirname.
80426         Add lchown, mkancesdirs.
80427         (Maintainer): Add self.
80428
80429 2006-07-15  Karl Berry  <karl@gnu.org>
80430
80431         * gnulib-tool: help message wording/arrangement.
80432
80433 2006-07-14  Simon Josefsson  <jas@extundo.com>
80434
80435         * doc/gnulib.texi (Libtool and Windows): New section.
80436
80437 2006-07-12  Simon Josefsson  <jas@extundo.com>
80438
80439         * modules/gendocs (License): Fix license, approved by Karl.
80440
80441 2006-07-12  Eric Blake  <ebb9@byu.net>
80442
80443         * MODULES.html.sh: Add gendocs.
80444
80445 2006-07-11  Eric Blake  <ebb9@byu.net>
80446
80447         * modules/fdl: New module, to install doc/fdl.texi.
80448         * MODULES.html.sh: Add new section for documentation modules.
80449         * gnulib-tool: Avoid space-tab.
80450         (--doc-base): New option, to manage files from doc.
80451
80452 2006-07-11  Eric Blake  <ebb9@byu.net>
80453
80454         * m4/absolute-header.m4: Fix comments to match recent change.
80455
80456 2006-07-11  Eric Blake  <ebb9@byu.net>
80457
80458         * gnulib-tool: List --doc-base before --tests-base.
80459
80460 2006-07-11  Derek R. Price  <derek@ximbiot.com>
80461
80462         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
80463
80464 2006-07-11  Bruno Haible  <bruno@clisp.org>
80465
80466         * README: Mention where to put documentation.
80467
80468 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80469
80470         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
80471
80472 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80473
80474         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
80475         to stdint.m4.
80476
80477 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80478
80479         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
80480         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
80481         "no/such/file/stdint.h" when there is no such file, so that
80482         the resulting C code can be parsed by dodgy compilers.
80483         Problems reported by Bob Proulx.
80484
80485 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80486
80487         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
80488         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80489         macros into the GNU _D_EXACT_NAMLEN.
80490         * lib/savedir.c:  Likewise.
80491         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
80492
80493 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80494         and Paul Eggert  <eggert@cs.ucla.edu>
80495
80496         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
80497         * m4/savedir.m4:
80498         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80499         macros into the GNU _D_EXACT_NAMLEN.
80500
80501 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80502
80503         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
80504         around the absolute name, to work around a problem with the HP-UX
80505         11.23 native C compiler, reported by Bob Proulx.
80506
80507 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80508
80509         * doc/maintain.texi, make-stds.texi: Sync from
80510         <http://savannah.gnu.org/projects/gnustandards>.
80511
80512 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80513
80514         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
80515
80516 2006-07-09  Jim Meyering  <jim@meyering.net>
80517
80518         * m4/glob.m4: Remove a doubled word in a comment.
80519
80520 2006-07-09  Jim Meyering  <jim@meyering.net>
80521
80522         * lib/argp-pv.c: Remove a doubled word in a comment.
80523         * lib/check-version.c (check_version): Likewise.
80524         * lib/javacomp.c (compile_java_class): Likewise.
80525
80526 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80527
80528         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
80529         for the benefit of people using Autoconf 2.60.  If you want to
80530         support older Autoconf versions you can copy m4/onceonly_2_57.m4
80531         (or m4/onceonly.m4, if pre-2.57) manually.
80532
80533 2006-07-08  Jim Meyering  <jim@meyering.net>
80534
80535         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
80536         comment.
80537         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
80538         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
80539         comment.
80540
80541 2006-07-08  Jim Meyering  <jim@meyering.net>
80542
80543         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
80544
80545 2006-07-07  Simon Josefsson  <jas@extundo.com>
80546
80547         * tests/test-crc.c: Change expected crc value, the test vector
80548         were probably computed using the old broken crc.c?
80549
80550 2006-07-06  Simon Josefsson  <jas@extundo.com>
80551
80552         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
80553         now the canonical place for the M4 file).
80554
80555         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
80556         from the sys_socket dependency now.
80557
80558         * modules/inet_pton (Files): Ditto.
80559
80560         * modules/inet_ntop (Files): Ditto.
80561
80562 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80563
80564         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
80565         not gl_PREREQ_GETUSERSHELL.
80566
80567 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80568
80569         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
80570         with only one argument, for Autoconf 2.60.
80571         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
80572         expand to nothing, so add a shell command to avoid syntax error.
80573         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
80574
80575 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80576
80577         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
80578
80579 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80580
80581         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
80582         no longer needed.  Check for isblank decl.
80583         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
80584         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
80585         of existence.
80586
80587 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80588
80589         * lib/getloadavg.c: Use __VMS, not VMS.
80590         * lib/getopt.c: Likewise.
80591         * lib/getpagesize.h: Likewise.
80592         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
80593         and probably does not work.
80594
80595 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80596
80597         * lib/.cppi-disable: Add wcwidth.
80598         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
80599         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
80600         (ISGRAPH): Remove.  All uses changed to isgraph.
80601         (FOLD) [!defined _LIBC]: Remove special case.
80602         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
80603         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
80604         HAVE_ISBLANK.
80605         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
80606         case.
80607
80608 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
80609
80610         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
80611         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
80612         brackets.  Other minor changes to suppress some compiler
80613         warnings.
80614
80615 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80616         and Paul Eggert  <eggert@cs.ucla.edu>
80617
80618         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
80619         of invoking obsolescent AC_HEADER_DIRENT macro.
80620         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
80621         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
80622         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
80623         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
80624         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
80625         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80626         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
80627         * m4/readdir.m4: Remove; no longer needed.
80628
80629 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80630         and Paul Eggert  <eggert@cs.ucla.edu>
80631
80632         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
80633         Don't worry about this obsolete case any more.
80634         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
80635         directories.
80636         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
80637         worry about this obsolete case any more.
80638         * lib/fts.c: Likewise.
80639         * lib/getcwd.c: Likewise.
80640         * lib/glob.h: Likewise.
80641         * lib/savedir.c: Likewise.
80642
80643 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80644
80645         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
80646         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
80647         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
80648         needed.
80649         All uses removed.
80650         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80651         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80652         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
80653         needed.
80654         * m4/getdate.m4 (gl_GETDATE): Likewise.
80655         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80656         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80657         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80658         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80659         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80660         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80661         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
80662         needed.
80663
80664 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80665
80666         * lib/memcasecmp.c: Include <limits.h>.
80667         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
80668         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
80669         Don't assume isdigit succeeds only on '0' through '9'.
80670
80671 2006-07-05  Eric Blake  <ebb9@byu.net>
80672
80673         * modules/getaddrinfo (Depends-on): Add snprintf.
80674
80675 2006-07-05  Eric Blake  <ebb9@byu.net>
80676
80677         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
80678         to avoid 'header present but could not be compiled' on cygwin.
80679
80680 2006-07-05  Eric Blake  <ebb9@byu.net>
80681
80682         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
80683         missing from netdb.h.
80684         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
80685
80686 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80687
80688         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
80689         no longer needed.
80690         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
80691         * m4/getdate.m4 (gl_GETDATE): Likewise.
80692         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80693         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80694         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80695         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80696         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80697
80698 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80699
80700         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
80701         All uses of is_space replaced by isspace.
80702         * lib/exit.h: Don't talk about STDC_HEADERS.
80703         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
80704         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
80705         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
80706         replaced by isprint etc.
80707         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
80708         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80709         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
80710         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
80711         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
80712         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80713
80714 2006-07-05  Bruno Haible  <bruno@clisp.org>
80715
80716         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
80717         the function exists, before testing against AIX.
80718         Reported by Martin Lambers <marlam@marlam.de>.
80719
80720 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80721
80722         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
80723         From Mark D. Baushke.
80724
80725 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80726
80727         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
80728         to the absolute name, not just one, to bypass Sun C 5.8's
80729         "warning: #include of /usr/include/... may be non-portable".
80730
80731 2006-07-04  Eric Blake  <ebb9@byu.net>
80732
80733         * modules/dirname-tests: New test module.
80734         * tests/test-dirname.c: New file, replacing dirname.c
80735         TEST_DIRNAME section that was recently deleted.
80736
80737 2006-07-04  Bruno Haible  <bruno@clisp.org>
80738
80739         Assume ANSI C header files and <ctype.h> functions.
80740         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
80741         (mbsnwidth): Use isprint, iscntrl instead.
80742
80743 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80744
80745         Merge from coreutils.
80746         * MODULES.html.sh: Add xstrtold.
80747         * modules/xstrtold: New file.
80748         * modules/cycle-check (Files): Add lib/same-inode.h.
80749         * modules/dirname (Files): Add m4/double-slash-root.m4.
80750         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
80751         * modules/mkdir-p (Files): Add lib/same-inode.h.
80752         * modules/same (Files): Add lib/same-inode.h.
80753
80754 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80755
80756         * m4/absolute-header.m4: Renamed from full-header-path.m4.
80757         This is to keep the terminology clean; POSIX talks about
80758         "absolute pathnames", not "full pathnames", but the GNU
80759         Coding Standards say to use "path" for something else;
80760         so use "absolute" to keep both sides happy.
80761         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
80762         Set gl_absolute_header, not gl_full_header_path.
80763         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
80764         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
80765         All uses changed.
80766
80767         Merge from coreutils.
80768
80769         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80770
80771         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
80772         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
80773         want to require the building of c-strtod.o.
80774         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
80775         needs -lm directly.
80776         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
80777
80778         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
80779
80780         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
80781         --as-needed option if available.  Problem reported by Albert Chin in
80782         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
80783         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
80784         cc merely issues a bunch of annoying warnings for --as-needed
80785         (this problem was reported by Bob Proulx).  Also, try linking with
80786         -lm to detect a bug in binutils 2.16 (this problem was reported
80787         by Ralf Wildenhues).
80788
80789         2006-06-18  Jim Meyering  <jim@meyering.net>
80790
80791         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
80792         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
80793         macro.
80794         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
80795         also check for glibc-2.4's abort-inducing bug.
80796
80797         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
80798         Low-probability clean-up should be to use rmdir to get rid of
80799         the just-created directory, not unlink.
80800
80801         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
80802         configure fail, and request a bug report to inform us about it.
80803         Add a comment that, barring reports to the contrary, in 2007 we'll
80804         assume ftruncate is universally available.
80805
80806         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80807
80808         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
80809
80810         2006-03-12  Jim Meyering  <jim@meyering.net>
80811
80812         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
80813         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
80814         * m4/same.m4 (gl_SAME): Likewise.
80815         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
80816
80817         2006-03-11  Eric Blake  <ebb9@byu.net>
80818
80819         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
80820         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
80821         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
80822         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
80823
80824 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80825
80826         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
80827         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
80828         reported by Mark D. Baushke, one in
80829         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
80830
80831         Merge from coreutils.
80832
80833         * lib/.cppi-disable: Add stdint_.h.
80834         * lib/.cvsignore: Add stdint.h.
80835
80836         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80837
80838         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
80839         both double and long double versions.
80840         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
80841         * lib/xstrtold.c: New file.
80842         * lib/xstrtod.h (xstrtold): New decl.
80843
80844         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
80845
80846         * lib/filemode.c (setst): Remove.
80847         (strmode): Rewrite to avoid setst.  This makes the code shorter,
80848         (arguably) clearer, and the generated code is a bit smaller on my
80849         Debian GNU/Linux stable x86 host.
80850
80851         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80852
80853         * lib/filemode.c: Include "filemode.h" first, to test the interface.
80854         Assume that filemode.h includes sys/types.h and sys/stat.h.
80855         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
80856         (ftypelet): Reorder to put common cases first, for efficiency.
80857         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
80858         to do 'M'.
80859         (strmode): Renamed from mode_string, and now stores 12 bytes instead
80860         of 10, for compatibility with FreeBSD.  All callers changed.
80861         (filemodestring): Now stores 12 bytes instead of 10, and sets file
80862         types that can't be deduced solely from st_mode.  First arg is now a
80863         const pointer.
80864         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
80865         (strmode): Renamed from mode_string.
80866         (filemodestring): New decl.
80867         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
80868         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
80869         needed.
80870         (S_ISPORT, S_ISWHT): New macros, if not already defined.
80871
80872         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
80873
80874         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
80875         fsusage.h now does that.  Include fsusage.h first, to test interface.
80876         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
80877         at most one method (the old code could have generated decls that
80878         didn't conform to C89, not that this was ever exercised).
80879         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
80880
80881         2006-03-19  Jim Meyering  <jim@meyering.net>
80882
80883         Work even in a chroot where d_ino values for entries in "/"
80884         don't match the stat.st_ino values for the same names.
80885         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
80886         number, iterate through all entries again, using lstat instead.
80887         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
80888         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
80889
80890         * lib/getcwd.c (__getcwd): Clarify a comment.
80891         Use memcpy in place of a call to strcpy.
80892
80893         2006-03-12  Jim Meyering  <jim@meyering.net>
80894
80895         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
80896         matches that of the current directory (which we're about to chdir ".."
80897         out of), then save the dev-ino of the parent, instead.
80898
80899         * lib/same-inode.h (SAME_INODE): New file/macro.
80900         * lib/chdir-safer.c (SAME_INODE): Remove definition.
80901         Include "same-inode.h", instead.
80902         * lib/same.c: Likewise.
80903         * lib/cycle-check.h: Include "same-inode.h".
80904         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
80905         * lib/cycle-check.c (SAME_INODE): Remove definition.
80906         * lib/root-dev-ino.h: Include "same-inode.h".
80907
80908         2006-03-11  Eric Blake  <ebb9@byu.net>
80909
80910         * lib/same.c (same_name): s/base_name/last_component/
80911         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
80912         * lib/filenamecat.c (file_name_concat): Likewise.
80913
80914         2006-03-11  Eric Blake  <ebb9@byu.net>,
80915                     Paul Eggert  <eggert@cs.ucla.edu>
80916
80917         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
80918         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
80919         drive prefix.
80920         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
80921         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
80922         (last_component): New method.
80923         * lib/dirname.c (dir_len): Determine when drive letters need a
80924         subsequent slash.  Preserve // when it is special.
80925         (dir_name): Don't append dot when drive letter is absolute.
80926         [TEST_DIRNAME]: Move into a full-blown gnulib test.
80927         * lib/basename.c (base_name): New semantics - malloc the result.
80928         Preserve // when it is special.  Preserve relative files that look
80929         like drive letters.
80930         (base_len): Preserve // when it is special.
80931         (last_component): New method, similar to old base_name semantics.
80932         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
80933         base_name.  Strip redundant slashes from ///.
80934
80935 2006-07-03  Jim Meyering  <jim@meyering.net>
80936
80937         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
80938         macro is used before the first cycle_check call.
80939
80940 2006-07-03  Eric Blake  <ebb9@byu.net>
80941
80942         * modules/dirname (Depends-on): Add xstrndup.
80943
80944 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80945
80946         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
80947         test cases, so that config.log is a bit easier to follow.
80948
80949 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80950
80951         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
80952         both are 64 bits, since this seems to be the tradition, and this
80953         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
80954         we ever run into a host that prefers long long to long in this
80955         case, we'll need another configure-time test.  Problem reported by
80956         Jim Meyering.
80957
80958 2006-07-02  Eric Blake  <ebb9@byu.net>
80959
80960         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
80961
80962 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80963
80964         * modules/inttypes (Depends-on): No longer depends on stdint.
80965         * modules/stdint (Description): Say more about assumptions.
80966         Say that the fast types might differ.  Say macros are used.
80967         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
80968         (Makefile.am): Revise list of substituted symbols to match
80969         new stdint.m4.
80970         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
80971         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
80972         * tests/test-stdint.c (verify_same_types)
80973         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
80974         the code conforms to C99/C89.
80975         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
80976         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
80977
80978 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80979
80980         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
80981         but fix a bug, by requiring at least 64 bits.
80982         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
80983         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
80984         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
80985         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
80986
80987         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
80988         changes.  Make 2.59 a prerequisite.  Check and substitute for
80989         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
80990         inttypes.h.  Do not use special include files; just use the
80991         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
80992         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
80993         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
80994         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
80995         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
80996         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
80997         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
80998         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
80999         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
81000         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
81001         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
81002         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
81003         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
81004         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
81005         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
81006         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
81007         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
81008         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
81009         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
81010         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
81011         WINT_MAX.  Check for C99 conformance more strictly, by detecting
81012         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
81013         not check for things that C99 does not require, e.g., int8_t.  If
81014         a test isn't needed unless <stdint.h> isn't working, and is
81015         unlikely to be needed for any other reason, then don't do it
81016         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
81017         size_t, since we assume C89 freestanding at least.  Do not check
81018         for sig_atomic_t, wchar_t, or wint_t, since the code now does
81019         the right thing even if the types are not defined.  Instead use:
81020         (gl_STDINT_TYPE_PROPERTIES): New macro.
81021         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
81022         testing whether <sys/types.h> clashes, as Autoconf does this for
81023         us now.  All uses removed.
81024         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
81025         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
81026         (gl_CHECK_TYPE_SAME):
81027         Remove; no longer needed.
81028         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
81029         exists, since we'll return 0 anyway in that case.
81030         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
81031
81032 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81033
81034         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
81035         possible collision with system files.
81036         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
81037         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
81038         WCHAR_MIN and WCHAR_MAX in this case.
81039         (<stddef.h>): Do not include; no longer needed.
81040         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
81041         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
81042         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
81043         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
81044         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
81045         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
81046         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
81047         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
81048         !defined(__c99))]: Include in this case too, since it's harmless
81049         now.
81050         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
81051         dangerous to do so.
81052         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
81053         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
81054         (_STDINT_MIN, _STDINT_MAX): New macros.
81055         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
81056         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
81057         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
81058         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
81059         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
81060         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
81061         macros, not typedefs; this simplifies things quite a bit.
81062         Use long int for all types narrower than int64_t.
81063         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
81064         Define in terms of long long int or int64_t or long int,
81065         not int64_t or int32_t.  This saves some compile-time testing.
81066         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
81067         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
81068         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
81069         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
81070         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
81071         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
81072         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
81073         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
81074         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
81075         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
81076         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81077         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81078         undef any previous version and define our own version, for
81079         simplicity and consistency with the new macros for types.
81080         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81081         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81082         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
81083         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
81084         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
81085         @WINT_T_SUFFIX@ to keep things simple here.
81086         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
81087         Simplify by assuming typical 8/16/32/64 host, since we're
81088         already doing that elsewhere anyway.
81089         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
81090         and assume long long int is 64 bits if available.  This
81091         speeds up 'configure'.
81092
81093 2006-07-01  Eric Blake  <ebb9@byu.net>
81094
81095         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
81096         Reported by Andreas Buening.
81097
81098 2006-07-01  Eric Blake  <ebb9@byu.net>
81099
81100         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
81101
81102 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
81103
81104         * lib/getaddrinfo.c: fixed typo
81105
81106 2006-06-29  Jim Meyering  <jim@meyering.net>
81107
81108         * modules/strftime (Maintainer): Add my name, since with the
81109         FPRINTFTIME changes strftime.c has forked from glibc.
81110
81111 2006-06-29  Eric Blake  <ebb9@byu.net>
81112
81113         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
81114
81115 2006-06-29  Eric Blake  <ebb9@byu.net>
81116
81117         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
81118
81119 2006-06-29  Eric Blake  <ebb9@byu.net>
81120
81121         * lib/stat_.h: New file.
81122
81123 2006-06-29  Eric Blake  <ebb9@byu.net>
81124
81125         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
81126         unused static function.
81127
81128 2006-06-29  Eric Blake  <ebb9@byu.net>
81129
81130         * doc/functions.texi (Function Portability): Document missing lstat
81131         on mingw.
81132
81133 2006-06-29  Eric Blake  <ebb9@byu.net>
81134
81135         * MODULES.html.sh: Add sys_stat.
81136         * modules/sys_stat: New module.
81137         * modules/mkstemp (Depends-on): Add sys_stat.
81138
81139 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81140
81141         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
81142
81143 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81144
81145         * m4/c-bs-a.m4: Removed.
81146
81147 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81148
81149         * lib/strftime.c: Assume strftime() exists.
81150
81151 2006-06-29  Derek Price  <derek@ximbiot.com>
81152
81153         * modules/c-bs-a: Removed - \a is C89.
81154         * MODULES.html.sh: Remove c-bs-a.
81155
81156 2006-06-29  Bruno Haible  <bruno@clisp.org>
81157
81158         * modules/wcwidth (License): Change to LGPL.
81159
81160 2006-06-28  Simon Josefsson  <jas@extundo.com>
81161
81162         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
81163         on _WIN32.
81164
81165         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
81166         getnameinfo.
81167
81168 2006-06-28  Simon Josefsson  <jas@extundo.com>
81169
81170         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
81171
81172 2006-06-28  Simon Josefsson  <jas@extundo.com>
81173
81174         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
81175         functions there.  It will succeed on Windows XP, but on Windows
81176         2000 and (presumably) earlier, it will fail, and use the internal
81177         re-implementation.
81178         (use_win32_p): New function.
81179         (getaddrinfo): Use strtoul on servname, to support numeric ports.
81180         Support AI_NUMERICSERV to disable getservbyname.
81181         (getnameinfo): New function, only supports
81182         NI_NUMERICHOST|NI_NUMERICSERV for now.
81183
81184         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
81185         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
81186         getnameinfo.
81187
81188 2006-06-28  Eric Blake  <ebb9@byu.net>
81189
81190         * modules/wcwidth: New file.
81191         * modules/mbchar (Depends-on): Add wcwidth.
81192         * modules/mbswidth (Depends-on): Add wcwidth.
81193         * MODULES.html.sh: Add wcwidth.
81194
81195 2006-06-28  Eric Blake  <ebb9@byu.net>
81196
81197         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
81198         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
81199
81200 2006-06-28  Eric Blake  <ebb9@byu.net>
81201
81202         * lib/xvasprintf.h: Fix comments.
81203
81204 2006-06-28  Eric Blake  <ebb9@byu.net>
81205
81206         * lib/mbchar.h (wcwidth): Include wcwidth.h.
81207         * lib/mbswidth.c (wcwidth): Move from here...
81208         * lib/wcwidth.h: ...to this new file.
81209
81210 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81211
81212         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
81213
81214         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
81215         it's obsolete.
81216         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
81217
81218 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81219
81220         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
81221         Autoconf 2.60 says this stuff was obsolete.
81222
81223 2006-06-28  Bruno Haible  <bruno@clisp.org>
81224
81225         * modules/wcwidth (Files): Add m4/wchar_t.m4.
81226
81227 2006-06-28  Bruno Haible  <bruno@clisp.org>
81228
81229         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
81230         gt_TYPE_WCHAR_T.
81231
81232 2006-06-28  Bruno Haible  <bruno@clisp.org>
81233
81234         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
81235         declaration for wcwidth.
81236         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
81237
81238 2006-06-28  Bruno Haible  <bruno@clisp.org>
81239
81240         * lib/mkdtemp.c [MINGW]: Include <io.h>.
81241         (mkdir): Define using _mkdir.
81242
81243 2006-06-28  Bruno Haible  <bruno@clisp.org>
81244
81245         * lib/getaddrinfo.h: Fix POSIX URL.
81246         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
81247         _WIN32.
81248         (use_win32_p): Make static.
81249         (getaddrinfo): Reject service name if it is empty or does not consist
81250         solely of decimal digits, or if its value is > 65535.
81251         (getnameinfo): Remove useless casts.
81252
81253 2006-06-27  Simon Josefsson  <jas@extundo.com>
81254
81255         * modules/sys_select: New file, suggested by Bruno Haible, Paul
81256         Eggert and Martin Lambers.
81257
81258 2006-06-27  Simon Josefsson  <jas@extundo.com>
81259
81260         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
81261         Eggert and Martin Lambers.
81262
81263 2006-06-27  Bruno Haible  <bruno@clisp.org>
81264
81265         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
81266         result to 0, not to empty.
81267         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
81268
81269 2006-06-27  Bruno Haible  <bruno@clisp.org>
81270
81271         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
81272
81273 2006-06-26  Simon Josefsson  <jas@extundo.com>
81274
81275         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
81276         present.
81277
81278 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
81279
81280         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
81281         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
81282         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
81283
81284 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
81285
81286         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
81287
81288 2006-06-26  Bruno Haible  <bruno@clisp.org>
81289
81290         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
81291
81292 2006-06-26  Bruno Haible  <bruno@clisp.org>
81293
81294         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
81295
81296 2006-06-26  Bruno Haible  <bruno@clisp.org>
81297
81298         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
81299         SGI C compiler in pre-C99 mode.
81300         Suggested by Mark D. Baushke and Larry Jones.
81301
81302 2006-06-26  Bruno Haible  <bruno@clisp.org>
81303
81304         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
81305         WCHAR_MAX.
81306         Reported by Mark D. Baushke and Larry Jones.
81307
81308 2006-06-26  Bruno Haible  <bruno@clisp.org>
81309
81310         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
81311         in pre-C99 mode.
81312         Suggested by Mark D. Baushke and Larry Jones.
81313
81314 2006-06-23  Simon Josefsson  <jas@extundo.com>
81315             Bruno Haible  <bruno@clisp.org>
81316
81317         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
81318         Emit mostlyclean-local rule.
81319         (func_emit_tests_Makefile_am): Likewise.
81320         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
81321
81322 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
81323
81324         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
81325
81326 2006-06-23  Bruno Haible  <bruno@clisp.org>
81327
81328         * tests/test-stdint.c: Update to match ISO C 99 Technical
81329         Corrigendum 1.
81330
81331 2006-06-23  Bruno Haible  <bruno@clisp.org>
81332
81333         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
81334
81335 2006-06-23  Bruno Haible  <bruno@clisp.org>
81336
81337         * lib/stdint_.h: Treat IRIX like OpenBSD.
81338
81339 2006-06-23  Bruno Haible  <bruno@clisp.org>
81340
81341         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
81342         ISO C 99 Technical Corrigendum 1.
81343
81344 2006-06-22  Simon Josefsson  <jas@extundo.com>
81345
81346         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
81347         MinGW.
81348
81349 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81350
81351         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
81352         needed.  Some compiler complained about some of them.  Problem reported
81353         by Larry Jones in
81354         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
81355
81356 2006-06-21  Simon Josefsson  <jas@extundo.com>
81357
81358         * tests/test-getaddrinfo.c: New file.
81359
81360         * modules/getaddrinfo-tests: New file.
81361
81362         * MODULES.html.sh: Add inet_pton.
81363
81364         * modules/inet_pton: New file.
81365
81366 2006-06-21  Simon Josefsson  <jas@extundo.com>
81367
81368         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
81369         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
81370         of using the (limited) gnulib implementation on Windows XP.
81371
81372         * m4/inet_pton.m4: New file.
81373
81374 2006-06-21  Simon Josefsson  <jas@extundo.com>
81375
81376         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
81377         variable.
81378
81379         * lib/socket_.h: Don't define WINVER.
81380
81381         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
81382         slightly modified to work in gnulib.
81383
81384 2006-06-21  Simon Josefsson  <jas@extundo.com>
81385
81386         * doc/gnulib.texi (Windows sockets): Add.
81387
81388 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
81389
81390         * lib/read-file.c (fread_file): Start with buffer allocation of
81391         0 bytes rather than 1 byte; this simplifies the code.
81392         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
81393         code to free buffer and save/restore errno.
81394         (internal_read_file): Remove unused local.
81395
81396 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
81397
81398         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
81399         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
81400         Problem reported by Denis Excoffier in
81401         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
81402
81403 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81404
81405         * modules/sys_socket, modules/socklen: Include sys/types since
81406         FreeBSD 4.x's sys/socket.h needs it.
81407
81408 2006-06-19  Simon Josefsson  <jas@extundo.com>
81409
81410         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
81411
81412 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81413
81414         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
81415
81416 2006-06-19  Bruno Haible  <bruno@clisp.org>
81417
81418         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
81419         and FULL_PATH_INTTYPES_H in angle brackets.
81420         Reported by Mark D. Baushke <mdb@gnu.org>.
81421
81422 2006-06-17  Eric Blake  <ebb9@byu.net>
81423
81424         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
81425         errno.
81426
81427 2006-06-17  Bruno Haible  <bruno@clisp.org>
81428
81429         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
81430         <sys/inttypes.h>.
81431
81432 2006-06-17  Bruno Haible  <bruno@clisp.org>
81433
81434         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
81435         whether errno is declared. Assume <errno.h> declares errno.
81436
81437 2006-06-17  Bruno Haible  <bruno@clisp.org>
81438
81439         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
81440
81441 2006-06-17  Bruno Haible  <bruno@clisp.org>
81442
81443         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
81444         problem on Solaris 2.5.1.
81445
81446 2006-06-16  Eric Blake  <ebb9@byu.net>
81447
81448         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
81449         * lib/unicodeio.c [!defined errno]: Likewise.
81450         * lib/strtol.c [!defined errno]: Likewise.
81451         * lib/strtod.c [!defined errno]: Likewise.
81452
81453 2006-06-15  Eric Blake  <ebb9@byu.net>
81454
81455         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
81456
81457 2006-06-15  Eric Blake  <ebb9@byu.net>
81458
81459         * config/srclist.txt (ssize_t.m4): Lose sync.
81460
81461 2006-06-15  Bruno Haible  <bruno@clisp.org>
81462
81463         * modules/stdint (Files): Include m4/full-header-path.m4,
81464         m4/size_max.m4, m4/wchar_t.m4.
81465         (Makefile.am): Many more substitutions.
81466         * modules/stdint-tests: New file.
81467         * tests/test-stdint.c: New file.
81468
81469 2006-06-15  Bruno Haible  <bruno@clisp.org>
81470
81471         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
81472         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
81473         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
81474         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
81475         gl_CHECK_TYPE_SAME): New macros.
81476
81477 2006-06-15  Bruno Haible  <bruno@clisp.org>
81478
81479         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
81480
81481 2006-06-15  Bruno Haible  <bruno@clisp.org>
81482
81483         * lib/stdint_.h: Rewritten to be fully auto-configured.
81484         Fixes bug on HP-UX/IA64.
81485
81486 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
81487
81488         * lib/getdate.y (__attribute__): Don't define if already defined.
81489         Problem reported by Larry Jones.
81490         * lib/utimens.c (__attribute__): Likewise.
81491
81492 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
81493
81494         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
81495         reported by Andreas Schwab.
81496
81497 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81498             Bruno Haible  <bruno@clisp.org>
81499
81500         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
81501         check for the declaration of strnlen and a run test that exposes the
81502         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
81503         rpl_strndup.
81504
81505 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81506             Bruno Haible  <bruno@clisp.org>
81507
81508         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
81509
81510 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81511
81512         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
81513         compile test, for Tru64 4.0D.
81514
81515 2006-05-28  Karl Berry  <karl@gnu.org>
81516
81517         * config/srclist.txt (printf-args.c): lose sync.
81518
81519 2006-05-26  Martin Lambers  <marlam@marlam.de>
81520
81521         * lib/getpass.c: Updates the test for the native W32 API, and adds
81522         missing includes, thus fixing compilation warnings.
81523
81524 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81525
81526         * lib/exclude.c (exclude_fnmatch): New function.
81527         (excluded_file_name): Call exclude_fnmatch.
81528         * lib/exclude.h (excluded_file_name): New prototype
81529
81530 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
81531
81532         * lib/tempname.c (small_open, large_open): New macros.
81533         (__open, __open64) [!_LIBC]: Remove.
81534         (__gen_tempname): Use small_open and large_open instead of __open
81535         and __open64.  This fixes a portability bug on HP-UX 11.11i
81536         reported by Simon Wing-Tang in
81537         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
81538
81539 2006-05-24  Bruno Haible  <bruno@clisp.org>
81540
81541         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
81542         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
81543         Reported by Thorsten Maerz <torte@netztorte.de> via
81544         Aaron Stone <aaron@serendipity.cx>.
81545
81546 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81547
81548         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
81549         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
81550         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
81551         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
81552         not really conditional on the cache.
81553         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
81554
81555 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81556
81557         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
81558         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
81559         (my_usleep): Don't mishandle maximum value.
81560
81561 2006-05-19  Jim Meyering  <jim@meyering.net>
81562
81563         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
81564
81565 2006-05-17  Bruno Haible  <bruno@clisp.org>
81566
81567         Cygwin portability.
81568         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
81569
81570 2006-05-17  Bruno Haible  <bruno@clisp.org>
81571
81572         * lib/stdint_.h: Fix recognition of Cygwin.
81573
81574 2006-05-15  Bruno Haible  <bruno@clisp.org>
81575
81576         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
81577         on libtool patch by Ralf Wildenhues.
81578
81579 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81580
81581         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
81582         test for C99 conformance; (bool) 0.5 is an integer constant
81583         expression, but (bool) -0.5 is not.  Problem reported by Fedor
81584         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
81585
81586 2006-05-11  Simon Josefsson  <jas@extundo.com>
81587
81588         * m4/xvasprintf.m4: Fix obvious typo.
81589
81590 2006-05-11  Jim Meyering  <jim@meyering.net>
81591
81592         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
81593         James Lemley.
81594
81595 2006-05-10  Simon Josefsson  <jas@extundo.com>
81596
81597         * lib/md4.c: Typo fix, update copyright years.
81598         (K1, K2): Don't use L because it turn computations into 64-bit on
81599         64-bit platforms.
81600
81601 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
81602
81603         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
81604         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
81605         unwanted sign propagation, e.g., on hosts with 64-bit int.
81606         There still are some problems with reeelly weird theoretical hosts
81607         (e.g., 33-bit int) but it's not worth worrying about now.
81608         * lib/sha1.c (rol): Likewise.
81609         (K1, K2, K3, K4): Remove unnecessary L suffix.
81610
81611 2006-05-10  Bruno Haible  <bruno@clisp.org>
81612
81613         * lib/des.c: Cast to avoid warnings.
81614
81615 2006-05-09  Bruno Haible  <bruno@clisp.org>
81616
81617         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
81618         (Depends-on): Depend also on xsize, stdarg.
81619         (configure.ac): Add gl_XVASPRINTF.
81620
81621 2006-05-09  Bruno Haible  <bruno@clisp.org>
81622
81623         * m4/xvasprintf.m4: New file.
81624
81625 2006-05-09  Bruno Haible  <bruno@clisp.org>
81626
81627         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
81628         (EOVERFLOW): Define fallback value.
81629         (xstrcat): New function.
81630         (xvasprintf): Recognize the special case of a string concatenation.
81631
81632 2006-05-08  Eric Blake  <ebb9@byu.net>
81633
81634         * gnulib-tool (func_version): Base copyright year on CVS date.
81635         (func_emit_copyright_notice): New function.
81636         (func_emit_lib_Makefile_am): Use it.
81637         (func_emit_tests_Makefile_am): Likewise.
81638         (func_import): Likewise.
81639
81640 2006-05-08  Bruno Haible  <bruno@clisp.org>
81641
81642         * modules/stdarg: New file.
81643         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
81644
81645 2006-05-08  Bruno Haible  <bruno@clisp.org>
81646
81647         * m4/stdarg.m4: New file, from GNU gettext.
81648
81649 2006-05-08  Bruno Haible  <bruno@clisp.org>
81650
81651         * config/srclist.txt (build-aux/config.rpath): different from latest
81652         release.
81653
81654 2006-05-08  Bruno Haible  <bruno@clisp.org>
81655
81656         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
81657
81658 2006-05-05  Jim Meyering  <jim@meyering.net>
81659
81660         * m4/warning.m4: New file, derived from bison's file by the same name.
81661
81662 2006-05-03  Bruno Haible  <bruno@clisp.org>
81663
81664         * lib/stdint_.h: Shorter URL.
81665         * lib/inttypes.h: Likewise.
81666
81667 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81668
81669         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
81670
81671 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81672
81673         * lib/verify.h: Document the internals better.  Most of this change
81674         was written by Bruno Haible.
81675
81676 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81677
81678         * doc/verify.texi: New file, partly based on a proposal by
81679         Bruno Haible.
81680
81681 2006-05-02  Bruno Haible  <bruno@clisp.org>
81682
81683         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
81684         test from here...
81685         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
81686
81687 2006-04-29  Bruno Haible  <bruno@clisp.org>
81688
81689         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
81690         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
81691
81692 2006-04-29  Bruno Haible  <bruno@clisp.org>
81693
81694         * gnulib-tool: Make --update option actually work.
81695
81696 2006-04-29  Bruno Haible  <bruno@clisp.org>
81697
81698         * doc/gcd.texi: New file.
81699         * doc/gnulib.texi: Include it.
81700
81701 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
81702
81703         * lib/getdate.y (get_date): When adding relative date, start with the
81704         initial time, not with the result of the first mktime call.
81705
81706 2006-04-25  Bruno Haible  <bruno@clisp.org>
81707
81708         * gnulib-tool (func_import): Output the include directives in three
81709         blocks, sorted separately.
81710         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81711
81712 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81713
81714         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
81715         to define main with arguments, for C++.  Reported by Eric Blake.
81716         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
81717         Prefer 'int main ()' to 'int main (void)', for C++.
81718         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
81719         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
81720         for 'main', for C99 and C++.
81721
81722 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81723
81724         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
81725         Don't assume that exit status -1 is valid.
81726         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
81727         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
81728         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
81729         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
81730         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
81731         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
81732         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
81733         functions can be used without declaring them, or that you can
81734         exit with status -1.
81735         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
81736
81737 2006-04-24  Karl Berry  <karl@gnu.org>
81738
81739         * config/srclist.txt (longdouble.m4): sync lost.
81740
81741 2006-04-24  Eric Blake  <ebb9@byu.net>
81742
81743         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
81744
81745 2006-04-24  Bruno Haible  <bruno@clisp.org>
81746
81747         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
81748         poll() implementation in AIX.
81749         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81750
81751 2006-04-24  Bruno Haible  <bruno@clisp.org>
81752
81753         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
81754         assigned exactly once.
81755
81756 2006-04-23  Claudio Fontana  <claudio@gnu.org>
81757             Bruno Haible  <bruno@clisp.org>
81758
81759         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
81760         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
81761         for AM_CPPFLAGS.
81762
81763 2006-04-23  Bruno Haible  <bruno@clisp.org>
81764
81765         * modules/copy-file: Depend on unistd.
81766         * modules/execute: Likewise.
81767         * modules/fatal-signal: Likewise.
81768         * modules/findprog: Likewise.
81769         * modules/mkdtemp : Likewise.
81770         * modules/pipe: Likewise.
81771         * modules/wait-process: Likewise.
81772
81773 2006-04-23  Bruno Haible  <bruno@clisp.org>
81774
81775         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
81776         condition was already detected.
81777         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81778
81779 2006-04-23  Bruno Haible  <bruno@clisp.org>
81780
81781         * lib/copy-file.c: Include <unistd.h> unconditionally.
81782         * lib/execute.c: Likewise.
81783         * lib/fatal-signal.c: Likewise.
81784         * lib/findprog.c: Likewise.
81785         * lib/mkdtemp.c: Likewise.
81786         * lib/pipe.h: Likewise.
81787         * lib/pipe.c: Likewise.
81788         * lib/wait-process.h: Likewise.
81789
81790 2006-04-23  Bruno Haible  <bruno@clisp.org>
81791
81792         * gnulib-tool (func_usage): Fix --import description. Document
81793         --update.
81794         (func_import): Create temporary file in a temporary directory, if
81795         --dry-run is specified. Silence errors from 'grep' when there are no
81796         m4 files in $m4dir.
81797         (func_create_testdir): Silence errors from 'grep' when there are no
81798         m4 files in $m4dir.
81799         Reported by Karl Berry <karl@freefriends.org>.
81800
81801 2006-04-20  Bruno Haible  <bruno@clisp.org>
81802
81803         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
81804         one argument, so that the code will be portable to Autoconf 2.60.
81805         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
81806         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
81807         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
81808
81809 2006-04-19  Derek Price  <derek@ximbiot.com>
81810             Eric Blake  <ebb9@byu.net>
81811
81812         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
81813         rather than "/full/path.h".  Update comment to match.  Shorten &
81814         generalize m4_translit call via AS_TR_CPP.
81815
81816 2006-04-19  Derek Price  <derek@ximbiot.com>
81817             Eric Blake  <ebb9@byu.net>
81818
81819         * lib/inttypes.h: Correct grammar in comment.
81820
81821 2006-04-18  Derek Price  <derek@ximbiot.com>
81822             Paul Eggert  <eggert@cs.ucla.edu>
81823
81824         * modules/inttypes: New file.
81825         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
81826
81827 2006-04-18  Derek Price  <derek@ximbiot.com>
81828             Paul Eggert  <eggert@cs.ucla.edu>
81829
81830         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
81831         New files.
81832
81833 2006-04-18  Derek Price  <derek@ximbiot.com>
81834             Paul Eggert  <eggert@cs.ucla.edu>
81835
81836         * lib/inttypes.h: New file.
81837         * lib/strtoimax.c: Assume <inttypes.h>.
81838
81839 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
81840
81841         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
81842         isn't mounted.  Problem reported by Kir Kolyshkin.
81843
81844 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81845
81846         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
81847         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
81848         Derek R. Price.
81849         * lib/regex.h (RE_DUP_MAX): Update comment to match current
81850         implementation.
81851
81852 2006-04-12  Eric Blake  <ebb9@byu.net>
81853
81854         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
81855         is now done automatically by the corresponding Autoconf macro.
81856
81857 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
81858
81859         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
81860         time_r.h.
81861
81862 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81863
81864         Merge regex changes from libc, removing some of our
81865         POSIX-conformance changes that were rejected and redoing them in a
81866         less-intrusive way.
81867
81868         * lib/regcomp.c (re_compile_internal, init_dfa):
81869         Length arg is now size_t, not Idx.  All uses changed.
81870         (peek_token): Forward decl now says internal_function.
81871         (__re_error_msgid, __re_error_msgid_idx):
81872         Now static rather than extern with attribute_hidden.
81873         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
81874         For some reason libc prefers K&R style defns for external functions.
81875         (regerror) [!defined _LIBC]: Likewise.
81876         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
81877         (seek_collating_symbol_entry, lookup_collation_sequence_value):
81878         (build_range_exp, build_collating_symbol):
81879         Use K&R-style defn.
81880         (re_compile_fastmap): Use '\0' to memset, not 0.
81881         (utf8_sb_map): Make the calculations more obvious.
81882         (init_dfa, parse_bracket_exp, build_charclass_op):
81883         Call calloc and cast result, as glibc does.
81884         (init_word_char, fetch_token, peek_token, peek_token_bracket):
81885         (build_range_exp, build_collating_symbol):
81886         Now internal functions.
81887
81888         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
81889
81890         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
81891         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
81892         Don't depend on VMS; depend on __VMS instead, for POSIX
81893         namespace cleanness.
81894         (regoff_t): Define to ssize_t, not long int.
81895
81896         Remove the REG_ macros named below.  Instead, make the old names
81897         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
81898         __USE_GNU_REGEX.
81899         (REG_BACKSLASH_ESCAPE_IN_LISTS):
81900         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
81901         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
81902         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
81903         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
81904         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
81905         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
81906         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
81907         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
81908         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
81909         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
81910         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
81911         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
81912         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
81913         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
81914         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
81915         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
81916         (REG_NREGS):
81917         Remove.  All uses replaced by the old RE_* names.
81918         (RE_BACKSLASH_ESCAPE_IN_LISTS):
81919         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
81920         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
81921         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
81922         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
81923         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
81924         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
81925         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
81926         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
81927         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
81928         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
81929         Don't bother having these macros be independent of each others'
81930         values, since they no longer exist in the POSIX name space.
81931
81932         Rename the following member names back to their old names,
81933         unless !__USE_GNU_REGEX.  All uses changed back.
81934         (buffer): Renamed from re_buffer.
81935         (allocated): Renamed from re_allocated.
81936         (used): Renamed from re_used.
81937         (syntax): Renamed from re_syntax.
81938         (fastmap): Renamed from re_fastmap.
81939         (translate): Renamed from re_translate.
81940         (can_be_null): Renamed from re_can_be_null.
81941         (regs_allocated): Renamed from re_regs_allocated.
81942         (fastmap_accurate): Renamed from re_fastmap_accurate.
81943         (no_sub): Renamed from re_no_sub.
81944         (not_bol): Renamed from re_not_bol.
81945         (not_eol): Renamed from re_not_eol.
81946         (newline_anchor): Renamed from re_newline_anchor.
81947         (num_regs): Renamed from rm_num_regs.
81948         (start): Renamed from rm_start.
81949         (end): Renamed from rm_end.
81950
81951         (free_state): Move up a bit.
81952
81953         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
81954         #define to be empty.
81955         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
81956         when that is what is intended.
81957         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
81958         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
81959         (MAX): New macro.
81960         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
81961         All uses changed back to re_malloc, etc.  It's now the caller's
81962         responsibility to check for overflow; all callers changed.
81963         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
81964         (re_x2nrealloc): Remove.
81965         (free_state): Remove decl.
81966
81967         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
81968         (re_set_registers, re_exec):
81969         Use K&R-style defn.
81970
81971         2006-01-31  Roland McGrath  <roland@redhat.com>
81972
81973         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
81974         Reported by Mike Frysinger <vapier@gentoo.org>.
81975
81976         2006-01-15  Andreas Jaeger  <aj@suse.de>
81977
81978         [BZ #1950]
81979         * lib/regex_internal.c (re_string_reconstruct): Adjust for
81980         build_wcs_upper_buffer change.
81981         (build_wcs_upper_buffer): Change return type.
81982
81983         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
81984
81985         * lib/regex_internal.h: Include <stdint.h> if available.
81986
81987         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
81988
81989         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
81990
81991         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
81992
81993         * lib/regcomp.c: Adjust for changed secondary hash function.
81994
81995         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
81996
81997         * lib/regex.h: Pretty printing.
81998         Clean up namespace a bit.
81999
82000         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
82001
82002         * lib/regexec.c (update_cur_sifted_state, check_arrival,
82003         check_arrival_add_next_nodes): Avoid using uninitialized variable.
82004
82005         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82006                     Ulrich Drepper  <drepper@redhat.com>
82007
82008         [BZ #1302]
82009         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
82010         changed.
82011         (bitset_word_t): Renamed from bitset_word.  All uses changed.
82012
82013         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
82014
82015         [BZ #281]
82016         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
82017         * lib/regcomp.c: Remove unnecessary uses of
82018         unsigned RE_TRANSLATE_TYPE.
82019         * lib/regex_internal.h: Likewise.
82020         * lib/regex_internal.c: Likewise.
82021         * lib/regexec.c: Likewise.
82022         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
82023
82024         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
82025
82026         * lib/regexec.c (find_recover_state): Remove unnecessary
82027         initialization.
82028         (transit_state_bkref): Make DFA a const pointer.
82029         (get_subexp): Likewise.
82030         (check_arrival): Likewise.
82031         (update_cur_sifted_state): Likewise.
82032         (re_search_internal): Likewise.
82033         (prune_impossible_nodes): Likewise.
82034         (acquire_init_state_context): Likewise.
82035         (proceed_next_node): Likewise.
82036         (set_regs): Likewise.
82037         (free_fail_stack_return): Likewise.
82038         (check_arrival_expand_ecl): Mark DFA parameter as const.
82039         (check_arrival_expand_ecl_sub): Likewise.
82040         (check_subexp_limits): Likewise.
82041         (sub_epsilon_src_nodes):  Likewise.
82042         (add_epsilon_src_nodes):  Likewise.
82043         (merge_state_array): Likewise.
82044         (update_regs): Likewise.
82045         (build_trtable): Likewise.
82046         (sift_states_backward): Mark MCTX parameter as const.
82047         (build_sifted_states): Likewise.
82048         (update_cur_sifted_state): Likewise.
82049         (sift_states_mkref): Likewise.
82050         (check_arrival_expand_ecl): Mark eclosure as const.
82051         (check_dst_limits_calc_pos_1): Likewise.
82052         * lib/regex_internal.h (re_match_context_t): Make dfa a const
82053         pointer.
82054
82055         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
82056
82057         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
82058         (transit_state_sb): Likewise.
82059         (transit_state_mb): Likewise.
82060         (sift_states_iter_mb): Likewise.
82061         (check_arrival_add_next_nodes): Likewise.
82062         (check_node_accept_bytes): Change first parameter to pointer-to-const.
82063         [_LIBC] (re_search_2_stub): Use mempcpy.
82064
82065         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
82066         mbrtowc for very simple UTF-8 case.
82067
82068         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
82069         a pointer-to-const.
82070         (re_acquire_state_context): Likewise.
82071         * lib/regex_internal.h: Adjust prototypes.
82072
82073         * lib/regex.c: Prevent using C++ compilers.
82074
82075         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
82076         (re_acquire_state_context): Likewise.
82077
82078 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82079
82080         * modules/regex (Depends-on): Add ssize_t.
82081
82082 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82083
82084         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
82085         translation table.
82086
82087 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82088
82089         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
82090
82091 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
82092             Bruno Haible  <bruno@clisp.org>
82093
82094         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
82095         <sys/types.h> and <inttypes.h>.
82096
82097 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82098
82099         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
82100         `__error_t_defined', so argp.h will not typedef the former.
82101
82102 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
82103
82104         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
82105         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
82106         glibc names.  Even if glibc is changed to conform to POSIX, the
82107         traditional names will be available anyway, since regex depends on
82108         the extensions module.  Also, fix a longstanding typo in the
82109         implementation of Spencer ERE test #75 from grep 2.3.  Problems
82110         reported by Emanuele Giaquinta.  Also, change sense of cached
82111         variable, so that the message makes sense.
82112
82113 2006-03-24  Simon Josefsson  <jas@extundo.com>
82114
82115         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
82116         including some doc fixes.
82117         (base64_encode_alloc): Fix +1 bug on allocation failures.
82118
82119 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82120
82121         * lib/base64.c (base64_encode): Do not read past end of array with
82122         unsanitized input on systems with CHAR_BIT > 8.
82123
82124 2006-03-24  Eric Blake  <ebb9@byu.net>
82125
82126         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
82127
82128 2006-03-22  Karl Berry  <karl@gnu.org>
82129
82130         * config/srclist.txt (*setenv.[ch]): get from coreutils.
82131         * config/srclistvars.sh (COREUTILS): new var.
82132
82133 2006-03-17  Jim Meyering  <jim@meyering.net>
82134
82135         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
82136         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
82137
82138 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82139
82140         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
82141         no longer needs it.  Instead, check that regoff_t is as least
82142         as wide as ptrdiff_t.
82143
82144         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
82145         so that our regex.h stays compatible with the installed regex.
82146         This is helpful for installers who configure --without-included-regex.
82147         Problem reported by Emanuele Giaquinta.
82148
82149 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82150
82151         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
82152         Typedef to long int, not to off_, as POSIX will likely change
82153         in that direction.
82154
82155 2006-03-15  Eric Blake  <ebb9@byu.net>
82156
82157         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
82158
82159 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82160
82161         * lib/argp-help.c (validate_uparams): Fix typo
82162         * lib/argp-parse.c (argp_default_options): Consistently begin help
82163         messages with a lowercase letter.
82164
82165 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
82166
82167         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
82168         overrun buffers and shouldn't be used (much as gets shouldn't be
82169         used).
82170         * lib/time_r.c (asctime_r, ctime_r): Likewise.
82171
82172 2006-03-08  Simon Josefsson  <jas@extundo.com>
82173
82174         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
82175         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82176
82177 2006-03-08  Simon Josefsson  <jas@extundo.com>
82178
82179         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
82180         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82181
82182 2006-03-08  Simon Josefsson  <jas@extundo.com>
82183
82184         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
82185         signal that configure disabled the device.
82186
82187 2006-03-08  Simon Josefsson  <jas@extundo.com>
82188
82189         * build-aux/maint.mk: Fix refresh-po, to handle no translated
82190         languages.
82191
82192 2006-03-07  Simon Josefsson  <jas@extundo.com>
82193
82194         * modules/getopt (Depends-on): Add unistd.
82195
82196         * modules/unistd: New file.
82197
82198 2006-03-07  Simon Josefsson  <jas@extundo.com>
82199
82200         * modules/gc-random: New file.
82201
82202 2006-03-07  Simon Josefsson  <jas@extundo.com>
82203
82204         * m4/unistd_h.m4: New file.
82205
82206 2006-03-07  Simon Josefsson  <jas@extundo.com>
82207
82208         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
82209         test to be side-effect free by storing the result in the cache
82210         variable gl_cv_lib_readline, and moving the assignment of
82211         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
82212         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82213
82214 2006-03-07  Simon Josefsson  <jas@extundo.com>
82215
82216         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
82217         error on missing devices (the functions will return an error).
82218
82219         * m4/gc.m4: Move random stuff to gc-random.m4
82220
82221 2006-03-07  Simon Josefsson  <jas@extundo.com>
82222
82223         * lib/unistd_.h: New file.
82224
82225 2006-03-07  Simon Josefsson  <jas@extundo.com>
82226
82227         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
82228
82229 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82230
82231         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
82232         Problem reported by Juan Manuel Guerrero.
82233
82234 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82235
82236         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
82237         the unistd module.
82238         * lib/getlogin_r.c: Likewise.
82239         * lib/getlogin_r.h: Likewise.
82240         * lib/glob.c: Likewise.
82241         * lib/pagealign_alloc.c: Likewise.
82242         * lib/unistd_.h: Remove; no longer needed.
82243
82244 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82245
82246         * MODULES.html.sh (Support for systems lacking POSIX:2001):
82247         Add unistd.
82248         * modules/c-stack (Depends-on): Add unistd.
82249         * modules/getlogin_r: Likewise.
82250         * modules/glob: Likewise.
82251         * modules/pagealign_alloc: Likewise.
82252         * modules/unistd (Files): Remove lib/unistd_.h.
82253         (EXTRA_DIST): Remove.
82254         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
82255         need unistd_.h.
82256         (MOSTLYCLEANFILES): Remove unistd.h-t.
82257
82258 2006-03-03  Simon Josefsson  <jas@extundo.com>
82259
82260         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
82261
82262 2006-03-03  Simon Josefsson  <jas@extundo.com>
82263
82264         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
82265         libidn and bison.
82266
82267 2006-03-03  Simon Josefsson  <jas@extundo.com>
82268
82269         * build-aux/maint.mk: Add indent target.
82270
82271 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
82272
82273         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
82274         our replacement poll.h in any case, to avoid a differing
82275         declaration from a system header.  Seen on AIX.
82276
82277 2006-03-01  Simon Josefsson  <jas@extundo.com>
82278
82279         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
82280         <kasal@ucw.cz>.
82281
82282 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82283
82284         * modules/gettime (Depends-on): Add extensions module.
82285         * modules/nanosleep (Depends-on): Likewise.
82286         * modules/settime (Depends-on): Likewise.
82287
82288 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82289
82290         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
82291         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
82292         pedantically.
82293         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82294         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
82295
82296         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
82297         not "==".  Reported by Ralf Wildenhues.
82298
82299 2006-03-01  Karl Berry  <karl@gnu.org>
82300
82301         * doc/Copyright/request-*: new files, synced from gnuorg.
82302
82303 2006-03-01  Karl Berry  <karl@gnu.org>
82304
82305         * config/srclist.txt (Copyright/*): new entries.
82306
82307 2006-02-28  Simon Josefsson  <jas@extundo.com>
82308
82309         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
82310
82311 2006-02-27  Simon Josefsson  <jas@extundo.com>
82312
82313         * lib/base64.h: Indent #define's.  From Jim Meyering
82314         <jim@meyering.net>.
82315
82316 2006-02-27  Jim Meyering  <jim@meyering.net>
82317
82318         Revert the change of 2006-02-24, so these files can continue
82319         to be sync'd from gettext.
82320         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
82321         of `config.h'.
82322
82323 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82324
82325         * modules/intprops: New file.
82326         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
82327         Add intprops.
82328         * modules/getloadavg (Files): Remove lib/intprops.h.
82329         (Depends-on): Add intprops.
82330         * modules/human: Likewise.
82331         * modules/inttostr: Likewise.
82332         * modules/openat: Likewise.
82333         * modules/sig2str: Likewise.
82334         * modules/userspec: Likewise.
82335         * modules/utimecmp: Likewise.
82336         * modules/xnanosleep: Likewise.
82337         * modules/xstrtol: Likewise.
82338
82339 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
82340
82341         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
82342         * modules/lock-tests (TESTS): Use $(EXEEXT).
82343         * modules/tls-tests: Likewise.
82344         * modules/argp-tests: Likewise.
82345         (check_PROGRAMS): New var, replacing...
82346         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
82347
82348 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82349
82350         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
82351         `config.h'.
82352
82353 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
82354
82355         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
82356
82357 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82358
82359         Sync from coreutils.
82360         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
82361         gl_CHDIR_SAFER.
82362
82363 2006-02-22  Jim Meyering  <jim@meyering.net>
82364
82365         Sync from coreutils.
82366         * m4/chdir-safer.m4: New file.
82367
82368 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
82369
82370         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
82371         AT_FDCWD exceeds INT_MAX.
82372         * lib/openat.h (AT_FDCWD): Likewise.
82373
82374 2006-02-17  Eric Blake  <address@hidden>
82375
82376         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
82377
82378 2006-02-16  Simon Josefsson  <jas@extundo.com>
82379
82380         * modules/getaddrinfo (Depends-on): Add sys_socket.
82381
82382 2006-02-15  Simon Josefsson  <jas@extundo.com>
82383
82384         * build-aux/maint.mk: Add dsyntax-check rule.
82385
82386 2006-02-15  Eric Blake  <ebb9@byu.net>
82387
82388         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
82389         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
82390         'present but cannot compile' warnings on cygwin.
82391         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
82392         use ws2tcpip.h if sys/socket.h works.
82393         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
82394         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
82395
82396 2006-02-14  Simon Josefsson  <jas@extundo.com>
82397
82398         * modules/maintainer-makefile (Files): Rename.
82399
82400         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
82401         and (the local) Makefile.cfg to maint-cfg.mk.
82402
82403         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
82404         to the latter.
82405
82406         * modules/maintainer-makefile: New module.
82407
82408         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
82409         severaly stripped to make it possible to build it up from scratch
82410         with reliable tests.
82411
82412         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
82413         fixes to permit overriding the default actions when configure and
82414         makefile are not available.
82415
82416 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
82417
82418         Sync from coreutils.
82419         * modules/lstat (Depends-on): Don't depend on xalloc.
82420         (License): Change from GPL to LGPL, since this is now simply a
82421         replacement for a libc function.
82422
82423 2006-02-14  Jim Meyering  <jim@meyering.net>
82424
82425         Sync from coreutils.
82426
82427         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
82428         failure on deficient systems, and simplify gnulib lgpl dependencies.
82429         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
82430         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
82431
82432         * lib/xalloc-die.c: Remove unused definition of N_.
82433
82434 2006-02-14  Jim Meyering  <jim@meyering.net>
82435
82436         Sync from coreutils.
82437         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
82438         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
82439         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
82440         double-quote uses of that variable, to accommodate the rare case in
82441         which getmntent is available in none of the libraries checked.  This
82442         happens at least on FreeBSD 5.0.
82443
82444 2006-02-13  Simon Josefsson  <jas@extundo.com>
82445
82446         * gnulib-tool (Usage): Fix --import, from
82447         karl@freefriends.org (Karl Berry).
82448
82449 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82450
82451         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
82452
82453 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
82454
82455         * lib/argp-namefrob.h: Restore changes accidentally lost during the
82456         "autoupdate" on 2005-12-12.
82457
82458 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82459
82460         * modules/closeout (Depends-on): Remove atexit.
82461
82462 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82463
82464         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
82465         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
82466
82467 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
82468
82469         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
82470         __EXTENSIONS__ if this causes compilation to fail.  Problem
82471         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
82472         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
82473
82474 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
82475
82476         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
82477         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
82478         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
82479         All uses changed.
82480
82481 2006-01-26  Simon Josefsson  <jas@extundo.com>
82482
82483         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
82484         prototype is visible on mingw32.
82485
82486         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
82487         for mingw32.
82488
82489         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
82490         mingw32).
82491
82492 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
82493
82494         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
82495         attempt to open for write; this always fails, at least on POSIX
82496         hosts.  This reinstates the 2006-01-09 change, which was
82497         inadvertently removed.
82498
82499 2006-01-26  Bruno Haible  <bruno@clisp.org>
82500
82501         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
82502         Reported by Paul Eggert.
82503
82504 2006-01-26  Bruno Haible  <bruno@clisp.org>
82505             Paul Eggert  <eggert@cs.ucla.edu>
82506
82507         * lib/stdbool_.h (_Bool)
82508         [(! (defined __cplusplus || defined __BEOS__)
82509           && !defined __GNUC__
82510           && !(defined __HP_cc || defined __xlc__
82511                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
82512                || defined __sgi))]:
82513         #define to signed char in these cases too; this simplifies
82514         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
82515         etc., separately) and makes it more conservative.
82516
82517 2006-01-25  Simon Josefsson  <jas@extundo.com>
82518
82519         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
82520         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
82521         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
82522
82523 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82524
82525         * lib/argp-namefrob.h: Bugfix. Remove stray #
82526
82527 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
82528
82529         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
82530         so that we test the test.
82531         Check for yet another HP-UX cc bug involving *bool |= bool.
82532
82533 2006-01-25  Karl Berry  <karl@gnu.org>
82534
82535         * config/srclist.txt (vasnprintf.c): sync lost.
82536
82537 2006-01-25  Jim Meyering  <jim@meyering.net>
82538
82539         Sync from the stable (b5) branch of coreutils:
82540
82541         * lib/fts.c (fts_children): Don't let close() clobber errno from
82542         failed fchdir().
82543
82544         * lib/fts.c (fts_stat): When following a symlink-to-directory,
82545         don't necessarily interpret stat-fails+lstat-succeeds as indicating
82546         a dangling symlink.  That can also happen at least for ELOOP.
82547         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
82548         FYI, this bug predates the inclusion of fts.c in coreutils.
82549
82550         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
82551         in their own block, so pre-c99 compilers don't object.
82552
82553         Avoid the double-free (first in fts_read, second in fts_close) that
82554         would occur when an `active' directory is made inaccessible (e.g.,
82555         via chmod a-x) during a traversal.
82556         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82557         before returning.  Reproduce this failure by
82558         mkdir -p a/b; cd a; chmod a-x . b
82559         Reported by Stavros Passas.
82560
82561 2006-01-25  Jim Meyering  <jim@meyering.net>
82562
82563         * lib/fileblocks.c: Remove more useless parentheses.
82564         * lib/readutmp.h: Likewise.
82565
82566 2006-01-25  Bruno Haible  <bruno@clisp.org>
82567
82568         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
82569         warnings.
82570         Reported by Paul Eggert.
82571
82572 2006-01-25  Bruno Haible  <bruno@clisp.org>
82573
82574         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
82575         rid of a trap command. For Solaris sh.
82576         Reported by Mark D. Baushke <mdb@gnu.org>.
82577
82578 2006-01-24  Simon Josefsson  <jas@extundo.com>
82579
82580         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
82581         Bruno.
82582
82583 2006-01-24  Karl Berry  <karl@gnu.org>
82584
82585         * config/srclist.txt (argp-namefrob.h): sync lost.
82586
82587 2006-01-24  Jim Meyering  <jim@meyering.net>
82588
82589         * modules/openat (Files): Add lib/intprops.h.
82590         From Mark D. Baushke.
82591
82592 2006-01-24  Jim Meyering  <jim@meyering.net>
82593
82594         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
82595         Reported by Mark D. Baushke.
82596
82597 2006-01-24  Jim Meyering  <jim@meyering.net>
82598
82599         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
82600
82601 2006-01-24  Bruno Haible  <bruno@clisp.org>
82602
82603         * modules/strnlen (Maintainer): Change from glibc to all.
82604
82605 2006-01-24  Bruno Haible  <bruno@clisp.org>
82606
82607         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
82608         Patch by Paul Eggert.
82609
82610 2006-01-24  Bruno Haible  <bruno@clisp.org>
82611
82612         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
82613         already has it.
82614         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
82615         2005-11-26.
82616
82617         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
82618         'signed char' to avoid problems with the built-in _Bool type.
82619         Reported by Paul Eggert on 2005-11-26.
82620
82621 2006-01-24  Bruno Haible  <bruno@clisp.org>
82622
82623         * gnulib-tool (func_import): Avoid constructing complicated sed
82624         expressions inside backquote.
82625         Report and solution by Mark D. Baushke <mdb@gnu.org>.
82626
82627 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
82628
82629         These changes imported from libc.
82630         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
82631         test and two separate function calls.
82632         * lib/strndup.c (__strndup): Add libc_hidden_def.
82633
82634 2006-01-23  Simon Josefsson  <jas@extundo.com>
82635
82636         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
82637         Remove the test_*_SOURCES variable: automake infers it by default.
82638         * modules/tls-tests: Likewise.
82639
82640 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82641
82642         Work around porting bugs reported by Dieter in
82643         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
82644         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
82645         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
82646         Include "getopt.h" first, to check interface.
82647         (getenv): Declare only if defined HAVE_DECL_GETENV &&
82648         !HAVE_DECL_GETENV.
82649         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
82650         (__strndup): Revert to K&R-style function dfns, the glibc style.
82651         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
82652         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
82653         Include strnlen.h first, to get prototype properly.
82654         (strnlen): Renamed from __strnlen.
82655         Remove weak alias.
82656
82657 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82658
82659         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
82660
82661 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82662
82663         * config/srclist.txt: Adjust to reflect glibc reorganization.
82664         This affects only comments.
82665
82666 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82667
82668          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
82669          Reported by Bruce Korb <bkorb@gnu.org>.
82670
82671 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
82672
82673         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
82674         to pacify gcc -Wswitch-default.
82675
82676 2006-01-22  Bruno Haible  <bruno@clisp.org>
82677
82678         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
82679         temporary buffer for sprintf, take into account the precision also
82680         for 'd', 'i', 'u', 'o', 'x', 'X'.
82681
82682 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82683
82684         * modules/argp-tests: New module
82685         * tests/test-argp.c: New file
82686         * tests/test-argp-2.sh: New file
82687
82688 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82689
82690         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
82691         (__argp_base_name): Removed
82692         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
82693         typo.
82694         (__argp_base_name): Provide macro definition or extern declaration
82695         depending on the configuration
82696
82697 2006-01-20  Simon Josefsson  <jas@extundo.com>
82698
82699         * modules/inet_ntop (Depends-on): Depend on sys_socket.
82700
82701 2006-01-20  Simon Josefsson  <jas@extundo.com>
82702
82703         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
82704
82705 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82706
82707         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
82708         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
82709         Suggested by Bruno Haible.
82710
82711 2006-01-20  Karl Berry  <karl@gnu.org>
82712
82713         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
82714         until changes propagate, I guess.
82715
82716 2006-01-19  Simon Josefsson  <jas@extundo.com>
82717
82718         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
82719
82720 2006-01-19  Simon Josefsson  <jas@extundo.com>
82721
82722         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
82723
82724 2006-01-19  Simon Josefsson  <jas@extundo.com>
82725
82726         * gnulib-tool: Set check_PROGRAMS.
82727
82728         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82729         modules/des-tests, modules/gc-arcfour-tests,
82730         modules/gc-arctwo-tests, modules/gc-des-tests,
82731         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82732         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82733         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82734         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82735         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82736         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
82737         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
82738         test_*_SOURCES.
82739
82740 2006-01-18  Simon Josefsson  <jas@extundo.com>
82741
82742         * modules/socklen (Depends-on): Depend on sys_socket.
82743
82744 2006-01-18  Simon Josefsson  <jas@extundo.com>
82745
82746         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82747         modules/des-tests, modules/gc-arcfour-tests,
82748         modules/gc-arctwo-tests, modules/gc-des-tests,
82749         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82750         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82751         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82752         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82753         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82754         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
82755         $(EXEEXT) to automake TESTS variable, for mingw32.
82756
82757 2006-01-17  Simon Josefsson  <jas@extundo.com>
82758
82759         * modules/socklen (Include): Need sys/socket.h.
82760
82761 2006-01-17  Bruno Haible  <bruno@clisp.org>
82762
82763         * modules/ssize_t (Include): Add <sys/types.h>.
82764
82765 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
82766
82767         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
82768         it's not portable and it doesn't work with cross-compiles.
82769         Problem reported by Bruno Haible.  Fix missing-$ typo in
82770         'test "gl_cv_ignore_unused_libraries" ...' that prevented
82771         -zignore from being used with Sun's C compiler.
82772
82773 2006-01-12  Simon Josefsson  <jas@extundo.com>
82774
82775         * lib/base64.c: Fix warning, reported by Bruno Haible
82776         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
82777
82778 2006-01-12  Bruno Haible  <bruno@clisp.org>
82779
82780         * modules/ldd: New file.
82781         * build-aux/ldd.sh.in: New file.
82782         * MODULES.html.sh (Support for building libraries and executables): Add
82783         ldd.
82784
82785 2006-01-12  Bruno Haible  <bruno@clisp.org>
82786
82787         * m4/ldd.m4: New file.
82788
82789 2006-01-12  Bruno Haible  <bruno@clisp.org>
82790
82791         * gnulib-tool (func_import, func_create_testdir): Don't go into an
82792         endless loop while replacing $auxdir with build-aux.
82793
82794 2006-01-11  Simon Josefsson  <jas@extundo.com>
82795
82796         * lib/stdint_.h (SIZE_MAX): Add missing (.
82797
82798 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
82799
82800         Sync from coreutils.
82801         * lib/md5.c: Fix commentary typos.
82802         (alignof, UNALIGNED_P): No need for a GCC-specific version.
82803         * lib/md5.h (__attribute__): Remove; unused.
82804         * lib/sha1.c: Fix commentary to match md5 better.
82805         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
82806         so that we don't need to worry about alignment.  All uses changed.
82807         This merges the 2005-10-28 md5 change into sha1.
82808
82809 2006-01-11  Jim Meyering  <jim@meyering.net>
82810
82811         Sync from coreutils.
82812         * lib/md5.c (OP): Fix spacing.
82813
82814 2006-01-11  Bruno Haible  <bruno@clisp.org>
82815
82816         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82817         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
82818         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
82819
82820 2006-01-11  Bruno Haible  <bruno@clisp.org>
82821
82822         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82823         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
82824         the "early" section as well.
82825
82826 2006-01-11  Bruno Haible  <bruno@clisp.org>
82827
82828         Avoid "ar: no archive members specified" error on MacOS X.
82829         * gnulib-tool (func_modules_add_dummy): New function.
82830         (func_import, func_create_testdir): Invoke it.
82831
82832 2006-01-11  Bruno Haible  <bruno@clisp.org>
82833
82834         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
82835         with $auxdir in AC_CONFIG_FILES statements.
82836
82837 2006-01-11  Bruno Haible  <bruno@clisp.org>
82838
82839         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
82840         Initialize also noinst_HEADERS to empty.
82841
82842 2006-01-11  Bruno Haible  <bruno@clisp.org>
82843
82844         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
82845         variables.
82846         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
82847         autoreconf.
82848
82849 2006-01-11  Bruno Haible  <bruno@clisp.org>
82850
82851         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
82852         overridable by the user.
82853         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82854
82855 2006-01-10  Simon Josefsson  <jas@extundo.com>
82856
82857         * modules/sys_socket: New file.
82858
82859 2006-01-10  Simon Josefsson  <jas@extundo.com>
82860
82861         * m4/sys_socket_h.m4: New file.
82862
82863 2006-01-10  Simon Josefsson  <jas@extundo.com>
82864
82865         * lib/socket_.h: New file.
82866
82867 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82868
82869         * modules/readutmp (Maintainer): Add myself.
82870
82871 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82872
82873         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
82874         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
82875         People who are still concerned with buggy memcmp implementations
82876         can invoke gl_FUNC_MEMCMP themselves.
82877
82878 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82879
82880         * lib/regex_internal.h (BITSET_WORD_BITS):
82881         Work around a bug in 64-bit PGC (before version 6.1-2), where the
82882         preprocessor mishandles large unsigned values as if they were signed.
82883         Problem reported by Claudio Fontana in
82884         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
82885
82886 2006-01-10  Jim Meyering  <jim@meyering.net>
82887
82888         Avoid the double-free (first in fts_read, second in fts_close) that
82889         would occur when an `active' directory is made inaccessible (e.g.,
82890         via chmod a-x) during a traversal.
82891         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82892         before returning.  Reproduce this failure by
82893         mkdir -p a/b; cd a; chmod a-x . b
82894         Reported by Stavros Passas.
82895
82896         Sync from coreutils.
82897         * lib/sha1.c: Tweak grammar in a comment.
82898
82899 2006-01-10  Jim Meyering  <jim@meyering.net>
82900
82901         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
82902         Patch by Joerg Sonnenberger.
82903
82904 2006-01-10  Bruno Haible  <bruno@clisp.org>
82905
82906         * modules/readutmp: Depend on module free.
82907         * modules/strtok_r: Depend on module restrict.
82908
82909 2006-01-10  Bruno Haible  <bruno@clisp.org>
82910
82911         * modules/gettext (configure.ac): Add an invocation of
82912         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
82913
82914 2006-01-10  Bruno Haible  <bruno@clisp.org>
82915
82916         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
82917         Reported by Werner Lemberg <wl@gnu.org>.
82918
82919 2006-01-10  Bruno Haible  <bruno@clisp.org>
82920
82921         * lib/localcharset.c: Update from GNU gettext.
82922
82923 2006-01-10  Bruno Haible  <bruno@clisp.org>
82924
82925         * lib/argp.h (__const): Remove macro. Use const instead.
82926         * lib/argp-fmtstream.h (__const): Likewise.
82927         * lib/glob_.h (__const): Remove macro.
82928         * lib/glob-libc.h: Use const instead of __const.
82929
82930 2006-01-10  Bruno Haible  <bruno@clisp.org>
82931
82932         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
82933         variable.
82934         Needed to avoid an automake error regarding the 'gettext' module.
82935
82936 2006-01-09  Simon Josefsson  <jas@extundo.com>
82937
82938         * modules/inet_ntop (Depends-on): Add restrict.
82939
82940 2006-01-09  Simon Josefsson  <jas@extundo.com>
82941
82942         * modules/gc-rijndael-tests (License): Put under LGPL.
82943
82944         * modules/gc-des-tests (License): Likewise.
82945
82946         * modules/gc-arcfour-tests (License): Likewise.
82947
82948         * modules/gc-arctwo-tests (License): Likewise.
82949
82950         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
82951
82952         * modules/gc-hmac-sha1-tests (Files): Likewise.
82953
82954         * modules/gc-hmac-md5-tests (License): Likewise.
82955
82956         * modules/gc-sha1-tests (License): Likewise.
82957
82958         * modules/gc-md5-tests (License): Likewise.
82959
82960         * modules/gc-md4-tests (License): Likewise.
82961
82962         * modules/gc-md2-tests (License): Likewise.
82963
82964         * modules/gc-tests (License): Likewise.
82965
82966         * modules/des-tests (License): Likewise.
82967
82968         * modules/md4-tests (License): Likewise.
82969
82970         * modules/md2-tests (License): Likewise.
82971
82972 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82973
82974         Sync from coreutils:
82975
82976         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
82977         * modules/lib-ignore: New file.
82978         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
82979         chdir-safer.m4, lchmod.m4.
82980         * modules/openat: Add mkdirat.c, openat-priv.h.
82981
82982 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82983
82984         Sync from coreutils.
82985         * m4/lib-ignore.m4: New file.
82986         * m4/lchmod.m4: New file.
82987
82988 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82989
82990         Sync from coreutils.
82991         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
82992         for write access: POSIX says that must fail.
82993         * lib/fts.c (diropen): Likewise.
82994         * lib/save-cwd.c (save_cwd): Likewise.
82995         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
82996         well, for minor improvements on hosts that lack O_DIRECTORY.
82997         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
82998         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
82999         Fall back on chown if open failed with EACCES.
83000
83001         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
83002         Report an error at compile-time if only a 1-second nominal clock
83003         resolution is found.
83004
83005         * lib/lchmod.h: New file.
83006         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
83007         (make_dir_parents): Use lchown rather than chown, and
83008         lchmod rather than chmod.
83009
83010         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
83011         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
83012         "proc" reported by n0dalus.
83013
83014         * lib/mountlist.c: Include <limits.h>.
83015         (dev_from_mount_options)
83016         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
83017         New function.  It no longer assumes "dev=" has the System V meaning
83018         on Linux (since it doesn't).  It also parses "dev=" more carefully.
83019         (read_file_system_list)
83020         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
83021         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
83022         dev= in that case.
83023
83024         * lib/posixtm.h (PDS_PRE_2000): New macro.
83025         * lib/posixtm.c (year): Arg is now syntax_bits rather than
83026         allow_century.  All usages changed.  Reject dates outside the range
83027         1969-1999 if PDS_PRE_2000 is used.
83028
83029 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83030
83031         Sync from coreutils.
83032         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
83033         (Time of day items): Mention the possibility of leap seconds.
83034         Problem reported by Dr. David Alan Gilbert.
83035
83036 2006-01-09  Jim Meyering  <jim@meyering.net>
83037
83038         Sync from coreutils.
83039
83040         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
83041
83042         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
83043
83044         * lib/modechange.c (mode_compile): Reject an invalid mode string
83045         that starts with an octal digit.  From Andreas Gruenbacher.
83046
83047         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
83048         and dup to open_safer and dup_safer, respectively.
83049         (openat_permissive): Fix typo in comment.
83050
83051         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
83052         "gettext.h"; either no longer needed or are guaranteed by openat.h.
83053         (_): Remove; no longer needed.
83054         (openat): Renamed from rpl_openat; no need for rpl_openat
83055         since openat.h renames openat for us.
83056         Replace most of the body with a call to openat_permissive,
83057         to avoid duplicate code.
83058         Port to (probably hypothetical) environments were mode_t is
83059         wider than int.
83060         (openat_permissive): Require mode arg, so that we can check
83061         types better.  Put it just after flags.  Change cwd failure
83062         indicator from pointer-to-bool to pointer-to-errno-value.
83063         All callers changed.
83064         Invoke openat_save_fail and/or openat_restore_fail if
83065         cwd_errno is null, so that openat can call us.
83066         (openat_permissive, fdopendir, fstatat, unlinkat):
83067         Simplify errno handling to avoid some duplicate code,
83068         as it's OK to set errno on success.
83069         * lib/openat.h: Revamp code so that function macros depend on
83070         __OPENAT_PREFIX only, not also on AT_FDCWD.
83071         (openat_ro): Remove.  Caller changed to use openat_permissive.
83072         (openat_permissive): Now a macro, if not a function.
83073         (openat_restore_fail, openat_save_fail): Now always functions,
83074         since mkdirat needs them even if __OPENAT_PREFIX is defined.
83075
83076         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
83077         and openat.c.
83078         * lib/mkdirat.c: Include openat-priv.h.
83079         Remove definitions of macros defined therein.
83080         * lib/openat.c: Likewise.
83081
83082         * lib/mkdirat.c (mkdirat): New file and function.
83083         * lib/openat.h (mkdirat): Declare.
83084
83085         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
83086
83087         * lib/openat.h (openat_permissive): Declare.
83088         (openat_ro): Define.
83089
83090         * lib/openat.c (EXPECTED_ERRNO): New macro.
83091         (openat_permissive): New function -- used in remove.c rewrite.
83092         (all functions): Set errno just before returning, only if there
83093         was an actual failure.
83094         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
83095
83096         Emulate openat-family functions using Linux's procfs, if possible.
83097         Idea and some code based on Ulrich Drepper's glibc changes.
83098
83099         * lib/openat.c: (BUILD_PROC_NAME): New macro.
83100         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
83101         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
83102         before falling back on save_cwd and restore_cwd.
83103         (fdopendir, fstatat, unlinkat): Likewise.
83104
83105         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
83106         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
83107
83108         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
83109         as second argument to va_arg.  Otherwise, some versions of gcc
83110         warn that `if this code is reached, the program will abort'.
83111
83112 2006-01-09  Jim Meyering  <jim@meyering.net>
83113
83114         Sync from coreutils.
83115         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
83116         Require openat-priv.h.
83117
83118 2006-01-09  Bruno Haible  <bruno@clisp.org>
83119
83120         * modules/strnlen (Include): Use strnlen.h.
83121
83122 2006-01-09  Bruno Haible  <bruno@clisp.org>
83123
83124         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
83125
83126 2006-01-09  Bruno Haible  <bruno@clisp.org>
83127
83128         * lib/sysexit_.h (EX_OK): New macro.
83129         Suggested by Martin Lambers <marlam@marlam.de>.
83130
83131 2006-01-09  Bruno Haible  <bruno@clisp.org>
83132
83133         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
83134         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
83135
83136 2006-01-09  Bruno Haible  <bruno@clisp.org>
83137
83138         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
83139         numbers.
83140
83141 2006-01-09  Bruno Haible  <bruno@clisp.org>
83142
83143         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
83144         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
83145         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
83146         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
83147
83148 2006-01-09  Bruno Haible  <bruno@clisp.org>
83149
83150         * build-aux/javacomp.sh.in: New file, moved from lib/.
83151         * modules/javacomp-script (Files): Update.
83152         (configure.ac): Add AC_CONFIG_FILES invocation.
83153         (EXTRA_DIST): Remove variable.
83154
83155         * build-aux/javaexec.sh.in: New file, moved from lib/.
83156         * modules/javaexec (Files): Update.
83157         (configure.ac): Add AC_CONFIG_FILES invocation.
83158         (EXTRA_DIST): Remove javaexec.sh.in.
83159
83160         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
83161         * modules/csharpcomp-script (Files): Update.
83162         (configure.ac): Add AC_CONFIG_FILES invocation.
83163         (EXTRA_DIST): Remove variable.
83164
83165         * build-aux/csharpexec.sh.in: New file, moved from lib/.
83166         * modules/csharpexec (Files): Update.
83167         (configure.ac): Add AC_CONFIG_FILES invocation.
83168         (EXTRA_DIST): Remove csharpexec.sh.in.
83169
83170 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83171
83172         Sync from coreutils.
83173
83174         Add POSIX ACL support
83175         * lib/acl.h (copy_acl, set_acl): Add declarations.
83176         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
83177         systems other than Linux.
83178         (chmod_or_fchmod): New function: use fchmod when possible,
83179         and chmod otherwise.
83180         (file_has_acl): Add a POSIX ACL implementation, with a
83181         Linux-specific subcase.
83182         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
83183         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
83184         acls are unsupported.
83185         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
83186         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
83187         are unsupported.
83188
83189 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83190
83191         Sync from coreutils.
83192         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
83193
83194 2006-01-07  Bruno Haible  <bruno@clisp.org>
83195
83196         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
83197         gl_EARLY.
83198
83199 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83200
83201         * lib/strftime.c (tzname): Don't declare if it is already #defined.
83202         Problem reported for Mingw by Mark Junker.
83203
83204 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83205
83206         * README: Gnulib normally doesn't generate a tarball.
83207
83208 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
83209
83210         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
83211         long int, not int, for nanosecond counts, so that people who are
83212         used to POSIX struct timespec won't be surprised.  Reported by Jim
83213         Meyering.
83214
83215 2005-12-28  Bruno Haible  <bruno@clisp.org>
83216
83217         * build-aux/config.rpath: Update from GNU gettext.
83218
83219 2005-12-16  Jim Meyering  <jim@meyering.net>
83220
83221         * modules/fprintftime: New module.
83222         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
83223
83224 2005-12-16  Jim Meyering  <jim@meyering.net>
83225
83226         * m4/fprintftime.m4: New file.
83227
83228 2005-12-16  Jim Meyering  <jim@meyering.net>
83229
83230         * lib/fprintftime.c, lib/fprintftime.h: New files.
83231
83232 2005-12-15  Simon Josefsson  <jas@extundo.com>
83233
83234         * modules/socklen (configure.ac): Fix M4 macro name, to align with
83235         new m4/socklen.m4.
83236
83237 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83238
83239         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
83240         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
83241
83242 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83243
83244         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
83245         * lib/argp-help.c (fill_in_uparams): Check if the constructed
83246         struct uparams is valid. Fall back to the default values if it is
83247         not.
83248
83249 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83250
83251         * modules/argp (Files): Add argp-pin.c
83252         (Depends-on): dirname
83253         (lib_SOURCES): Add argp-pin.c
83254
83255 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83256
83257         * m4/argp.m4:  Check if program_invocation_name and
83258         program_invocation_short_name are declared and define appropriate
83259         macros if they are not.
83260
83261 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83262
83263         * lib/argp-help.c (__argp_base_name): New function
83264         (__argp_short_program_name): Rewrite using __argp_base_name
83265         * lib/argp-namefrob.h: Define program_invocation_name and
83266         program_invocation_short_name if requested
83267         (__argp_base_name): Add prototype
83268         * lib/argp-parse.c (argp_def): Use gettext wrappers
83269         (argp_default_parser): Use __argp_base_name
83270         * lib/argp-pin.c: New file. Defines program_invocation_name and
83271         program_invocation_short_name on systems that lack them.
83272
83273 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83274
83275         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
83276         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83277         porting problem reported by Georg Schwarz in
83278         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83279
83280 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83281
83282         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
83283         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83284         porting problem reported by Georg Schwarz in
83285         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83286
83287 2005-12-05  Bruno Haible  <bruno@clisp.org>
83288
83289         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
83290         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
83291         Reported by Mark Junker <mjscod@gmx.de>.
83292
83293 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
83294
83295         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
83296         Use implementation from Albert Chin, with some
83297         comments/corrections by Stepan Kasal and myself.
83298
83299 2005-12-02  Bruno Haible  <bruno@clisp.org>
83300
83301         * gnulib-tool (func_import): Accept GPLed build tool modules when
83302         --lgpl is given.
83303         * modules/csharpcomp-script: New file.
83304         * modules/csharpcomp: Depend on it.
83305         * modules/javacomp-script: New file.
83306         * modules/javacomp: Depend on it.
83307         Suggested by Simon Josefsson.
83308
83309 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
83310
83311         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
83312         statement, to work around an HP-UX 10.20 compiler bug reported by
83313         Peter O'Gorman.
83314
83315 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83316
83317         * modules/savedir (Depends-on): Add openat.
83318
83319 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83320
83321         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
83322         (uintmax_t) [defined uintmax_t]: Do not declare.
83323         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
83324         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
83325         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
83326         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
83327         sake of portability to weird hosts that C allows (though we don't
83328         know of any practical examples).
83329
83330         * lib/savedir.h (fdsavedir): New decl.
83331         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
83332         contains most of the former guts of savedir.
83333         (savedir): Use savedirstream.
83334         Include "openat.h".
83335
83336 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83337
83338         * modules/obstack (Files): Add m4/ulonglong.m4.
83339         Problem reported by Davide Angelocola.
83340
83341 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
83342
83343         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
83344         coreutils no longer futzes with rounding modes.
83345
83346 2005-11-14  Jim Meyering  <jim@meyering.net>
83347
83348         * lib/mkstemp-safer.c: Include <config.h>, required for possible
83349         replacement of mkstemp.
83350
83351 2005-11-10  Simon Josefsson  <jas@extundo.com>
83352
83353         * lib/readline.c: Remove EOL.
83354
83355 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83356
83357         * modules/gethrxtime (Depends-on): Add gettime.
83358
83359 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83360
83361         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
83362         or gettimeofday; no longer needed.
83363
83364 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83365
83366         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
83367         time business.
83368         (gethrxtime) [! (HAVE_NANOUPTIME
83369         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
83370         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
83371         our own approximation.
83372
83373 2005-11-08  Eric Blake  <ebb9@byu.net>
83374
83375         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83376
83377 2005-11-08  Eric Blake  <ebb9@byu.net>
83378
83379         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83380
83381 2005-11-04  Bruno Haible  <bruno@clisp.org>
83382
83383         * gnulib-tool: Implement --update mode.
83384
83385 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83386
83387         Fix porting problem reported by Theodoros V. Kalamatianos.
83388         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
83389         Don't assume that futimes failing means we must fail.
83390
83391 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83392
83393         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
83394         variables to suggest the intended function of the PATH_MAX check.
83395
83396 2005-10-30  Kean Johnston  <jkj@sco.com>
83397
83398         Trivial changes to support SCO systems.
83399         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
83400         as PATH_MAX.
83401         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
83402         where __ptr is null when no I/O is pending.
83403
83404 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83405
83406         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
83407         leave errno alone.  Problem reported by Dmitry V. Levin.
83408
83409 2005-10-28  Simon Josefsson  <jas@extundo.com>
83410
83411         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
83412         Test more.
83413
83414         * tests/test-gc-md2.c, tests/test-md2.c: New files.
83415
83416         * modules/md2, modules/md2-tests: New files.
83417
83418 2005-10-28  Simon Josefsson  <jas@extundo.com>
83419
83420         * m4/inet_ntop.m4: More tests.
83421
83422         * m4/gc-md2.m4, md2.m4: New file.
83423
83424 2005-10-28  Simon Josefsson  <jas@extundo.com>
83425
83426         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
83427         "restrict" keywords, as per POSIX.  Protect the function
83428         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
83429         Don't use K&R prototypes.  Check the sprintf return values.
83430         Re-define EAFNOSUPPORT if not present.  Indent.
83431
83432         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
83433         suggested by Bruno Haible <bruno@clisp.org>.
83434
83435         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
83436
83437         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
83438
83439         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
83440         libgcrypt).
83441
83442         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
83443
83444         * lib/md2.h, lib/md2.c: New files.
83445
83446 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
83447
83448         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
83449         errno alone.  Problem reported by Frederic Jolliton.
83450
83451 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
83452
83453         * modules/verify (License): Change from GPL to LGPL.  This is a
83454         tiny module and there are apparently near-equivalents that are
83455         under the BSD license.
83456
83457 2005-10-24  Simon Josefsson  <jas@extundo.com>
83458
83459         * modules/sha1: Relicense to LGPL.
83460
83461 2005-10-24  Simon Josefsson  <jas@extundo.com>
83462
83463         * lib/md4.h: Shrink buffer size, now that we changed the type.
83464
83465 2005-10-23  Simon Josefsson  <jas@extundo.com>
83466
83467         * gnulib-tool (func_import): Fix --tests-base.
83468
83469 2005-10-22  Simon Josefsson  <jas@extundo.com>
83470
83471         * modules/arcfour (Depends-on): Need stdint.
83472
83473 2005-10-22  Simon Josefsson  <jas@extundo.com>
83474
83475         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
83476         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
83477
83478 2005-10-22  Simon Josefsson  <jas@extundo.com>
83479
83480         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
83481         suggested by Bruno Haible <bruno@clisp.org>.
83482
83483 2005-10-22  Simon Josefsson  <jas@extundo.com>
83484
83485         * lib/crc.h: Include stddef.h, for size_t.
83486
83487 2005-10-22  Simon Josefsson  <jas@extundo.com>
83488
83489         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
83490         arcfour_context struct (simplify test vector testing in GNU
83491         Shishi).
83492
83493 2005-10-21  Simon Josefsson  <jas@extundo.com>
83494
83495         * modules/des, modules/des-tests: New files.
83496
83497         * modules/gc-des, modules/gc-des-tests: New files.
83498
83499         * tests/test-des.c, tests/test-gc-des.c: New file.
83500
83501 2005-10-21  Simon Josefsson  <jas@extundo.com>
83502
83503         * modules/arctwo, modules/arctwo-tests: New files.
83504
83505         * tests/test-arctwo.c: New file.
83506
83507         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
83508
83509         * tests/test-gc-arctwo.c: New file.
83510
83511 2005-10-21  Simon Josefsson  <jas@extundo.com>
83512
83513         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
83514         Bruno Haible <bruno@clisp.org>.
83515
83516         * m4/gc-des.m4: New file.
83517
83518 2005-10-21  Simon Josefsson  <jas@extundo.com>
83519
83520         * m4/arctwo.m4: New file.
83521
83522         * m4/gc-arctwo.m4: New file.
83523
83524 2005-10-21  Simon Josefsson  <jas@extundo.com>
83525
83526         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
83527         block.
83528
83529 2005-10-21  Simon Josefsson  <jas@extundo.com>
83530
83531         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
83532         <bruno@clisp.org>.
83533
83534         * lib/hmac-sha1.c (hmac_sha1): Likewise.
83535
83536         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
83537         Bruno Haible <bruno@clisp.org>.
83538
83539         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
83540         <bruno@clisp.org>.
83541
83542 2005-10-21  Simon Josefsson  <jas@extundo.com>
83543
83544         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
83545
83546 2005-10-21  Simon Josefsson  <jas@extundo.com>
83547
83548         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
83549
83550 2005-10-21  Simon Josefsson  <jas@extundo.com>
83551
83552         * lib/des.h, lib/des.c: New files.
83553
83554         * lib/gc-gnulib.c: Support DES.c
83555
83556 2005-10-21  Simon Josefsson  <jas@extundo.com>
83557
83558         * lib/arctwo.h, lib/arctwo.c: New files.
83559
83560         * lib/gc-gnulib.c: Support ARCTWO.
83561
83562 2005-10-21  Simon Josefsson  <jas@extundo.com>
83563
83564         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
83565         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83566
83567 2005-10-21  Simon Josefsson  <jas@extundo.com>
83568
83569         * gnulib-tool (func_import, func_create_testdir): Define automake
83570         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
83571         Makefile.am snippet),
83572         suggested by Bruno Haible <bruno@clisp.org>.
83573
83574         * modules/gc (Makefile.am): Use it.
83575
83576 2005-10-21  Bruno Haible  <bruno@clisp.org>
83577
83578         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
83579         patch.
83580
83581 2005-10-19  Simon Josefsson  <jas@extundo.com>
83582
83583         * tests/test-gc-rijndael.c: New file.
83584
83585         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
83586
83587 2005-10-19  Simon Josefsson  <jas@extundo.com>
83588
83589         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
83590         interface too.
83591
83592 2005-10-19  Simon Josefsson  <jas@extundo.com>
83593
83594         * tests/test-gc-arcfour.c: New file.
83595
83596         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
83597
83598 2005-10-19  Simon Josefsson  <jas@extundo.com>
83599
83600         * modules/gc-md4, modules/gc-md4-tests: New file.
83601
83602         * tests/test-gc-md4.c: New file.
83603
83604 2005-10-19  Simon Josefsson  <jas@extundo.com>
83605
83606         * m4/gc-md4.m4: New file.
83607
83608 2005-10-19  Simon Josefsson  <jas@extundo.com>
83609
83610         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
83611         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
83612         <kasal@ucw.cz>.
83613
83614 2005-10-19  Simon Josefsson  <jas@extundo.com>
83615
83616         * m4/gc-arcfour.m4: New file.
83617
83618         * m4/gc-rijndael.m4: New file.
83619
83620 2005-10-19  Simon Josefsson  <jas@extundo.com>
83621
83622         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
83623
83624 2005-10-19  Simon Josefsson  <jas@extundo.com>
83625
83626         * lib/gc-gnulib.c: Support ARCFOUR.
83627
83628 2005-10-19  Simon Josefsson  <jas@extundo.com>
83629
83630         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
83631         support.
83632
83633         * lib/gc.h: Add ECB enum type.
83634
83635         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
83636
83637 2005-10-18  Simon Josefsson  <jas@extundo.com>
83638
83639         * tests/test-md5.c: New file.
83640
83641         * modules/md5-tests: New file.
83642
83643 2005-10-18  Simon Josefsson  <jas@extundo.com>
83644
83645         * tests/test-md4.c: New file.
83646
83647         * modules/md4, modules/md4-tests: New files.
83648
83649 2005-10-18  Simon Josefsson  <jas@extundo.com>
83650
83651         * m4/md4.m4: New file.
83652
83653 2005-10-18  Simon Josefsson  <jas@extundo.com>
83654
83655         * lib/md4.h, lib/md4.c: New files, based on md5.?.
83656
83657 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
83658
83659         * gnulib-tool (func_create_testdir): Omit the second check whether
83660         BUILT_SOURCES in nonempty.
83661
83662 2005-10-17  Simon Josefsson  <jas@extundo.com>
83663
83664         * tests/test-rijndael.c: New file.
83665
83666 2005-10-17  Simon Josefsson  <jas@extundo.com>
83667
83668         * modules/sha1: Depend on stdint instead of md5.
83669
83670         * modules/md5: Depend on stdint, remove uint32_t.
83671
83672 2005-10-17  Simon Josefsson  <jas@extundo.com>
83673
83674         * modules/gc-sha1-tests: New file.
83675
83676         * tests/test-gc-sha1.c: New file.
83677
83678 2005-10-17  Simon Josefsson  <jas@extundo.com>
83679
83680         * m4/md5.m4: Remove call to uint32_t.m4.
83681
83682 2005-10-17  Simon Josefsson  <jas@extundo.com>
83683
83684         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
83685
83686         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
83687         md5.h.
83688
83689         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
83690
83691         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
83692
83693 2005-10-17  Simon Josefsson  <jas@extundo.com>
83694
83695         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
83696
83697 2005-10-17  Simon Josefsson  <jas@extundo.com>
83698
83699         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
83700
83701 2005-10-17  Simon Josefsson  <jas@extundo.com>
83702
83703         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
83704
83705         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
83706
83707 2005-10-17  Bruno Haible  <bruno@clisp.org>
83708
83709         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
83710         that it can also be used in a test.
83711
83712 2005-10-16  Bruno Haible  <bruno@clisp.org>
83713
83714         * gnulib-tool (func_emit_tests_Makefile_am): Also define
83715         TESTS_ENVIRONMENT, so that individual tests can augment it.
83716
83717         * gnulib-tool (func_create_testdir): Use an intermediate target for
83718         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
83719         macros, like $(ALLOCA_H), which cannot be passed through the command
83720         line.
83721
83722 2005-10-15  Simon Josefsson  <jas@extundo.com>
83723
83724         * modules/rijndael-tests: New file.
83725
83726         * modules/rijndael: New file.
83727
83728 2005-10-15  Simon Josefsson  <jas@extundo.com>
83729
83730         * m4/rijndael.m4: New file.
83731
83732 2005-10-15  Simon Josefsson  <jas@extundo.com>
83733
83734         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
83735
83736         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
83737
83738 2005-10-14  Simon Josefsson  <jas@extundo.com>
83739
83740         * tests/test-arcfour.c: New file.
83741
83742         * modules/arcfour, modules/arcfour-tests: New files.
83743
83744 2005-10-14  Simon Josefsson  <jas@extundo.com>
83745
83746         * m4/arcfour.m4: New file.
83747
83748 2005-10-14  Simon Josefsson  <jas@extundo.com>
83749
83750         * lib/arcfour.h, lib/arcfour.c: New files.
83751
83752 2005-10-14  Roland McGrath  <roland@redhat.com>
83753
83754         Import from libc.  [BZ #1331]
83755         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
83756         macro argument.
83757         Reported by Matej Vela <vela@debian.org>.
83758
83759 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83760
83761         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
83762         include <wchar.h>; no longer needed.
83763
83764 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83765
83766         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
83767
83768 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
83769         and  Ulrich Drepper  <drepper@redhat.com>
83770
83771         Import from libc.
83772         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
83773         instead of inline stream orientation test and two separate
83774         function calls.  Pay no attention to USE_IN_LIBIO.
83775
83776 2005-10-13  Simon Josefsson  <jas@extundo.com>
83777
83778         * modules/gc-hmac-md5-tests: New file.
83779
83780         * tests/test-gc-hmac-sha1.c: New file.
83781
83782         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
83783
83784         * modules/gc-hmac-md5-tests: New file.
83785
83786         * tests/test-gc-md5.c: New file.
83787
83788         * modules/gc-md5-tests: New file.
83789
83790 2005-10-13  Simon Josefsson  <jas@extundo.com>
83791
83792         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
83793         Move memory allocation outside of loop.
83794
83795 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
83796
83797         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
83798         intermediate directory is in a read-only file system.  Problem
83799         reported by Eric Blake.
83800
83801 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
83802
83803         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
83804
83805 2005-10-12  Simon Josefsson  <jas@extundo.com>
83806
83807         * tests/test-hmac-sha1.c: New file.
83808
83809         * modules/hmac-sha1-tests: New file.
83810
83811         * modules/hmac-sha1: New file.
83812
83813 2005-10-12  Simon Josefsson  <jas@extundo.com>
83814
83815         * modules/gc-sha1: New file.
83816
83817 2005-10-12  Simon Josefsson  <jas@extundo.com>
83818
83819         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
83820
83821         * tests/test-gc-pbkdf2-sha1.c: New file.
83822
83823 2005-10-12  Simon Josefsson  <jas@extundo.com>
83824
83825         * modules/gc-md5, modules/gc-hmac-md5: New files.
83826
83827         * modules/gc (Files): Remove md5, memxor and hmac files.
83828
83829 2005-10-12  Simon Josefsson  <jas@extundo.com>
83830
83831         * m4/gc-pbkdf2-sha1.m4: New file.
83832
83833         * m4/gc-hmac-sha1.m4: New file.
83834
83835         * m4/gc-sha1: New file.
83836
83837         * m4/hmac-sha1.m4: New file.
83838
83839 2005-10-12  Simon Josefsson  <jas@extundo.com>
83840
83841         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
83842
83843         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
83844
83845 2005-10-12  Simon Josefsson  <jas@extundo.com>
83846
83847         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
83848         suggested by Bruno Haible <bruno@clisp.org>.
83849
83850 2005-10-12  Simon Josefsson  <jas@extundo.com>
83851
83852         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
83853
83854 2005-10-12  Simon Josefsson  <jas@extundo.com>
83855
83856         * lib/gc-pbkdf2-sha1.c: New file.
83857
83858         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
83859
83860 2005-10-12  Simon Josefsson  <jas@extundo.com>
83861
83862         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
83863
83864         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
83865
83866 2005-10-12  Simon Josefsson  <jas@extundo.com>
83867
83868         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
83869         GC_USE_HMAC_MD5, respectively.
83870
83871         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
83872         (gc_md5): Fix typo.
83873
83874         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
83875
83876         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
83877
83878         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
83879
83880 2005-10-12  Bruno Haible  <bruno@clisp.org>
83881
83882         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
83883         Reported by Stepan Kasal <kasal@ucw.cz>.
83884
83885 2005-10-11  Simon Josefsson  <jas@extundo.com>
83886
83887         * tests/test-crc.c: New file.
83888
83889         * modules/crc, modules/crc-tests: New files.
83890
83891 2005-10-11  Simon Josefsson  <jas@extundo.com>
83892
83893         * m4/crc.m4: New file.
83894
83895 2005-10-11  Simon Josefsson  <jas@extundo.com>
83896
83897         * lib/gc.h: Add gc_hash and gc_hash_buffer.
83898
83899         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
83900
83901         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
83902
83903 2005-10-11  Simon Josefsson  <jas@extundo.com>
83904
83905         * lib/crc.h, lib/crc.c: New files.
83906
83907         * lib/gc.h (gc_hash_buffer): Add doc.
83908
83909 2005-10-11  Bruno Haible  <bruno@clisp.org>
83910
83911         * modules/c-strcasestr: New file.
83912         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
83913
83914 2005-10-11  Bruno Haible  <bruno@clisp.org>
83915
83916         * modules/c-strcase: New file.
83917         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
83918
83919 2005-10-11  Bruno Haible  <bruno@clisp.org>
83920
83921         * lib/strcasecmp.c: Include limits.h.
83922         (strcasecmp): Avoid integer overflow on exotic platforms.
83923         * lib/strncasecmp.c: Include limits.h.
83924         (strncasecmp): Avoid integer overflow on exotic platforms.
83925         Reported by Paul Eggert.
83926
83927 2005-10-11  Bruno Haible  <bruno@clisp.org>
83928
83929         * lib/c-strcasestr.h: New file, from GNU gettext.
83930         * lib/c-strcasestr.c: New file, from GNU gettext.
83931
83932 2005-10-11  Bruno Haible  <bruno@clisp.org>
83933
83934         * lib/c-strcase.h: New file, from GNU gettext.
83935         * lib/c-strcasecmp.c: New file, from GNU gettext.
83936         * lib/c-strncasecmp.c: New file, from GNU gettext.
83937
83938 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83939
83940         * modules/mempcpy (License): GPL -> LGPL.
83941         * modules/strchrnul (License): Likewise.
83942         * modules/sysexits (License): Likewise.
83943
83944 2005-10-08  Simon Josefsson  <jas@extundo.com>
83945
83946         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
83947
83948 2005-10-07  Simon Josefsson  <jas@extundo.com>
83949
83950         * m4/memxor.m4: Remove gl_C_RESTRICT call.
83951
83952 2005-10-06  Simon Josefsson  <jas@extundo.com>
83953
83954         * tests/test-hmac-md5.c: New file.
83955
83956         * modules/hmac-md5-tests: New file.
83957
83958         * modules/hmac-md5: New file.
83959
83960 2005-10-06  Simon Josefsson  <jas@extundo.com>
83961
83962         * m4/hmac-md5.m4: New file.
83963
83964         * m4/memxor.m4: Require gl_C_RESTRICT.
83965
83966 2005-10-06  Simon Josefsson  <jas@extundo.com>
83967
83968         * lib/memxor.c (memxor): Avoid casts and warnings.
83969
83970 2005-10-06  Simon Josefsson  <jas@extundo.com>
83971
83972         * lib/hmac-md5.c: New file.
83973
83974         * lib/hmac.h: New file.
83975
83976 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
83977
83978         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
83979         promotes to int, not unsigned int, to catch the AIX 5.3
83980         compiler bug.
83981
83982 2005-10-05  Simon Josefsson  <jas@extundo.com>
83983
83984         * modules/memxor: New file.
83985
83986         * modules/iconv (Files): Move config.rpath to havelib, it is used
83987         there.
83988
83989         * modules/havelib (Files): Add config.rpath.
83990
83991 2005-10-05  Simon Josefsson  <jas@extundo.com>
83992
83993         * m4/memxor.m4: New file.
83994
83995 2005-10-05  Simon Josefsson  <jas@extundo.com>
83996
83997         * lib/memxor.c (memxor): Fix compiler error.
83998
83999         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
84000         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
84001
84002         * lib/memxor.h, lib/memxor.c: New files.
84003
84004         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
84005         we assume all systems have it, suggested by Jim Meyering
84006         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
84007         any systems lack sys/socket.h; mingw32 is known to lack it, but we
84008         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
84009         same reasons.
84010
84011 2005-10-05  Simon Josefsson  <jas@extundo.com>
84012
84013         * config/srclist.txt: Add glibc bug 1423 for md5.h.
84014
84015 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
84016
84017         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
84018         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
84019         needed, since the source code now assumes these .h files.
84020
84021 2005-10-05  Derek Price  <derek@ximbiot.com>
84022
84023         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
84024
84025 2005-10-05  Bruno Haible  <bruno@clisp.org>
84026
84027         * modules/stdint (License): Change to LGPL.
84028
84029 2005-10-04  Simon Josefsson  <jas@extundo.com>
84030
84031         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
84032         D. Baushke" <mdb@gnu.org>.
84033
84034 2005-10-04  Bruno Haible  <bruno@clisp.org>
84035
84036         * lib/verify.h (verify_true): Provide alternative definition for C++.
84037
84038 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
84039
84040         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
84041         (SSIZE_MAX): New macro, if not already defined.
84042         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
84043         than 2 GiB.
84044
84045 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84046
84047         Sync from coreutils.
84048         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
84049         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
84050         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
84051         ULLONG_MAX doesn't work with 2.7.2.1.
84052
84053 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84054
84055         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
84056         From Ben Pfaff.
84057
84058         * modules/exclude (Depends-on): Depend on verify.
84059         * modules/strtoimax (Depends-on): Likewise.
84060         * modules/utimecmp (Depends-on): Likewise.
84061
84062 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84063
84064         * lib/exclude.c: Include verify.h.
84065         (verify): Remove.  All callers changed to use verify.h's version.
84066         * lib/strtoimax.c: Likewise.
84067         * lib/utimecmp.c: Likewis.e
84068
84069         Sync from coreutils.
84070         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
84071         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
84072         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
84073         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
84074         bother returning ENOSYS if settimeofday or stime fails; just let
84075         them return whatever errno they want to return.
84076         * lib/utimens.c: Include unistd.h, for dup2.
84077         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
84078         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
84079
84080 2005-10-02  Jim Meyering  <jim@meyering.net>
84081
84082         Sync from coreutils.
84083         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
84084         from glibc-2.2.5 that fails for read-only files.
84085
84086 2005-10-02  Jim Meyering  <jim@meyering.net>
84087
84088         Sync from coreutils.
84089         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
84090         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
84091         `#if HAVE_CONFIG_H'.
84092         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
84093         Remove AT_FDCWD test.
84094         Do not consume the fd unless successful.
84095         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
84096         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
84097         block, so that we don't even try to compile it if settimeofday is
84098         available.  This works around a compilation failure on OSF1 V5.1,
84099         due to stime requiring a `long int*' while tv_sec is `int'.
84100
84101 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
84102
84103         Sync from coreutils.
84104         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
84105         against `yes', rather than just testing for nonempty.
84106
84107 2005-10-01  Simon Josefsson  <jas@extundo.com>
84108
84109         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
84110         and Darwin.
84111
84112         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
84113         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
84114         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
84115         freeaddrinfo and gai_strerror are declared by the POSIX headers.
84116         Check if struct addrinfo is declared.
84117
84118 2005-10-01  Simon Josefsson  <jas@extundo.com>
84119
84120         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
84121         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
84122         AI_* and EAI_* definitions.  Protect function declarations.
84123
84124 2005-10-01  Jim Meyering  <jim@meyering.net>
84125
84126         Sync from coreutils.
84127
84128         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
84129         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
84130         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
84131         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84132         in the inet and nsl libraries.  Required on Solaris 5.7.
84133
84134 2005-10-01  Jim Meyering  <jim@meyering.net>
84135
84136         Sync from coreutils.
84137         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84138         in the inet and nsl libraries.  Required on Solaris 5.7.
84139
84140 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
84141
84142         * lib/getdelim.c (getdelim): Remove unused variables.
84143
84144 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
84145
84146         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
84147         so that the code works even with ancient cpp.  Portability problem
84148         with GCC 2.7.2.1 reported by Thomas M.Ott.
84149
84150 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
84151
84152         * modules/regex (Depends-on): Add strcase.
84153
84154         * modules/gethostname (Licence): Change from GPL to LGPL, since
84155         gethostname.c is a trivial implementation of a standard library
84156         function.
84157         * modules/poll (License): Change from GPL to LGPL, since it's
84158         derived from LGPL code.
84159
84160 2005-09-27  Jim Meyering  <jim@meyering.net>
84161
84162         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
84163         HAVE_CONFIG_H.
84164
84165         * lib/intprops.h (signed_type_or_expr__): Define.
84166         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
84167         for unsigned types.
84168
84169 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
84170
84171         * lib/verify.h (verify_expr): Remove, replacing with:
84172         (verify_true): New macro that returns true instead of void.
84173         (verify_type__): Remove.
84174         (verify): Use verify_true rather than verify_type__.
84175
84176 2005-09-26  Bruno Haible  <bruno@clisp.org>
84177
84178         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
84179         is necessary.
84180         (lib_SOURCES): Remove mbchar.c.
84181         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
84182         (Files): Add m4/mbrtowc.m4.
84183         * modules/mbiter: Likewise.
84184         * modules/mbuiter: Likewise.
84185
84186 2005-09-26  Bruno Haible  <bruno@clisp.org>
84187
84188         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
84189         compile mbchar.c if they are not both present.
84190         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
84191         * m4/mbiter.m4 (gl_MBITER): Likewise.
84192         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
84193         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
84194         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
84195
84196 2005-09-25  Jim Meyering  <jim@meyering.net>
84197
84198         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
84199         also uses socklen_t.
84200
84201 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
84202
84203         * lib/utimens.c (ENOSYS): Define if not already defined.
84204         (futimens): Support having a null PATH if the file descriptor
84205         is nonnegative.
84206
84207         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
84208         Remove.
84209         (__attribute): Define to empty unless GCC 3.1 or later.
84210         This works around a core dump on OpenBSD 3.4, which has GCC
84211         2.95.3, which dumps core when given __attribute__(()).  It also
84212         simplifies other tests, since we really don't want to bother with
84213         worrying about which ancient version of GCC supported what.
84214         Original problem reported by Yoann Vandoorselaere, with part of
84215         the fix suggested by Derek Price.
84216
84217 2005-09-24  Jim Meyering  <jim@meyering.net>
84218
84219         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
84220         so we can once again use a positive bitfield width of 1 -- now we
84221         don't have to explain why we were using a bitfield width of 2.
84222
84223 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84224
84225         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
84226         and similarly for the other external symbols.  Problem reported
84227         by James Gallager.
84228
84229         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
84230         bug reported by Jim Meyering.
84231
84232         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
84233         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
84234         not needed, since socklen is a prerequisite module.
84235
84236 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84237
84238         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
84239         Problem reported by Eric Blake.
84240         (getaddrinfo): Initialize se so that it's not garbage.
84241         Redo internal storage allocation so that it doesn't make unportable
84242         assumptions about alignment.
84243         Fix a memory leak.
84244
84245         * lib/utimens.c (futimens): Use futimesat if available.
84246         Prefer it to futimes since it doesn't have the futimes bug.
84247
84248         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
84249         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
84250         Instead, declare a function that returns a pointer to an array,
84251         and use verify_type__ to declare the size of the array.
84252         Problem and germ of a solution reported by Bruno Haible.
84253         (verify_type__): Use 2, not 1, for bitfield size, to avoid
84254         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
84255
84256 2005-09-23  Jim Meyering  <jim@meyering.net>
84257
84258         Sync from coreutils.
84259         Correct build failure (socklen_t not defined) on at least
84260         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
84261         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
84262
84263 2005-09-23  Jim Meyering  <jim@meyering.net>
84264
84265         * modules/getaddrinfo (Depends-on): Add socklen.
84266
84267 2005-09-23  Bruno Haible  <bruno@clisp.org>
84268
84269         * tests/test-verify.c: New file.
84270
84271 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84272
84273         Sync from coreutils.
84274
84275         * modules/argmatch (Depends-on): Add verify.
84276         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
84277         unistd-safer.
84278         * modules/save-cwd (Depends-on): Likewise.
84279
84280         * modules/openat (Files): Add lib/openat-die.c.
84281         (Depends-on): Remove error, exitfail.
84282         Add dirname.
84283
84284         * modules/verify: New file.
84285         * MODULES.html.sh (Diagnostics <assert.h>): New section,
84286         with "verify" module.
84287
84288 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84289
84290         Sync from coreutils.
84291
84292         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
84293         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
84294         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
84295         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
84296         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
84297         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
84298         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
84299         Don't bother checking for string.h, stdlib.h, unistd.h.
84300         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
84301         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
84302         module's job.
84303         * m4/jm-macros.m4 (gl_MACROS): Likewise.
84304         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
84305
84306         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
84307         (gl_GETDATE): Use it.
84308
84309         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
84310
84311 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84312
84313         Sync from coreutils.
84314
84315         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
84316         stat-time.h.
84317         * lib/argmatch.h: Include verify.h
84318         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
84319         (ARGMATCH_ASSERT): Remove; unused.
84320         * lib/canonicalize.c: Assume STDC_HEADERS.
84321         * lib/exclude.c: Include "strcase.h".
84322         * lib/regex_internal.h [!defined _LIBC]: Likewise.
84323         * lib/getusershell.c: Include stdio--.h rather than stdio.h
84324         and stdio-safer.h.
84325         (getusershell): Call fopen, not fopen_safer.
84326         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
84327         Do not include unistd-safer.h.
84328         (save_cwd): Don't call fd_safer; no longer needed
84329         now that we include fcntl--.h.
84330
84331         * lib/getdate.y (relative_time): New type.
84332         (RELATIVE_TIME_0): New constant.
84333         (parser_control): Use relative_time instead of doing it ourselves.
84334         (%union): Add new relative_time rel member.
84335         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
84336         Now typeless.
84337         (relunit, relunit_snumber): Now of type rel.
84338         (zone, rel, relunit, get_date): Adjust to above changes.
84339
84340         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
84341         Do not include unistd-safer.h.
84342         (getloadavg): Don't call fd_safer; no longer needed
84343         now that we include fcntl--.h.
84344
84345         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
84346         (make_dir_parents): Treat ENOSYS like EEXIST.
84347
84348         Improve quality of diagnostics on restore_cwd failure.
84349         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
84350         (make_dir_parents): Last arg is now int * (for errno), not bool *.
84351         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
84352         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
84353         each time through the loop.  Do not diagnose restore_cwd failure;
84354         that is the caller's job (and perhaps the caller does not care).
84355
84356         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
84357         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
84358         If the file already exists but is not a directory, don't bother
84359         to try to make its parents.
84360         Close potential file descriptor leak if we can't chdir("/") (!).
84361         Don't always return true if chdir($PWD) fails; return true only
84362         if the requested action was done successfully (except for the
84363         chdir($PWD)).
84364         Don't log final directory unless we actually made it.
84365         Refactor to avoid duplicate code to fix up permissions.
84366         Don't attempt to fix up parent permissions if chdir($PWD) fails.
84367
84368         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
84369         to make it a bit faster and (I hope) clearer.
84370         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
84371         Fix bug in formats like %2N.
84372
84373         * lib/verify.h: New file.
84374
84375 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84376
84377         Sync from coreutils.
84378         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
84379
84380 2005-09-22  Jim Meyering  <jim@meyering.net>
84381
84382         Sync from coreutils.
84383
84384         * m4/lstat.m4 (gl_FUNC_LSTAT):
84385         Use AC_LIBSOURCES to require lstat.c and lstat.h.
84386         Remove obsolete comment.
84387         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
84388         * m4/xstrtod.m4: Likewise.
84389
84390         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
84391
84392 2005-09-22  Jim Meyering  <jim@meyering.net>
84393
84394         Sync from coreutils.
84395
84396         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
84397
84398         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
84399         the .tm_year member, since otherwise gcc-4.0 would now warn about
84400         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
84401
84402         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
84403         order to avoid an unsuppressible warning from gcc on 64-bit systems.
84404
84405         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
84406         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
84407         when run in a time zone for which daylight savings time is in effect
84408         for the starting date.
84409
84410         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
84411         stop us from restricting permissions of just-created absolute-named
84412         directories.
84413         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
84414         to restore initial working directory.
84415         * lib/mkdir-p.c (make_dir_parents): New parameter:
84416         different_working_dir, to tell caller if/when we change the working
84417         directory and are unable to return to the initial one.
84418         * lib/mkdir-p.h (make_dir_parents): Update prototype.
84419         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
84420         `return false'.  This fixes a bug introduced on 2004-07-30.
84421
84422         * lib/openat.c (fdopendir): Be sure to close the supplied
84423         file descriptor before returning.  This makes our replacement
84424         implementation a little closer to Solaris's, where fdopendir
84425         ties the file descriptor to the returned DIR* pointer.
84426         * lib/openat.c (unlinkat): New function.
84427         * lib/openat.h (unlinkat): Add prototype.
84428         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
84429         (openat_restore_fail): Rename from openat_restore_die.
84430         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
84431
84432         Provide an alternative to exiting immediately upon save_cwd or
84433         restore_cwd failure.  Now, an application can arrange e.g.,
84434         to perform a longjump in that case.
84435         * lib/openat.c: Include dirname.h.
84436         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
84437         (rpl_openat, fdopendir, fstatat): Call openat_save_die
84438         and openat_restore_die rather than calling error directly.
84439         Don't include "error.h" or "exitfail.h"; they're no longer needed.
84440
84441         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
84442         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
84443         define.
84444
84445         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
84446         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
84447                             int utc, int nanoseconds);
84448         Background:
84449         date should not have to allocate a megabyte of virtual memory to
84450         handle a format argument like +%1048575T.  When implemented with
84451         strftime, it must allocate such a buffer, use strftime to fill it
84452         in, print it, then free it.
84453         With fprintftime, it simply prints everything and exits.
84454         With no need for memory allocation, that's one fewer way to fail.
84455         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
84456         optional field width, not before, so we accept %9:z, not %:9z.
84457         (my_strftime): Be sure to use L_('x') for literals.
84458
84459         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
84460         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
84461         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
84462         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
84463         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
84464         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
84465         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
84466         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
84467         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
84468         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
84469         * lib/xgethostname.c, lib/xreadlink.c:
84470         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
84471
84472         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
84473         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
84474         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
84475         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84476         and don't include <sys/file.h>).
84477
84478 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
84479
84480         Sync from coreutils.
84481
84482         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
84483         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
84484         [!LDAV_DONE]: Avoid unused variable warning.
84485
84486 2005-09-21  Bruno Haible  <bruno@clisp.org>
84487
84488         * lib/unicodeio.h (unicode_to_mb): New declaration.
84489
84490 2005-09-20  Derek Price  <derek@ximbiot.com>
84491
84492         * lib/getaddrinfo.c: Don't include <netdb.h> included from
84493         getaddrinfo.h.
84494
84495 2005-09-20  Bruno Haible  <bruno@clisp.org>
84496
84497         * gnulib-tool: Remove trailing slashes from the values specified for
84498         --source-base, --m4-base, --tests-base, --aux-dir.
84499         Suggested by Simon Josefsson <jas@extundo.com>.
84500
84501 2005-09-20  Bruno Haible  <bruno@clisp.org>
84502
84503         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
84504         func_modules_to_filelist, func_import, func_create_testdir): Make all
84505         sorting results locale-independent, so that gnulib-cache.m4 doesn't
84506         change when gnulib-tool is invoked in a different locale.
84507
84508 2005-09-19  Simon Josefsson  <jas@extundo.com>
84509
84510         * m4/socklen.m4: Fix typo.
84511
84512 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84513
84514         Use a consistent style for including <config.h>.
84515         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
84516         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
84517         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
84518         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
84519         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
84520         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
84521         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
84522         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
84523         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
84524         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
84525         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
84526         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
84527         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
84528         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
84529         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
84530         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
84531         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
84532         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
84533         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
84534         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
84535         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
84536         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
84537         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
84538         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
84539         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
84540         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
84541         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
84542         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
84543         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
84544         lib/xstrtoumax.c, lib/yesno.c:
84545         Standardize inclusion of config.h.
84546         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
84547         lib/inttostr.h:  Removed inclusion of config.h from header files.
84548         * lib/inttostr.c:  Adjusted in-tree users.
84549         * lib/timespec.h: Remove superfluous warning to include config.h.
84550         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
84551         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
84552         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
84553         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
84554         config.h with HAVE_CONFIG_H.
84555
84556 2005-09-19  Jim Meyering  <jim@meyering.net>
84557
84558         * modules/pathmax (License): Change to LGPL.
84559
84560 2005-09-19  Derek Price  <derek@ximbiot.com>
84561
84562         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
84563
84564 2005-09-19  Bruno Haible  <bruno@clisp.org>
84565
84566         * gnulib-tool (import): Provide default for --tests-base.
84567
84568 2005-09-19  Bruno Haible  <bruno@clisp.org>
84569
84570         * doc/quote.texi: New file, extracted from gnulib.texi.
84571         * doc/ctime.texi: New file, extracted from gnulib.texi.
84572         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
84573         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
84574         * doc/gnulib.texi: Include them.
84575
84576 2005-09-18  Bruno Haible  <bruno@clisp.org>
84577
84578         Portability fix.
84579         * gnulib-tool (func_readlink): New function.
84580         (func_ln_if_changed): Use it.
84581
84582 2005-09-18  Bruno Haible  <bruno@clisp.org>
84583
84584         * gnulib-tool: Support --with-tests also with --import.
84585         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
84586         (func_import): Use variables $testsbase and $inctests. Emit a
84587         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
84588         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
84589         SUBDIRS += $testsdir.
84590         (func_create_testdir): Update.
84591
84592 2005-09-18  Bruno Haible  <bruno@clisp.org>
84593
84594         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
84595         instead of $dry_run.
84596         (func_cp_if_changed, func_mv_if_changed): Remove functions.
84597         (func_ln_if_changed): Don't handle dry-run here.
84598         (func_import): In dry-run mode, detect more precisely which actions
84599         would be performed, and don't use "...ing" verbs.
84600
84601 2005-09-18  Bruno Haible  <bruno@clisp.org>
84602
84603         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
84604         (func_import): Use join on two temporary files instead of three nested
84605         loops, in order to determine which files are new or old.
84606
84607 2005-09-18  Bruno Haible  <bruno@clisp.org>
84608
84609         * gnulib-tool (func_import): Comment out code that spits out the
84610         new files with --dry-run.
84611
84612 2005-09-18  Bruno Haible  <bruno@clisp.org>
84613
84614         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
84615
84616 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84617
84618         * lib/stat-time.h: New file.
84619         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
84620         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
84621         in a different way.
84622         (timespec_cmp): New function.
84623         * lib/utimecmp.c: Include stat-time.h.
84624         (SYSCALL_RESOLUTION): Depend on whether various struct stat
84625         members exist, not on the obsolescent ST_MTIM_NSEC.
84626         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
84627
84628 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84629
84630         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
84631
84632 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84633
84634         * MODULES.html.sh (File system functions): Add stat-time.
84635         * modules/stat-time: New file.
84636         * modules/timespec (Files): Remove m4/st_mtim.m4; this
84637         is now done in a different way, by the stat-time module.
84638         * modules/utimecmp (Depends-on): Add stat-time.
84639
84640 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
84641
84642         * m4/st_mtim.m4: Remove.  Superseded by...
84643         * m4/stat-time.m4: New file.
84644         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
84645         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
84646
84647 2005-09-15  Derek Price  <derek@ximbiot.com>
84648
84649         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
84650
84651 2005-09-15  Derek Price  <derek@ximbiot.com>
84652
84653         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
84654         * lib/regex_internal.c: Ditto, using this...
84655         (__GNUC_PREREQ): ...new macro.
84656         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
84657         using...
84658         (__GNUC_PREREQ): ...this new macro.
84659
84660         * lib/strstr.h: Include string.h. Define strstr as a macro here.
84661
84662 2005-09-15  Derek Price  <derek@ximbiot.com>
84663             Paul Eggert  <eggert@cs.ucla.edu>
84664
84665         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
84666         changes, consolidating in...
84667         * lib/regex_internal.h: ...this file.
84668
84669 2005-09-13  Jim Meyering  <jim@meyering.net>
84670
84671         * lib/canon-host.c: Filter through gnu indent and reword comments
84672         slightly.
84673         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
84674
84675 2005-09-13  Derek Price  <derek@ximbiot.com>
84676
84677         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
84678         failure.
84679         Reported by Jim Meyering  <jim@meyering.net>.
84680
84681 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
84682
84683         * lib/base64.c: Typo.
84684         (base64_encode): Put b64str in initialized data section.
84685
84686 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
84687
84688         Merge glibc and coreutils changes into gnulib, plus a few
84689         extra fixes.
84690         * lib/md5.c: Use #error rather than a string.
84691         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
84692         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
84693         (__attribute__): Define to empty for non recent-GCC.
84694         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
84695         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
84696         Renamed from their non-__ counterparts, with new macros replacing
84697         them if not _LIBC.  Add __THROW attribute.
84698         (rol): Remove.
84699         (struct md5_ctx): Align buffer if using GCC.
84700         * lib/sha1.h (struct sha1_ctx): Likewise.
84701         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
84702         The old name was backwards.
84703         (NOTSWAP): Remove; not used.
84704         (rol): New macro, moved here from md5.h.
84705         (sha1_process_block): Remove a FIXME that doesn't make sense.
84706
84707 2005-09-12  Derek Price  <derek@ximbiot.com>
84708
84709         Return usable errors from canon-host.
84710         * lib/canon-host.h: New file.
84711         * lib/canon-host.c (canon_host): Wrap...
84712         (canon_host_r): ...this new function, which now relies exclusively on
84713         getaddrinfo.
84714         (ch_strerror): New function.
84715         (last_cherror): New global.
84716         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
84717         interface.
84718         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
84719         void *.
84720         (freeaddrinfo): Free ai->ai_canonname when set.
84721
84722 2005-09-12  Derek Price  <derek@ximbiot.com>
84723
84724         Make canon-host require getaddrinfo.
84725         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
84726         AC_LIBSOURCE canon-host.h.  Call...
84727         (gl_PREREQ_CANON_HOST): ...this new function, which requires
84728         gl_GETADDRINFO.
84729         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
84730
84731 2005-09-12  Derek Price  <derek@ximbiot.com>
84732
84733         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
84734         LGPL.
84735         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
84736
84737 2005-09-12  Derek Price  <derek@ximbiot.com>
84738
84739         * lib/gai_strerror.c: Include config.h when available.  Include
84740         getaddrinfo.h before other headers to test interface.
84741         Reported by Larry Jones <lawrence.jones@ugs.com>.
84742
84743 2005-09-12  Derek Price  <derek@ximbiot.com>
84744             Paul Eggert  <eggert@cs.ucla.edu>
84745
84746         * modules/glob (Files): Add glob-libc.h.
84747
84748 2005-09-12  Derek Price  <derek@ximbiot.com>
84749             Paul Eggert  <eggert@cs.ucla.edu>
84750
84751         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
84752         glob_.h, glob-libc.h.
84753         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
84754
84755 2005-09-12  Derek Price  <derek@ximbiot.com>
84756             Paul Eggert  <eggert@cs.ucla.edu>
84757
84758         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
84759         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
84760         protecting things that should be done only in gnulib contexts.
84761         * lib/glob_.h: New file, containing only the glob things needed for
84762         gnulib.
84763         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
84764         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
84765         (glob, globfree, glob_pattern_p): Now defined simply in terms of
84766         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
84767         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
84768         and to respect the namespace rules better.
84769
84770 2005-09-08  Simon Josefsson  <jas@extundo.com>
84771
84772         * modules/socklen: New file.
84773
84774 2005-09-08  Simon Josefsson  <jas@extundo.com>
84775
84776         * m4/socklen.m4: New file.
84777
84778 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84779
84780         * modules/utimens (Files): Add m4/utimbuf.m4, since
84781         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
84782         Reported by Sergey Poznyakoff.
84783
84784 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84785
84786         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
84787         definitions, since that's the preferred style in glibc.
84788         Fix a minor spacing issue, and update copyright notice to match
84789         glibc's.
84790
84791 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84792
84793         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
84794
84795 2005-09-06  Simon Josefsson  <jas@extundo.com>
84796
84797         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
84798         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
84799
84800 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84801
84802         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
84803         warning.
84804
84805 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84806
84807         * config/srclist.txt: Add glibc bug 1302.
84808
84809 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
84810
84811         Change bitset word type from unsigned int to unsigned long int,
84812         as this has better performance on typical 64-bit hosts.
84813         Port bitset code to hosts with unusual word sizes.
84814         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
84815         (build_collating_symbol):
84816         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
84817         argument is a bitset.  This is merely a style issue, but it makes
84818         it clearer that an entire array is expected.
84819         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
84820         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
84821         Port to the case where bitset_word is not the same as unsigned int.
84822         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
84823         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
84824         Likewise.
84825         * lib/regexec.c (check_dst_limits_calc_pos_1,
84826         check_subexp_matching_top):
84827         (build_trtable, group_nodes_into_DFAstates):
84828         Likewise.
84829         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
84830         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
84831         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
84832         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
84833         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
84834         * lib/regcomp.c (optimize_subexps, lower_subexp):
84835         Work even if bitset_word has holes in its bitwise representation.
84836         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
84837         * lib/regexec.c (check_dst_limits_calc_pos_1,
84838         check_subexp_matching_top):
84839         Likewise.
84840         * lib/regex_internal.c (re_string_reconstruct):
84841         Don't assume UCHAR_MAX == 255.
84842         * lib/regex_internal.h (bitset_set_all): Likewise.
84843         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
84844         All uses changed.
84845         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
84846         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
84847         All uses changed.
84848         (BITSET_WORD_MAX): New macro.
84849         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
84850         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
84851         (bitset_empty, bitset_copy):
84852         Prefer sizeof (bitset) to multiplying it out ourselves.
84853         (bitset_not_merge): Remove; unused.
84854         (bitset_contain): Return bool, not unsigned int with one bit on.
84855         All callers changed.
84856         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
84857         alignment than re_node_set; do this by defining a new internal
84858         type struct dests_alloc and using it to allocate memory.
84859
84860 2005-09-05  Bruno Haible  <bruno@clisp.org>
84861
84862         * gnulib-tool (func_import): Fix comparison in handling of symbolic
84863         links.
84864
84865 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
84866
84867         * modules/size_max (Makefile.am): Add size_max.h
84868
84869 2005-09-04  Derek Price  <derek@ximbiot.com>
84870
84871         * gnulib-tool (func_import): Fix reversed $symbolic logic.
84872
84873 2005-09-03  Simon Josefsson  <jas@extundo.com>
84874
84875         * gnulib-tool: Fix typo.
84876
84877 2005-09-03  Simon Josefsson  <jas@extundo.com>
84878
84879         * config/srclist.txt: Add glibc bug 1293.
84880
84881 2005-09-03  Derek Price  <derek@ximbiot.com>
84882
84883         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
84884         From Larry Jones <lawrence.jones@ugs.com>.
84885
84886 2005-09-02  Simon Josefsson  <jas@extundo.com>
84887
84888         * modules/socklen: New file.
84889
84890 2005-09-02  Simon Josefsson  <jas@extundo.com>
84891
84892         * modules/havelib: New module.
84893
84894         * modules/gettext, modules/iconv, modules/lock, modules/readline:
84895         Use havelib.
84896
84897 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84898
84899         Check for arithmetic overflow when calculating sizes, to prevent
84900         some buffer-overflow issues.  These patches are conservative, in the
84901         sense that when I couldn't determine whether an overflow was possible,
84902         I inserted a run-time check.
84903         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
84904         macros.
84905         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
84906         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
84907         (re_xnrealloc, re_x2nrealloc): New inline functions.
84908         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
84909         parse_bracket_exp):
84910         (build_equiv_class, build_charclass): Check for arithmetic overflow
84911         in size expression calculations.
84912         * lib/regex_internal.c (re_string_realloc_buffers):
84913         (build_wcs_upper_buffer, re_node_set_add_intersect):
84914         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
84915         (re_dfa_add_node, register_state): Likewise.
84916         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
84917         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
84918         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
84919         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
84920
84921 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84922
84923         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
84924         m4/ulonglong.m4.  Problem reported by Martin Lambers.
84925
84926 2005-09-02  Bruno Haible  <bruno@clisp.org>
84927
84928         Support for lib vs. lib64 distinction on biarch platforms.
84929         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
84930         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
84931         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
84932
84933 2005-09-02  Bruno Haible  <bruno@clisp.org>
84934
84935         * gnulib-tool (import): In the other first-use case, provide defaults
84936         as well.
84937
84938 2005-09-02  Bruno Haible  <bruno@clisp.org>
84939
84940         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
84941         patches not yet found in the latest gettext release.
84942
84943 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
84944
84945         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
84946         to avoid a collision with bits/local_lim.h in glibc.
84947         All uses changed.  Problem reported by Dmitry V. Levin in
84948         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
84949
84950         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
84951         bugs in int versus size_t comparisons.
84952         (re_string_context_at): Fix bug where the code assumed that
84953         Idx is signed.
84954
84955         Use bool where appropriate.
84956         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
84957         All callers changed.
84958         (calc_eclosure_iter): Likewise, for ROOT arg.
84959         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
84960         (build_charclass_op): Likewise, for NON_MATCH arg.
84961         * lib/regex_internal.c (re_string_allocate, re_string_construct):
84962         (re_string_construct_common): Likewise, for ICASE arg.
84963         * lib/regexec.c (re_search_2_stub, re_search_stub):
84964         Likewise, for RET_LEN arg.
84965         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
84966         (set_regs): Likewise, for FL_BACKTRACK arg.
84967         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
84968         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
84969         (calc_eclosure_iter, parse_bracket_exp):
84970         Use bool for internal variables that are booleans.
84971         * lib/regexec.c (re_search_internal, check_matching,
84972         proceed_next_node):
84973         (set_regs, build_sifted_states, sift_states_bkref):
84974         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
84975         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
84976         (find_collation_sequence_value):
84977         Likewise.
84978         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
84979         (re_node_set_compare):
84980         Return bool, not int. All callers changed.
84981         * lib/regexec.c (check_halt_node_context, check_dst_limits):
84982         (build_trtable, check_node_accept): Likewise.
84983         * lib/regex_internal.h: Include stdbool.h.
84984
84985         Fix bugs uncovered when converting to bool.
84986         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
84987         failure instead of charging ahead blindly.
84988         * lib/regex_internal.c (register_state): Likewise.
84989         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
84990         for freeing internal storage.
84991         (group_nodes_into_DFA_states): Use unsigned int, not int, for
84992         bitset pieces used as boolean, to avoid undefined behavior
84993         on hosts that do int overflow checking.
84994
84995 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
84996
84997         * config/srclist.txt: Add glibc bugs 1285-1287.
84998
84999 2005-09-01  Jim Meyering  <jim@meyering.net>
85000
85001         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
85002         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
85003         Require gl_STAT_MACROS, too.
85004
85005 2005-09-01  Bruno Haible  <bruno@clisp.org>
85006
85007         * gnulib-tool (import): In the first-use case, provide defaults.
85008
85009 2005-09-01  Bruno Haible  <bruno@clisp.org>
85010
85011         * gnulib-tool (func_import): Remove the .tmp files.
85012
85013 2005-09-01  Bruno Haible  <bruno@clisp.org>
85014
85015         * gnulib-tool (func_import): Fix handling of symbolic links.
85016
85017 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85018
85019         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
85020         old glibc regex code mishandles strings longer than 2**31 bytes.
85021         This patch fixes this when the regex code is used in gnulib
85022         (i.e., outside glibc).
85023
85024         This patch should not affect the use of the regex code inside
85025         glibc.  No doubt this problem also needs to be handled for glibc
85026         as well, but the result will be an incompatible change to the
85027         glibc ABI, and the old ABI will have to be supported too.  That
85028         can be the the subject for another patch.
85029
85030         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
85031         governing whether the rest of this patch is active.  By default,
85032         the macro is disabled and the patch has no effect.
85033         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
85034         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
85035         (struct re_pattern_buffer, re_search, re_search_2, re_match):
85036         (re_match_2, re_set_registers): Use the new types.
85037         * lib/regex_internal.h (Idx, re_hashval_t): New types.
85038         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
85039         New macros.
85040         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
85041         (re_string_context_at, bin_tree_t, re_dfastate_t):
85042         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
85043         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
85044         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
85045         (re_string_char_size_at, re_string_wchar_at):
85046         (re_string_elem_size_at):
85047         Use the new types and macros to port to 64-bit hosts.
85048         Use unsigned types for internal values, so that the code
85049         mostly works even for arrays larger than SSIZE_MAX.
85050         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
85051         (search_duplicated_node, calc_eclosure_iter, fetch_number):
85052         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
85053         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
85054         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
85055         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
85056         (calc_inveclosure, parse_dup_op, build_range_exp):
85057         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
85058         (fetch_number, create_token_tree, mark_opt_subexp):
85059         Likewise.
85060         * lib/regex_internal.c (re_string_construct_common,
85061         create_ci_newstate):
85062         (create_cd_newstate, re_string_allocate, re_string_construct):
85063         (re_string_realloc_buffers, build_wcs_upper_buffer):
85064         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85065         (re_string_reconstruct, re_string_peek_byte_case):
85066         (re_string_fetch_byte_case, re_string_context_at):
85067         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85068         (re_node_set_init_copy, re_node_set_add_intersect):
85069         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85070         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85071         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85072         (re_acquire_state, re_acquire_state_context, register_state):
85073         Likewise.
85074         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
85075         search_cur_bkref_entry):
85076         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
85077         (re_search_internal, re_search_2_stub, re_search_stub)
85078         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
85079         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
85080         (update_cur_sifted_state, check_dst_limits):
85081         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85082         (check_subexp_limits, sift_states_bkref, merge_state_array):
85083         (check_subexp_matching_top, get_subexp, get_subexp_sub):
85084         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
85085         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85086         (expand_bkref_cache, check_node_accept_bytes):
85087         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
85088         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
85089         (acquire_init_state_context, check_halt_node_context):
85090         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
85091         (sift_states_backward, clean_state_log_if_needed):
85092         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
85093         (find_recover_state, transit_state_sb, transit_state_mb):
85094         (transit_state_bkref, build_trtable, match_ctx_clean):
85095         Likewise.
85096         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
85097         to work around an assumption that REG_MISSING is negative.
85098
85099         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
85100         (seek_collating_symbol_entry) [defined _LIBC]:
85101         (lookup_collation_sequence_value) [defined _LIBC]:
85102         (build_range_exp, build_collating_symbol) [defined _LIBC]:
85103         Use prototypes rather than old-style function definitions.
85104         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
85105         (transit_state_sb) [0]:
85106         (find_collation_sequence_value) [defined _LIBC]: Likewise.
85107
85108         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
85109         rm_eo.
85110
85111         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
85112         (optimize_subexps, lower_subexp):
85113         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
85114         since the signed shift might overflow.  Use 1u<<31 instead.
85115         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85116         Likewise.
85117         * lib/regexec.c (check_dst_limits_calc_pos_1,
85118         check_subexp_matching_top): Likewise.
85119
85120         * lib/regcomp.c (optimize_subexps, lower_subexp):
85121         Use CHAR_BIT rather than 8, for clarity.
85122         * lib/regexec.c (check_dst_limits_calc_pos_1):
85123         (check_subexp_matching_top): Likewise.
85124         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
85125         have to worry about portability issues when shifting it left.
85126         Remove no-longer-needed test for table_size > 0.
85127         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
85128         in a word, as the resulting behavior is undefined.
85129         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
85130         in one case, a <= should have been an <, and in another case the
85131         whole test was missing.
85132         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
85133         the standard name CHAR_BIT.
85134         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
85135         this is not true on one's complement and signed-magnitude hosts.
85136
85137         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
85138         next_last_offset.
85139         (struct re_dfa_t): Remove unused member states_alloc.
85140         * lib/regcomp.c (init_dfa): Don't initialize unused members.
85141
85142 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85143
85144         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
85145         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
85146         and large-file glibc and in 32-bit large-file Solaris.
85147
85148 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85149
85150         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
85151         lengths fit in regoff_t; this isn't true if regoff_t is the same
85152         width as size_t.
85153         * lib/regex.c (re_search_internal): 5th arg is LAST_START
85154         (= START + RANGE) instead of RANGE.  This avoids overflow
85155         problems when regoff_t is the same width as size_t.
85156         All callers changed.
85157         (re_search_2_stub): Check for overflow when adding the
85158         sizes of the two strings.
85159         (re_search_stub): Check for overflow when adding START
85160         to RANGE; if it occurs, substitute the extreme value.
85161
85162 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85163
85164         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
85165
85166 2005-08-31  Jim Meyering  <jim@meyering.net>
85167
85168         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
85169         a pointer-to-const.
85170         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
85171         (register_state): Likewise.
85172         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
85173         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85174         (group_nodes_into_DFAstates): Likewise.
85175
85176 2005-08-31  Jim Meyering  <jim@meyering.net>
85177
85178         * check-module: Add a FIXME comment.
85179
85180 2005-08-31  Eric Blake  <ebb9@byu.net>
85181
85182         * modules/unistd-safer (Files): Add unistd--.h.
85183         * modules/stdio-safer (Files): Add stdio--.h.
85184
85185 2005-08-31  Derek Price  <derek@ximbiot.com>
85186
85187         * lib/getdelim.c (getdelim): Return EOF on EOF.
85188         Reported by Larry Jones <lawrence.jones@ugs.com>.
85189
85190 2005-08-31  Bruno Haible  <bruno@clisp.org>
85191
85192         Avoid unnecessary diffs in the generated lib/Makefile.am.
85193         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
85194         the generated files.
85195         (func_import): Don't set cmd.
85196
85197 2005-08-31  Bruno Haible  <bruno@clisp.org>
85198
85199         * lib/strstr.c: Include <stddef.h>, for NULL.
85200         * lib/strcasestr.c: Likewise.
85201         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85202
85203 2005-08-31  Bruno Haible  <bruno@clisp.org>
85204
85205         * gnulib-tool: New option --macro-prefix.
85206         (func_import): Use macro_prefix.
85207         (import): Handle option --macro-prefix.
85208
85209 2005-08-31  Bruno Haible  <bruno@clisp.org>
85210
85211         * gnulib-tool (import): Rename most ac_* variables to cached_*.
85212         Also use new variables cached_lgpl, cached_libtool.
85213
85214 2005-08-31  Bruno Haible  <bruno@clisp.org>
85215
85216         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
85217         always instantiating them.
85218
85219 2005-08-31  Bruno Haible  <bruno@clisp.org>
85220
85221         * gnulib-tool (func_import): Read the previous cached settings
85222         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
85223         earlier added by gnulib but are now dropped. Warn when a gnulib file
85224         overwrites a non-gnulib file.
85225
85226 2005-08-31  Bruno Haible  <bruno@clisp.org>
85227
85228         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
85229         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
85230         projects that don't keep autogenerated files in CVS. Put into
85231         actioncmd only the specified modules, not the transitive closure.
85232
85233 2005-08-31  Bruno Haible  <bruno@clisp.org>
85234
85235         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
85236         Create directories that shall be filled.
85237         (import): Don't look for gl_* macros in configure.ac. Recurse across
85238         all directories containing a gnulib-cache.m4 files, if meaningful.
85239
85240 2005-08-31  Bruno Haible  <bruno@clisp.org>
85241
85242         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
85243         (import): Set seen_libtool when we see gl_LIBTOOL.
85244
85245 2005-08-31  Bruno Haible  <bruno@clisp.org>
85246
85247         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
85248         declaration macro definitions from generated gnulib.m4.
85249
85250 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
85251
85252         * lib/iconvme.h: Add prototype for iconv_alloc.
85253
85254 2005-08-29  Simon Josefsson  <jas@extundo.com>
85255
85256         * lib/iconvme.c: Fix errno.
85257
85258 2005-08-29  Bruno Haible  <bruno@clisp.org>
85259
85260         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
85261         that it works when the directory contains spaces.
85262
85263 2005-08-29  Bruno Haible  <bruno@clisp.org>
85264
85265         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
85266
85267 2005-08-29  Bruno Haible  <bruno@clisp.org>
85268
85269         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
85270         Emit more advice.
85271
85272 2005-08-29  Bruno Haible  <bruno@clisp.org>
85273         and Stepan Kasal  <kasal@ucw.cz>
85274
85275         * check-module: If more parameters are given, check each of them
85276         separately; add more exceptions, as noted by Jim Meyering.
85277         (check_module): New procedure.
85278         (%exempt_header): Now contains all exceptions.
85279
85280 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
85281
85282         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
85283
85284 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85285
85286         * lib/iconvme.c: Split iconv_string into iconv_alloc.
85287
85288 2005-08-28  Bruno Haible  <bruno@clisp.org>
85289
85290         * m4/gnulib-tool.m4: New file.
85291
85292 2005-08-27  Jim Meyering  <jim@meyering.net>
85293
85294         * modules/unistd-safer (Files): Add pipe-safer.c.
85295         * modules/fcntl-safer (Files): Add creat-safer.c.
85296
85297 2005-08-27  Jim Meyering  <jim@meyering.net>
85298
85299         * m4/stdlib-safer.m4: New file.  From coreutils.
85300         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
85301         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
85302         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
85303         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
85304         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
85305
85306 2005-08-27  Jim Meyering  <jim@meyering.net>
85307
85308         * lib/fopen-safer.c: Merge minor changes from coreutils.
85309         * lib/dup-safer.c: Likewise.
85310         * lib/fd-safer.c: Likewise.
85311
85312         Merge from coreutils.
85313         * lib/stdio--.h: New file.
85314         * lib/stdlib--.h: New file.
85315         * lib/mkstemp-safer.c: New file.
85316
85317         GNU tar needs these.
85318         * lib/pipe-safer.c: New file.
85319         * lib/creat-safer.c: New file.
85320         * lib/fcntl--.h (creat): Define to creat_safer.
85321         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
85322         * lib/unistd--.h (pipe): Define to pipe_safer.
85323         * lib/unistd-safer.h: Declare pipe_safer.
85324
85325 2005-08-26  Simon Josefsson  <jas@extundo.com>
85326
85327         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
85328         Haible <bruno@clisp.org>.
85329
85330 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
85331
85332         * lib/regex_internal.h: Remove all references to
85333         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
85334         or better.
85335         (bitset_not, bitset_merge, bitset_not_merge):
85336         (bitset_mask, re_string_allocate, re_string_construct):
85337         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
85338         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
85339         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
85340         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
85341         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85342         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85343         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
85344         (re_acquire_state_context):
85345         Remove unnecessary forward decls.
85346         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
85347         Put __attribute at function definition,
85348         now that the function decl has been removed.
85349         * lib/regex_internal.c (re_string_peek_byte_case):
85350         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
85351         Likewise.
85352
85353 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
85354
85355         * m4/regex.m4: Add AC_PREREQ(2.50).
85356         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
85357
85358 2005-08-25  Simon Josefsson  <jas@extundo.com>
85359
85360         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
85361         __fsetlocking.
85362
85363 2005-08-25  Simon Josefsson  <jas@extundo.com>
85364
85365         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
85366         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
85367         GLIBC specific code.
85368
85369 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85370
85371         Make regex safe for g++.  This fixes one real bug (an "err"
85372         that should have been "*err").  g++ problem reported by
85373         Sam Steingold.
85374         * lib/regex_internal.h (re_calloc): New macro, consistent with
85375         re_malloc etc.  All callers of calloc changed to use re_calloc.
85376         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
85377         not int.  All callers changed.
85378         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
85379         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
85380         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
85381         (find_recover_state): Change "err" to "*err"; this fixes what
85382         appears to be a real bug.
85383         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
85384         versus int.
85385
85386 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85387
85388         * modules/regex (Depends-on): Add malloc, since the code
85389         assumes that !malloc(0) means failure.
85390
85391 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85392
85393         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
85394
85395         alloca modernization/simplification for regex.
85396         * lib/regex.c: Remove portability cruft for alloca.  This no longer
85397         needs to be at the start of the file, and can be moved into
85398         regex_internal.h and simplified.
85399         * lib/regex_internal.h: Include <alloca.h>.
85400         (__libc_use_alloca) [!defined _LIBC]: New macro.
85401         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
85402         now works outside glibc.
85403
85404 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85405
85406         * config/srclist.txt: Add glibc bugs 1241, 1245.
85407
85408 2005-08-25  Jim Meyering  <jim@meyering.net>
85409
85410         * lib/open-safer.c: Include <config.h>.
85411         Otherwise, we'd lose LARGEFILE support in any file using
85412         e.g. "fcntl--.h"
85413
85414 2005-08-25  Bruno Haible  <bruno@clisp.org>
85415
85416         * m4/minmax.m4: Require autoconf 2.52.
85417         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
85418         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
85419         alternatives of translit over the alphabet.
85420         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
85421
85422 2005-08-24  Simon Josefsson  <jas@extundo.com>
85423
85424         * tests/test-getpass.c: New file.
85425
85426 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85427
85428         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
85429         for GNU regex features.
85430
85431 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85432
85433         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
85434         * lib/regex.h (regerror): Likewise.
85435
85436         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
85437         requires this.  (The code never needed it.)
85438
85439         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
85440         All uses of recently-renamed identifiers changed to use the new,
85441         POSIX-compliant names.  The code will build and run just fine
85442         without these changes, but it's better to eat our own dog food
85443         and use the standard-conforming names.
85444
85445         * lib/regex.h: Fix a multitude of POSIX name space violations.
85446         These changes have an effect only for programs that define
85447         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
85448         do not change anything for programs compiled in the normal way.
85449         Also, there is no effect on the ABI.
85450
85451         (_REGEX_SOURCE): New macro.
85452         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
85453         defined and _GNU_SOURCE is not; this fixes a name space violation.
85454
85455         Rename the following macros to obey POSIX requirements.
85456         The old names are still visible as macros if _REGEX_SOURCE is defined.
85457         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
85458         RE_BACKSLASH_ESCAPE_IN_LISTS.
85459         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
85460         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
85461         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
85462         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
85463         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
85464         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
85465         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
85466         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
85467         (REG_INTERVALS): renamed from RE_INTERVALS.
85468         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
85469         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
85470         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
85471         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
85472         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
85473         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
85474         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
85475         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
85476         RE_UNMATCHED_RIGHT_PAREN_ORD.
85477         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
85478         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
85479         (REG_DEBUG): renamed from RE_DEBUG.
85480         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
85481         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
85482         unusual, since we can't clash with the POSIX REG_ICASE.
85483         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
85484         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
85485         (REG_NO_SUB): renamed from RE_NO_SUB.
85486         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
85487         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
85488         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
85489         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
85490         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
85491         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
85492         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
85493         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
85494         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
85495         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
85496         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
85497         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
85498         RE_SYNTAX_POSIX_MINIMAL_BASIC.
85499         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
85500         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
85501         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
85502         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
85503         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
85504         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
85505         (REG_FIXED): Renamed from REGS_FIXED.
85506         (REG_NREGS): Renamed from RE_NREGS.
85507
85508         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
85509         of other REG_* macros, since POSIX says the user is allowed to
85510         #undef these macros selectively.
85511
85512         (reg_errcode_t): Update comment stating what other tables need
85513         to be consistent.
85514
85515         Rename the following enum values to obey POSIX requirements.
85516         The old names are still visible as macros.
85517         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
85518         is not defined, since GNU is supposed to be a superset of POSIX as
85519         much as possible, and since we want reg_errcode_t to be a signed
85520         type for implementation consistency.
85521         (_REG_NOERROR): Renamed from REG_NOERROR.
85522         (_REG_NOMATCH): Renamed from REG_NOMATCH.
85523         (_REG_BADPAT): Renamed from REG_BADPAT.
85524         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
85525         (_REG_ECTYPE): Renamed from REG_ECTYPE.
85526         (_REG_EESCAPE): Renamed from REG_EESCAPE.
85527         (_REG_ESUBREG): Renamed from REG_ESUBREG.
85528         (_REG_EBRACK): Renamed from REG_EBRACK.
85529         (_REG_EPAREN): Renamed from REG_EPAREN.
85530         (_REG_EBRACE): Renamed from REG_EBRACE.
85531         (_REG_BADBR): Renamed from REG_BADBR.
85532         (_REG_ERANGE): Renamed from REG_ERANGE.
85533         (_REG_ESPACE): Renamed from REG_ESPACE.
85534         (_REG_BADRPT): Renamed from REG_BADRPT.
85535         (_REG_EEND): Renamed from REG_EEND.
85536         (_REG_ESIZE): Renamed from REG_ESIZE.
85537         (_REG_ERPAREN): Renamed from REG_ERPAREN.
85538         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
85539         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
85540         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
85541         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
85542
85543         (_REG_RE_NAME, _REG_RM_NAME): New macros.
85544         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
85545         changed.  But support the old name if the new one is not defined
85546         and if _REGEX_SOURCE.
85547
85548         Change the following member names in struct re_pattern_buffer.
85549         The old names are still supported if !_REGEX_SOURCE.
85550         The new names are always supported, regardless of _REGEX_SOURCE.
85551         (re_buffer): Renamed from buffer.
85552         (re_allocated): Renamed from allocated.
85553         (re_used): Renamed from used.
85554         (re_syntax): Renamed from syntax.
85555         (re_fastmap): Renamed from fastmap.
85556         (re_translate): Renamed from translate.
85557         (re_can_be_null): Renamed from can_be_null.
85558         (re_regs_allocated): Renamed from regs_allocated.
85559         (re_fastmap_accurate): Renamed from fastmap_accurate.
85560         (re_no_sub): Renamed from no_sub.
85561         (re_not_bol): Renamed from not_bol.
85562         (re_not_eol): Renamed from not_eol.
85563         (re_newline_anchor): Renamed from newline_anchor.
85564
85565         Change the following member names in struct re_registers.
85566         The old names are still supported if !_REGEX_SOURCE.
85567         The new names are always supported, regardless of _REGEX_SOURCE.
85568         (rm_num_regs): Renamed from num_regs.
85569         (rm_start): Renamed from start.
85570         (rm_end): Renamed from end.
85571
85572         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
85573         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
85574         Prepend __ to parameter names.
85575
85576         Undo yesterday's changes.
85577
85578 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85579
85580         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
85581         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
85582         lib/regex.c.
85583
85584 2005-08-24  Jim Meyering  <jim@meyering.net>
85585
85586         Sync from coreutils.
85587         * m4/fcntl-safer.m4: New file.
85588
85589         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
85590         and object files for this module.
85591
85592 2005-08-24  Jim Meyering  <jim@meyering.net>
85593
85594         Sync from coreutils.
85595         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
85596
85597 2005-08-24  Jim Meyering  <jim@meyering.net>
85598
85599         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
85600         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
85601
85602 2005-08-24  Jim Meyering  <jim@meyering.net>
85603
85604         * modules/fcntl-safer: New module.
85605         * modules/fts (Depends-on): Add fcntl-safer.
85606         * MODULES.html.sh (File descriptor based Input/Output):
85607         Add fcntl-safer.
85608
85609 2005-08-24  Bruno Haible  <bruno@clisp.org>
85610
85611         Support for unit test modules.
85612         * modules/README: Mention tests modules.
85613         * modules/TEMPLATE-TESTS: New file.
85614         * gnulib-tool: New options --extract-tests-module, --with-tests and
85615         --tests-base (unused for the moment).
85616         (testsbase, inctests): New variables.
85617         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
85618         (func_verify_module): Exclude TEMPLATE-TESTS.
85619         (func_verify_nontests_module, func_verify_tests_module): New functions.
85620         (func_get_dependencies): Add implicit dependency for tests modules.
85621         (func_get_tests_module): New function.
85622         (func_modules_transitive_closure): When --with-tests was specified,
85623         include the unit tests as well, unless explicitly avoided.
85624         (func_emit_lib_Makefile_am): Ignore the tests modules here.
85625         (func_emit_tests_Makefile_am): New function.
85626         (func_create_testdir): When --with-tests was specified, emit a
85627         tests/ directory.
85628         * MODULES.html.sh (Future developments): Update.
85629
85630 2005-08-24  Bruno Haible  <bruno@clisp.org>
85631
85632         * modules/tls-tests: New file.
85633         * tests/test-tls.c: New file, from GNU gettext.
85634
85635 2005-08-24  Bruno Haible  <bruno@clisp.org>
85636
85637         * modules/lock-tests: New file.
85638         * tests/test-lock.c: New file, from GNU gettext.
85639
85640 2005-08-24  Bruno Haible  <bruno@clisp.org>
85641
85642         * lib/lock.h: Add multiple inclusion guard.
85643         * lib/tls.h: Add multiple inclusion guard.
85644
85645 2005-08-24  Bruno Haible  <bruno@clisp.org>
85646
85647         * gnulib-tool: Add support for the --aux-dir option to
85648         --create-testdir, --create-megatestdir, --test, --megatest.
85649         (func_create_testdir, func_create_megatestdir): Optionally emit a
85650         AC_CONFIG_AUX_DIR directive.
85651         (create-testdir, create-megatestdir, test, megatest): Provide a
85652         default value for $auxdir.
85653
85654 2005-08-24  Bruno Haible  <bruno@clisp.org>
85655
85656         * gnulib-tool (import): Use compound statement instead of subshell
85657         where possible.
85658
85659 2005-08-24  Bruno Haible  <bruno@clisp.org>
85660
85661         * gnulib-tool (import): Change --aux-dir default to "build-aux".
85662
85663 2005-08-24  Bruno Haible  <bruno@clisp.org>
85664
85665         * gnulib-tool (func_version): Update.
85666
85667 2005-08-24  Bruno Haible  <bruno@clisp.org>
85668
85669         * gnulib-tool (func_import, func_create_testdir,
85670         func_create_megatestdir): Quote all autoconf macro arguments.
85671
85672 2005-08-24  Bruno Haible  <bruno@clisp.org>
85673
85674         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
85675         option --force, because --force causes the aclocal.m4 of each
85676         subdirectory to be newer than the corresponding config.h.in.
85677
85678 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85679
85680         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
85681         All contents moved to gl_REGEX.
85682         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
85683         assume that it does.
85684
85685 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85686
85687         * lib/regex.h (REG_NOSYS)
85688         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
85689         Define, since POSIX requires it as of 2001.
85690         (_REG_ENOSYS)
85691         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
85692         New private symbol, used to keep the enum signed in all cases.
85693         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
85694         Youngman in
85695         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
85696
85697         * lib/regex_internal.c (re_string_skip_chars, register_state):
85698         (calc_state_hash):
85699         Remove forward decls; no longer needed now that we use prototypes.
85700         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
85701         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
85702         (clean_state_log_if_needed): Likewise.
85703
85704 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85705
85706         * config/srclist.txt: Add glibc bugs 1231-1233.
85707
85708 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85709
85710         Fix problems reported by Sam Steingold in
85711         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
85712         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
85713         assumed that reg_errcode_t is a signed type, which is not
85714         necessarily true if _XOPEN_SOURCE is not defined.
85715         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
85716         since some compilers warn about it otherwise.
85717
85718 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85719
85720         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
85721         (init_word_char, create_initial_state, duplicate_node_closure):
85722         (fetch_token, peek_token_bracket, build_range_exp):
85723         (build_collating_symbol): Remove forward decls; no longer needed
85724         now that we use prototypes.
85725
85726         * lib/regcomp.c:
85727         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
85728         (re_compile_fastmap_iter, regcomp, regerror, regfree):
85729         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
85730         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
85731         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
85732         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
85733         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
85734         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
85735         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
85736         (build_range_exp, build_collating_symbol, parse_bracket_exp):
85737         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
85738         (build_charclass, build_charclass_op, fetch_number, create_tree):
85739         (create_token_tree, mark_opt_subexp, duplicate_tree):
85740         Use prototypes rather than old-style definitions.
85741
85742         * lib/regex_internal.c:
85743         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
85744         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
85745         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85746         (re_string_reconstruct, re_string_peek_byte_case):
85747         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
85748         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85749         (re_node_set_init_copy, re_node_set_add_intersect):
85750         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85751         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85752         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85753         (re_acquire_state, re_acquire_state_context, register_state):
85754         (create_ci_newstate, create_cd_newstate, free_state):
85755         Likewise.
85756         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
85757         re_search_2):
85758         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
85759         (re_search_internal, prune_impossible_nodes):
85760         (acquire_init_state_context, check_matching, static):
85761         (check_halt_node_context, check_halt_state_context, proceed_next_node):
85762         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
85763         (update_regs, sift_states_backward, build_sifted_states):
85764         (clean_state_log_if_needed, merge_state_array):
85765         (update_cur_sifted_state, add_epsilon_src_nodes):
85766         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
85767         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
85768         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
85769         (find_recover_state, check_subexp_matching_top, transit_state_mb):
85770         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
85771         (check_arrival, check_arrival_add_next_nodes):
85772         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85773         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85774         (check_node_accept_bytes, check_node_accept, extend_buffers):
85775         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
85776         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
85777         (sift_ctx_init):
85778         Likewise.
85779
85780         * lib/regex_internal.h:
85781         (re_string_allocate, re_string_construct, re_string_reconstruct):
85782         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
85783         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
85784         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
85785         (re_string_context_at, re_string_peek_byte_case):
85786         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
85787         is defined, since we now use prototypes always.
85788
85789         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
85790         C89 or better.  All uses removed.
85791
85792 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85793
85794         * config/srclist.txt: Add glibc bugs 1220-1227.
85795
85796 2005-08-20  Jim Meyering  <jim@meyering.net>
85797
85798         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
85799         of unused local, dfa.
85800
85801 2005-08-20  Bruno Haible  <bruno@clisp.org>
85802
85803         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
85804
85805 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85806
85807         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
85808         (re_node_set_insert_last, re_dfa_add_node):
85809         Rename local variables to avoid GCC shadowing warnings.
85810
85811 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85812
85813         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
85814         [defined lint]: Suppress bogus uninitialized-variable warnings.
85815
85816         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
85817         and let the caller return REG_ESPACE if out of space.  This
85818         removes an uninitialied-variable warning with GCC 4.0.1, and also
85819         avoids taking the address of a local variable.  All callers
85820         changed.
85821
85822 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85823
85824         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
85825         $LIBCSRC/posix/regexec.c.
85826         Add glibc bug 1217 for regcomp.c.
85827
85828 2005-08-19  Jim Meyering  <jim@meyering.net>
85829
85830         * lib/regexec.c (proceed_next_node): Redo local variables to
85831         avoid GCC shadowing warnings.
85832
85833 2005-08-18  Bruno Haible  <bruno@clisp.org>
85834
85835         * lib/strstr.c (strstr): Fix return value in multibyte case.
85836         * lib/strcasestr.c (strcasestr): Likewise.
85837
85838 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
85839
85840         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
85841
85842 2005-08-17  Jim Meyering  <jim@meyering.net>
85843
85844         Make the %s format (seconds since the epoch) work for a negative
85845         number and when used with a zero-padded field width, e.g. %015s.
85846
85847         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
85848         label so that it precedes the code to set `digits'.  Otherwise,
85849         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
85850         print `00-22'.  Now, it prints `-0022', as it should.
85851
85852 2005-08-17  Bruno Haible  <bruno@clisp.org>
85853
85854         * modules/strstr (Files): Add m4/mbrtowc.m4.
85855         (Depends-on): Add mbuiter.
85856
85857 2005-08-17  Bruno Haible  <bruno@clisp.org>
85858
85859         * modules/strcasestr: New file.
85860         * MODULES.html.sh (String handling, based on ANSI C 89): Add
85861         strcasestr.
85862
85863 2005-08-17  Bruno Haible  <bruno@clisp.org>
85864
85865         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
85866
85867 2005-08-17  Bruno Haible  <bruno@clisp.org>
85868
85869         * modules/mbuiter: New file.
85870         * MODULES.html.sh (Extended multibyte and wide character utilities):
85871         Add mbuiter.
85872
85873 2005-08-17  Bruno Haible  <bruno@clisp.org>
85874
85875         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
85876         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
85877
85878 2005-08-17  Bruno Haible  <bruno@clisp.org>
85879
85880         * m4/strcasestr.m4: New file.
85881
85882 2005-08-17  Bruno Haible  <bruno@clisp.org>
85883
85884         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
85885         * lib/strstr.c: Completely rewritten, with multibyte locale support.
85886
85887 2005-08-17  Bruno Haible  <bruno@clisp.org>
85888
85889         * lib/strcasestr.h: New file.
85890         * lib/strcasestr.c: New file.
85891
85892 2005-08-17  Bruno Haible  <bruno@clisp.org>
85893
85894         * lib/strcasecmp.c: Use mbuiter.h.
85895
85896 2005-08-17  Bruno Haible  <bruno@clisp.org>
85897
85898         * lib/mbuiter.h: New file.
85899
85900 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
85901
85902         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
85903         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
85904         and gl_GETOPT are both invoked via different paths (as happens
85905         with GNU tar CVS because it uses both argp and getopt), the former
85906         wins.
85907
85908 2005-08-16  Bruno Haible  <bruno@clisp.org>
85909
85910         * modules/tls: New file.
85911         * MODULES.html.sh (Multithreading): Add tls.
85912
85913 2005-08-16  Bruno Haible  <bruno@clisp.org>
85914
85915         * modules/strnlen1: New file.
85916         * MODULES.html.sh (String handling): Add strnlen1.
85917
85918 2005-08-16  Bruno Haible  <bruno@clisp.org>
85919
85920         * modules/strcase (Files): Add m4/mbrtowc.m4.
85921         (Depends-on): Add strnlen1, mbchar.
85922
85923 2005-08-16  Bruno Haible  <bruno@clisp.org>
85924
85925         * modules/mbiter: New file.
85926         * MODULES.html.sh (Extended multibyte and wide character utilities):
85927         Add mbiter.
85928
85929 2005-08-16  Bruno Haible  <bruno@clisp.org>
85930
85931         * modules/mbfile: New file.
85932         * MODULES.html.sh (Extended multibyte and wide character utilities):
85933         Add mbfile.
85934
85935 2005-08-16  Bruno Haible  <bruno@clisp.org>
85936
85937         * modules/mbchar: New file.
85938         * MODULES.html.sh (Extended multibyte and wide character utilities):
85939         New section.
85940
85941 2005-08-16  Bruno Haible  <bruno@clisp.org>
85942
85943         * m4/tls.m4: New file, from GNU gettext.
85944
85945 2005-08-16  Bruno Haible  <bruno@clisp.org>
85946
85947         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
85948         always.
85949         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
85950
85951 2005-08-16  Bruno Haible  <bruno@clisp.org>
85952
85953         * m4/mbiter.m4: New file.
85954
85955 2005-08-16  Bruno Haible  <bruno@clisp.org>
85956
85957         * m4/mbfile.m4: New file.
85958
85959 2005-08-16  Bruno Haible  <bruno@clisp.org>
85960
85961         * m4/mbchar.m4: New file.
85962
85963 2005-08-16  Bruno Haible  <bruno@clisp.org>
85964
85965         * lib/tls.h: New file, from GNU gettext.
85966         * lib/tls.c: New file, from GNU gettext.
85967
85968 2005-08-16  Bruno Haible  <bruno@clisp.org>
85969
85970         * lib/strnlen1.h: New file.
85971         * lib/strnlen1.c: New file.
85972
85973 2005-08-16  Bruno Haible  <bruno@clisp.org>
85974
85975         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
85976         (mbi_init): Update.
85977         (mbi_avail, mbi_advance): Let the iteration end before the terminating
85978         NUL byte, not after it.
85979
85980 2005-08-16  Bruno Haible  <bruno@clisp.org>
85981
85982         * lib/strcase.h (strcasecmp): Add note in comments.
85983         * lib/strncasecmp.c: Use code from strcasecmp.c.
85984         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
85985         (strcasecmp): Work correctly in multibyte locales.
85986
85987 2005-08-16  Bruno Haible  <bruno@clisp.org>
85988
85989         * lib/mbiter.h: New file.
85990
85991 2005-08-16  Bruno Haible  <bruno@clisp.org>
85992
85993         * lib/mbfile.h: New file.
85994
85995 2005-08-16  Bruno Haible  <bruno@clisp.org>
85996
85997         * lib/mbchar.h: New file.
85998         * lib/mbchar.c: New file.
85999
86000 2005-08-16  Bruno Haible  <bruno@clisp.org>
86001
86002         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
86003         the valid ones. Makes the comparison operations transitive:
86004         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
86005         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
86006
86007 2005-08-15  Simon Josefsson  <jas@extundo.com>
86008
86009         * modules/ssize_t (License): Change to 'unlimited'.
86010
86011         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
86012
86013 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
86014
86015         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
86016         Add comments for each pending glibc patch.
86017
86018 2005-08-15  Bruno Haible  <bruno@clisp.org>
86019
86020         * lib/regex.h (__restrict_arr): Don't define to __restrict if
86021         __cplusplus is defined.
86022
86023 2005-08-14  Jim Meyering  <jim@meyering.net>
86024
86025         Sync from coreutils.
86026
86027         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
86028         Use the hash-table-based cycle-detection code not just when
86029         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
86030         Reported by James Youngman in
86031         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
86032         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
86033         FTS_TIGHT_CYCLE_CHECK.
86034         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
86035         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
86036         once again.
86037         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
86038         * lib/fts.c (fd_safer): Remove decl.
86039         Include fcntl--.h rather than unistd-safer.h
86040         (fts_safe_changedir): Don't call fd_safer; no longer needed
86041         now that we include fcntl--.h.
86042
86043 2005-08-12  Simon Josefsson  <jas@extundo.com>
86044
86045         * modules/getndelim2: Use ssize_t module.
86046         * modules/getnline: Likewise.
86047         * modules/safe-read: Likewise.
86048         * modules/xreadlink: Likewise.
86049
86050         * modules/ssize_t: New file.
86051
86052 2005-08-12  Simon Josefsson  <jas@extundo.com>
86053
86054         * m4/readline.m4: Look for termcap, curses or ncurses if required.
86055
86056 2005-08-12  Simon Josefsson  <jas@extundo.com>
86057
86058         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86059         ssize_t.
86060
86061 2005-08-12  Simon Josefsson  <jas@extundo.com>
86062
86063         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
86064         readline, getdelim and check_version.
86065         (Support for systems lacking ISO C 99: Sizes of integer types):
86066         Add size_max.
86067
86068 2005-08-12  Bruno Haible  <bruno@clisp.org>
86069
86070         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
86071
86072 2005-08-11  Simon Josefsson  <jas@extundo.com>
86073
86074         * modules/readline: New file.
86075
86076         * modules/strnlen (Files): Add strnlen.h.
86077
86078 2005-08-11  Simon Josefsson  <jas@extundo.com>
86079
86080         * m4/readline.m4: New file.
86081
86082 2005-08-11  Simon Josefsson  <jas@extundo.com>
86083
86084         * lib/readline.h, readline.c: New file.
86085
86086 2005-08-11  Simon Josefsson  <jas@extundo.com>
86087
86088         * doc/gnulib.texi (Initial import, Finishing touches): Mention
86089         gl_AVOID.
86090
86091 2005-08-11  Bruno Haible  <bruno@clisp.org>
86092
86093         * lib/strnlen.h (strnlen): Change parameter name to match comment.
86094
86095 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
86096
86097         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
86098
86099 2005-08-10  Simon Josefsson  <jas@extundo.com>
86100
86101         * tests/test-iconvme.c: New file.
86102
86103 2005-08-10  Simon Josefsson  <jas@extundo.com>
86104
86105         * m4/strnlen.m4: New file.
86106
86107         * m4/strndup.m4: Don't check for strnlen declaration, done in
86108         strnlen.m4.
86109
86110 2005-08-10  Simon Josefsson  <jas@extundo.com>
86111
86112         * lib/strndup.c: Use strnlen.h.
86113
86114         * lib/strnlen.h: New file.
86115
86116 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
86117
86118         * README: Typos.
86119
86120 2005-08-02  Simon Josefsson  <jas@extundo.com>
86121
86122         * modules/readline: New file.
86123
86124 2005-08-02  Simon Josefsson  <jas@extundo.com>
86125
86126         * modules/getdelim: New file.
86127
86128         * modules/getline: Rewrite, don't use getndelim2.
86129
86130 2005-08-02  Simon Josefsson  <jas@extundo.com>
86131
86132         * m4/getline.m4: Separate out getdelim stuff into separate module.
86133
86134         * m4/getdelim.m4: New file.
86135
86136 2005-08-02  Simon Josefsson  <jas@extundo.com>
86137
86138         * lib/getline.h, getline.c: Rewrite.
86139
86140         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
86141
86142 2005-07-31  Bruno Haible  <bruno@clisp.org>
86143
86144         * lib/lock.h (gl_lock_initializer): New macro.
86145         (gl_lock_define_initialized): Use it.
86146         (gl_rwlock_initializer): New macro.
86147         (gl_rwlock_define_initialized): Use it.
86148         (gl_recursive_lock_initializer): New macro.
86149         (gl_recursive_lock_define_initialized): Use it.
86150
86151 2005-07-30  Karl Berry  <karl@gnu.org>
86152
86153         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
86154         Report from Ben Pfaff, regarding getopt.
86155
86156 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
86157
86158         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
86159         normal way.
86160         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
86161         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
86162         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
86163         (gl_GETOPT): Use the new macros.  Most of the implementation
86164         is moved to the new macros.  This is for programs like Emacs
86165         that don't want all the functionality of gl_GETOPT.
86166
86167 2005-07-26  Bruno Haible  <bruno@clisp.org>
86168
86169         * m4/lock.m4: Update from GNU gettext.
86170
86171 2005-07-26  Bruno Haible  <bruno@clisp.org>
86172
86173         * lib/lock.h: Update from GNU gettext.
86174         * lib/lock.c: Update from GNU gettext.
86175
86176 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
86177
86178         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
86179         obsolescent AC_TRY_RUN.  Include the default includes files, for
86180         'exit'.
86181
86182 2005-07-24  Bruno Haible  <bruno@clisp.org>
86183
86184         * modules/visibility: New file.
86185         * MODULES.html.sh (Misc): Add visibility.
86186
86187 2005-07-24  Bruno Haible  <bruno@clisp.org>
86188
86189         * m4/visibility.m4: New file.
86190
86191 2005-07-24  Bruno Haible  <bruno@clisp.org>
86192
86193         * doc/visibility.texi: New file.
86194
86195 2005-07-22  Bruno Haible  <bruno@clisp.org>
86196
86197         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
86198         $(ALLOCA_H), redundant through BUILT_SOURCES.
86199         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
86200         redundant through BUILT_SOURCES.
86201         * modules/byteswap (Makefile.am): Remove explicit dependency on
86202         $(BYTESWAP_H), redundant through BUILT_SOURCES.
86203         * modules/fnmatch (Makefile.am): Remove explicit dependency on
86204         $(FNMATCH_H), redundant through BUILT_SOURCES.
86205         * modules/getopt (Makefile.am): Remove explicit dependency on
86206         $(GETOPT_H), redundant through BUILT_SOURCES.
86207         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
86208         redundant through BUILT_SOURCES.
86209         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
86210         redundant through BUILT_SOURCES.
86211         * modules/stdbool (Makefile.am): Remove explicit dependency on
86212         $(STDBOOL_H), redundant through BUILT_SOURCES.
86213         * modules/stdint (Makefile.am): Remove explicit dependency on
86214         $(STDINT_H), redundant through BUILT_SOURCES.
86215         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
86216         Remove explicit dependency on $(SYSEXITS_H).
86217         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
86218
86219 2005-07-18  Simon Josefsson  <jas@extundo.com>
86220
86221         * lib/check-version.c (check_version): Accept identical versions too.
86222
86223 2005-07-18  Bruno Haible  <bruno@clisp.org>
86224
86225         * modules/lock: New file.
86226         * MODULES.html.sh (Multithreading): New section.
86227
86228 2005-07-18  Bruno Haible  <bruno@clisp.org>
86229
86230         * m4/lock.m4: New file, from GNU gettext.
86231
86232 2005-07-18  Bruno Haible  <bruno@clisp.org>
86233
86234         * lib/lock.h: New file, from GNU gettext.
86235         * lib/lock.c: New file, from GNU gettext.
86236
86237 2005-07-18  Bruno Haible  <bruno@clisp.org>
86238
86239         * lib/lock.h (gl_once_t): New type.
86240         (gl_once_define, gl_once): New macros.
86241         * lib/lock.c (fresh_once): New variable.
86242         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
86243         functions.
86244
86245 2005-07-16  Simon Josefsson  <jas@extundo.com>
86246
86247         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
86248         workaround, suggested by Bruno.
86249
86250 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86251
86252         * modules/xalloc (Depends-on): Add xalloc-die.
86253         * modules/xvasprintf (Depends-on): Add xalloc-die.
86254
86255 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86256
86257         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
86258         with a minor change.
86259
86260 2005-07-15  Bruno Haible  <bruno@clisp.org>
86261
86262         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
86263         When using lib/poll.c, define poll as rpl_poll.
86264
86265 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
86266
86267         * modules/argp (Depends-on): Remove unlocked-io.
86268
86269 2005-07-14  Derek Price  <derek@ximbiot.com>
86270
86271         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
86272         for glob symlink bug.
86273
86274 2005-07-14  Bruno Haible  <bruno@clisp.org>
86275
86276         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
86277         Instead, test for *_unlocked function declarations directly.
86278
86279 2005-07-11  Simon Josefsson  <jas@extundo.com>
86280
86281         * modules/size_max: New file.
86282
86283         * modules/xsize: Depend on size_max module for size_max.m4.
86284
86285 2005-07-11  Simon Josefsson  <jas@extundo.com>
86286
86287         * lib/size_max.h: New file.
86288
86289 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
86290
86291         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
86292         copyright symbol and the year.
86293         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
86294         (version_etc_va): Use parameterized copyright notice.
86295         Reword to conform to the current GNU coding standards.
86296
86297 2005-07-11  Karl Berry  <karl@gnu.org>
86298
86299         * doc/gnulib.texi (Quoting): new node.
86300         (Initial import): more info, from Patrice.
86301
86302 2005-07-11  Bruno Haible  <bruno@clisp.org>
86303
86304         * gnulib-tool (func_usage): Document option --avoid.
86305         (Command line options): Handle --avoid.
86306         (func_acceptable): New function.
86307         (func_modules_transitive_closure): Use it.
86308
86309 2005-07-11  Bruno Haible  <bruno@clisp.org>
86310
86311         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
86312         Reported by Jim Meyering.
86313
86314 2005-07-10  Bruno Haible  <bruno@clisp.org>
86315
86316         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
86317         Needed when size_t is smaller than 'unsigned int'.
86318         Reported by Paul Eggert.
86319
86320 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86321
86322         * modules/argp (Depends-on): Add unlocked-io
86323
86324 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86325
86326         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
86327         block of defines.
86328
86329 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
86330
86331         * config/srclist.txt: Comment out regcomp.c, since we have a porting
86332         fix now.
86333
86334 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
86335         and Paul Eggert  <eggert@cs.ucla.edu>
86336
86337         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
86338         in wint_t, not wchar_t.  Remove now-unnecessary cast.
86339
86340 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86341
86342         * modules/regex (Files): Add lib/regex_internal.c,
86343         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
86344         (Depends-on): Add extensions.
86345         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
86346
86347 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86348
86349         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
86350         pathconf.
86351         * m4/same.m4 (gl_SAME): Likewise.
86352         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
86353
86354         * m4/regex.m4: Adjust to new libc regex implementation.
86355         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
86356         all the .c and .h parts of (the new) regex.
86357         Quote the m4 stuff better.
86358         Check for RE_ICASE bug of old gnulib.
86359         Check for REG_STARTEND of recent libc.
86360         Rename local variables from jm_* to gl_*.
86361         Quote operand of "test -f".
86362         Say "recent enough" version of libc, not "version 2".
86363         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
86364         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
86365         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
86366         Remove check for btowc, isascii.
86367         Require AM_LANGINFO_CODESET.
86368
86369 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86370
86371         * lib/regex.c, regex.h: Sync from libc.
86372         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
86373         * lib/regexec.c:
86374         New files, synced from libc, except that regex_internal.h
86375         currently has a small porting fix.
86376
86377 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86378
86379         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
86380         regex_internal.c, regexec.c.
86381         Add regex_internal.h too, but as a comment, since the libc version
86382         is currently broken in gnulib mode.
86383
86384 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
86385
86386         Support programs like Emacs that use gnulib but not gettext.
86387         * MODULES.html.sh (Internationalization functions): Add gettext-h.
86388         * modules/gettext-h: New file.
86389         * modules/gettext (Files): Remove lib/gettext.h.
86390         (Depends-on): Add gettext-h.
86391         (Makefile.am): Remove lib_SOURCES.
86392         * modules/argmatch, modules/c-stack, modules/closeout:
86393         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
86394         * modules/execute, modules/file-type, modules/getaddrinfo:
86395         * modules/getopt, modules/human, modules/javacomp:
86396         * modules/javaexec, modules/mkdir-p, modules/obstack:
86397         * modules/openat, modules/pagealign_alloc, modules/pipe:
86398         * modules/quotearg, modules/regex, modules/rpmatch:
86399         * modules/unicodeio, modules/userspec, modules/version-etc:
86400         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
86401         * modules/xsetenv:
86402         Depend on gettext-h, not gettext.
86403
86404 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
86405
86406         * gnulib-tool (func_import): Add support for 'public domain' license.
86407         * modules/alloca, modules/atexit, modules/memmove:
86408         Now public domain, not GPL.
86409         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
86410         * modules/realloc, modules/strerror, modules/strtod:
86411         Now LGPL, not GPL.
86412
86413 2005-07-05  Bruno Haible  <bruno@clisp.org>
86414
86415         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
86416         autoconf CVS. Needed for mingw.
86417
86418 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86419
86420         Remove the dependency of the strftime module on the tzset module.
86421         * modules/strftime (Depends-on): Remove dependency on tzset.
86422
86423 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86424
86425         Remove the dependency of the strftime module on the tzset module.
86426         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
86427         gl_FUNC_TZSET_CLOBBER.
86428
86429 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86430
86431         Remove the dependency of the strftime module on the tzset module.
86432         * lib/strftime.c (my_strftime)
86433         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
86434         Copy the input structure, to work around some of the bug with
86435         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
86436         Solaris releases, you should also use the tzset module, but we won't
86437         require it as a dependency any more since we don't want LGPLed code
86438         to depend on GPLed code.
86439
86440 2005-07-02  Jim Meyering  <jim@meyering.net>
86441
86442         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
86443         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
86444         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
86445         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
86446
86447 2005-07-02  Jim Meyering  <jim@meyering.net>
86448
86449         * lib/backupfile.c (backup_args): Change a `0' to NULL.
86450
86451 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
86452
86453         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
86454         declares only 'struct timespec;' (!).
86455
86456 2005-07-01  Jim Meyering  <jim@meyering.net>
86457
86458         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
86459         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
86460         * lib/save-cwd.c, tempname.c:
86461         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
86462         and don't include <sys/file.h>).
86463
86464 2005-06-29  Jim Meyering  <jim@meyering.net>
86465
86466         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
86467         type name.  Use the variable name instead.
86468         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
86469         Likewise.
86470
86471 2005-06-28  Simon Josefsson  <jas@extundo.com>
86472
86473         * modules/check-version (Files): Add check-version.m4.
86474
86475 2005-06-28  Simon Josefsson  <jas@extundo.com>
86476
86477         * m4/check-version.m4: New file, suggested by Jim Meyering
86478         <jim@meyering.net>.
86479
86480 2005-06-28  Simon Josefsson  <jas@extundo.com>
86481
86482         * lib/check-version.h, lib/check-version.c: New files.
86483
86484 2005-06-28  Simon Josefsson  <jas@extundo.com>
86485
86486         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
86487         collision with global variable.  Better indentation.  Don't
86488         increment buffer pointer beyond buffer end.  Based on comments
86489         from Paul Eggert <eggert@cs.ucla.edu>.
86490
86491         * lib/base64.h: Indent.
86492
86493 2005-06-28  Simon Josefsson  <jas@extundo.com>
86494
86495         * doc/gnulib.texi (Library version handling): New section.
86496
86497 2005-06-28  Jim Meyering  <jim@meyering.net>
86498
86499         * check-module (find_included_lib_files): Hard-code another
86500         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
86501         but modules/fts-lgpl (correctly) does not list those files.
86502
86503         * modules/canonicalize (Files): Add lib/pathmax.h.
86504
86505 2005-06-25  Simon Josefsson  <jas@extundo.com>
86506
86507         * modules/check-version: New file.
86508
86509 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
86510
86511         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
86512         initializer of struct addrinfo, as an indication that we don't
86513         care how many members the structure has.
86514
86515 2005-06-24  Derek Price  <derek@ximbiot.com>
86516         and Bruno Haible  <bruno@clisp.org>
86517
86518         Remove stat module & update lstat.
86519         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
86520         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86521         * m4/stat.m4: Remove this file.
86522
86523 2005-06-24  Derek Price  <derek@ximbiot.com>
86524         and Bruno Haible  <bruno@clisp.org>
86525
86526         Remove stat module & update lstat.
86527         * lib/stat.c: Remove this file...
86528         (slash_aware_lstat): ...moving this content and its support...
86529         * lib/lstat.c (rpl_lstat): ...into here.
86530         * lib/lstat.h: New file.
86531
86532 2005-06-24  Derek Price  <derek@ximbiot.com>
86533         and Bruno Haible  <bruno@clisp.org>
86534
86535         Remove stat module & update lstat.
86536         * config/srclist.txt (libc sources): Remove stat.
86537
86538 2005-06-24  Derek Price  <derek@ximbiot.com>
86539         and Bruno Haible  <bruno@clisp.org>
86540
86541         Remove stat module & update lstat.
86542         * MODULES.html.sh (stat): Remove.
86543         * MODULES.html: Regenerated.
86544         * modules/lstat (Description): Correct function name.
86545         (Files): Add "lstat.h".
86546         (Depends-on): Remove stat, add xalloc, stat-macros.
86547         * modules/stat: Remove this file.
86548         (Include): Add "lstat.h", remove <sys/stat.h>.
86549
86550 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86551
86552         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
86553         (ranged_convert): Don't save conversion in a temporary struct.
86554         This causes a warning with GCC 4.0.0, and anyway in the typical
86555         case it's not worth the extra 100 bytes or so of code.
86556         (ranged_convert, __mktime_internal): When calling a function via a
86557         pointer P, use P () rather than (*P) (), as we now assume C89 or
86558         better.
86559
86560 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86561
86562         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
86563         "who -r" failed to give output.  Problem reported by Tim Waugh.
86564
86565         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
86566         (xcalloc): Use it to avoid needless tests.
86567         Problem reported by Jim Meyering.
86568
86569 2005-06-20  Derek Price  <derek@ximbiot.com>
86570
86571         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
86572         unnecessary for Autoconfs > 2.59c.
86573
86574 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86575
86576         * lib/argp.h (__option_is_short): Check upper limit of
86577         __key. Isprint() requires its argument to have the value
86578         of an unsigned char or EOF.
86579
86580 2005-06-16  Jim Meyering  <jim@meyering.net>
86581
86582         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
86583         when either N or S is zero.
86584
86585 2005-06-16  Derek Price  <derek@ximbiot.com>
86586
86587         * m4/bison.m4: Declare YACC & YFLAGS precious.
86588
86589 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
86590
86591         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
86592         multibyte string or pattern, fall back on unibyte matching.
86593         Problem reported by James Youngman.
86594
86595 2005-06-08  Bruno Haible  <bruno@clisp.org>
86596
86597         * modules/csharpcomp: New file.
86598         * MODULES.html.sh (C#): Add csharpcomp.
86599
86600 2005-06-08  Bruno Haible  <bruno@clisp.org>
86601
86602         * m4/csharpcomp.m4: New file, from GNU gettext.
86603
86604 2005-06-08  Bruno Haible  <bruno@clisp.org>
86605
86606         * lib/csharpcomp.h: New file, from GNU gettext.
86607         * lib/csharpcomp.c: New file, from GNU gettext.
86608         * lib/csharpcomp.sh.in: New file, from GNU gettext.
86609
86610 2005-06-08  Bruno Haible  <bruno@clisp.org>
86611
86612         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
86613         warning on mingw.
86614
86615 2005-06-07  Derek Price  <derek@ximbiot.com>
86616
86617         Sync from CVS.
86618         * lib/glob_.h: Indent nested #ifdef.
86619
86620 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86621
86622         Sync from coreutils.
86623         Use "file name" when talking about file names, instead of "filename"
86624         or "path", as per the GNU coding standards.
86625         * lib/mkdir-p.c: Renamed from makepath.c.
86626         (make_dir_parents): Renamed from make_path.  All callers changed.
86627         * lib/mkdir-p.h: Likewise.  All includers changed.
86628         * lib/filenamecat.c: Renamed from path-concat.c.
86629         (file_name_concat): Renamed from path_concat.  All callers changed.
86630         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
86631         * lib/filenamecat.h: Likewise.  All includers changed.
86632         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
86633         in comments or local variable names.
86634         * lib/basename.c: Likewise.
86635         * lib/canonicalize.c, canonicalize.h: Likewise.
86636         * lib/dirname.c, dirname.h: Likewise.
86637         * lib/euidaccess.c: Likewise.
86638         * lib/exclude.c: Likewise
86639         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
86640         * lib/fsusage.c, fsuage.h: Likewise.
86641         * lib/fts.c, fts_.h: Likewise.
86642         * lib/getcwd.c: Likewise.
86643         * lib/getloadavg.c: Likewise.
86644         * lib/mkstemp.c: Likewise.
86645         * lib/mountlist.c, mountlist.h: Likewise.
86646         * lib/openat.c, openat.h: Likewise.
86647         * lib/readlink-stub.c: Likewise.
86648         * lib/readutmp.c, readutmp.h: Likewise.
86649         * lib/rename.c: Likewise.
86650         * lib/rmdir.c: Likewise.
86651         * lib/same.c: Likewise.
86652         * lib/savedir.c: Likewise.
86653         * lib/stripslash.c: Likewise.
86654         * lib/tempname.c: Likewise.
86655         * lib/xreadlink.c: Likewise.
86656         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
86657         All uses changed.
86658         * lib/exclude.h: Likewise.
86659
86660         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
86661         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86662         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
86663         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86664         * lib/pathmax.h: Include <limits.h> unconditionally, since other
86665         files have been getting away with it for years (MORE/BSD 4.3
86666         is extinct now).
86667         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
86668         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86669
86670         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
86671         Define to 256, not 255, as per modern POSIX.
86672
86673 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86674
86675         Sync from coreutils.
86676         Use "file name" when talking about file names, instead of "filename"
86677         or "path", as per the GNU coding standards.
86678         * MODULES.html.sh: mkdir-p renamed from makepath.
86679         filenamecat renamed from path-concat.
86680         * modules/filenamecat: Renamed from modules/path-concat.
86681         (Files): filenamecat.h and filenamecat.c renamed from
86682         path-concat.h and path-concat.c.
86683         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
86684         (Include): filenamecat.h, not path-concat.h.
86685         * modules/mkdir-p: Renamed from modules/makepath.
86686         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
86687         makepath.c.
86688         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
86689         (Include): mkdir-p.h, not makepath.h.
86690
86691 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86692
86693         Sync from coreutils.
86694         * m4/mkdir-p.m4: Renamed from makepath.m4.
86695         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
86696         Rename files from makepath.c to mkdir-p.c, and from
86697         makepath.h to mkdir-p.h.
86698         * m4/filenamecat.m4: Renamed from path-concat.m4.
86699         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
86700         Rename files from path-concat.c to filenamecat.c,
86701         and from path-concat.h to filenamecat.h.
86702         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
86703         "file name" in local variables or comments.
86704         * m4/rename.m4: Likewise.
86705
86706 2005-06-01  Bruno Haible  <bruno@clisp.org>
86707
86708         * modules/csharpexec: New file.
86709         * MODULES.html.sh (C#): New section.
86710
86711 2005-06-01  Bruno Haible  <bruno@clisp.org>
86712
86713         * m4/csharp.m4: New file, from GNU gettext.
86714         * m4/csharpexec.m4: New file, from GNU gettext.
86715
86716 2005-06-01  Bruno Haible  <bruno@clisp.org>
86717
86718         * lib/csharpexec.h: New file, from GNU gettext.
86719         * lib/csharpexec.c: New file, from GNU gettext.
86720         * lib/csharpexec.sh.in: New file, from GNU gettext.
86721
86722 2005-05-31  Derek Price  <derek@ximbiot.com>
86723             Paul Eggert  <eggert@cs.ucla.edu>
86724
86725         Sync from cvs.
86726         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86727
86728 2005-05-31  Derek Price  <derek@ximbiot.com>
86729             Paul Eggert  <eggert@cs.ucla.edu>
86730
86731         Sync from cvs.
86732         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86733
86734 2005-05-29  Derek Price  <derek@ximbiot.com>
86735
86736         * config/srclist.txt (glob_.h, glob.c): Add these files.
86737
86738 2005-05-29  Derek Price  <derek@ximbiot.com>
86739
86740         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
86741         * modules/glob: New file.
86742         * modules/getlogin_r: Add link to POSIX spec in description.
86743
86744 2005-05-29  Derek Price  <derek@ximbiot.com>
86745             Paul Eggert  <eggert@cs.ucla.edu>
86746
86747         * m4/glob.m4: New file.
86748
86749 2005-05-29  Derek Price  <derek@ximbiot.com>
86750             Paul Eggert  <eggert@cs.ucla.edu>
86751
86752         * lib/glob_.h, lib/glob.c: New files.
86753
86754 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86755
86756         * modules/fts (Files): Remove m4/inttypes-pri.m4.
86757         * modules/fts-lgpl (Depends-on): Remove gettext.
86758
86759 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86760
86761         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
86762         and don't require gt_INTTYPES_PRI.
86763
86764 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86765
86766         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
86767
86768         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
86769         the configuration hassle isn't worth it.
86770         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
86771         (LONGEST_MODIFIER, PRIuMAX): Remove.
86772
86773 2005-05-27  Bruno Haible  <bruno@clisp.org>
86774
86775         * lib/getlogin_r.h: Remove second include of <stddef.h>.
86776
86777 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
86778
86779         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
86780         _POSIX_PTHREAD_SEMANTICS for Solaris.
86781
86782 2005-05-25  Derek Price  <derek@ximbiot.com>
86783
86784         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
86785
86786 2005-05-25  Derek Price  <derek@ximbiot.com>
86787             Paul Eggert  <eggert@cs.ucla.edu>
86788
86789         * modules/getlogin_r, m4/getlogin_r.m4: New files.
86790         * lib/getlogin_r.c, getlogin_r.h: New files.
86791
86792 2005-05-25  Bruno Haible  <bruno@clisp.org>
86793             Derek Price  <derek@ximbiot.com>
86794
86795         * lib/getlogin_r.h: Simplify API documentation.
86796
86797 2005-05-23  Derek Price  <derek@ximbiot.com>
86798
86799         * modules/minmax (Files): Add m4/minmax.m4.
86800         (configure.ac): Add gl_MINMAX.
86801
86802 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
86803
86804         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
86805         so that unistd-safer.h (GPL'ed code) need not be included.
86806
86807 2005-05-22  Bruno Haible  <bruno@clisp.org>
86808
86809         * m4/minmax.m4: New file.
86810         Based on a patch by Derek Price <derek@ximbiot.com>.
86811
86812 2005-05-22  Bruno Haible  <bruno@clisp.org>
86813
86814         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
86815         (INT64_MIN): Fix definition.
86816         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
86817
86818         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
86819         NEED_SIGNED_INT_TYPES.
86820
86821         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
86822         HAVE_SYSTEM_INTTYPES.
86823
86824 2005-05-22  Bruno Haible  <bruno@clisp.org>
86825
86826         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
86827         Also include <sys/param.h> if it defines MIN, MAX.
86828         Based on a patch by Derek Price <derek@ximbiot.com>.
86829
86830 2005-05-21  Jim Meyering  <jim@meyering.net>
86831
86832         * modules/fts (Files): Add m4/inttypes-pri.m4.
86833         (Depends-on): Add lstat and remove gettext.  Alphabetize.
86834
86835 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86836
86837         New fts module.
86838         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
86839         (setup_dir, free_dir): New functions.
86840         (enter_dir, leave_dir): Define trivial
86841         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
86842         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
86843         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
86844         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
86845         Move to fts-cycle.c.
86846         (fts_open): Use setup_dir.
86847         (fts_close): Use free_dir.
86848         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
86849         This adds a label and some gotos, but the alternatives were messier.
86850         Check for memory allocation failure when entering a dir.
86851         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
86852         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
86853         (FTS): New member fts_cycle, that is a union that contains the
86854         old active_dir_ht and cycle_state.  All uses changed to mention
86855         fts_cycle.ht and fts_cycle.state.
86856         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
86857         fts.c, with the following changes:
86858         (setup_dir, free_dir): New functions.
86859         (enter_dir): Now returns bool.  Return true if successful, false
86860         if memory exhausted.  All callers changed.
86861         Do not bother partly cleaning up on
86862         memory allocation failure; that is free_dir's job.
86863         However, free ad if hash_insert fails, to avoid memory leak.
86864         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
86865         fts->fts_options to see which union member to use.
86866
86867 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86868
86869         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
86870         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
86871
86872 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86873
86874         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
86875
86876 2005-05-20  Jim Meyering  <jim@meyering.net>
86877
86878         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
86879         Now a macro, to pacify GCC.
86880
86881 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86882
86883         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
86884         of -1.
86885
86886 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86887
86888         * lib/chown.c (rpl_chown): Return -1 on failure.
86889
86890 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86891
86892         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
86893         Don't check for stddef.h.
86894         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
86895         don't use its results.
86896         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
86897         since we include them unconditionally.  Don't require
86898         AM_STDBOOL_H, since stdbool is a prerequisite.
86899         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
86900         since we assume C89 or better.
86901         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
86902         as we don't use their results.
86903         Don't check for fchdir, memmove, memset, strrchr, as we use
86904         them unconditionally.
86905         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
86906         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
86907
86908 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86909
86910         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
86911         Include <stddef.h> unconditionally, since we assume C89 now.
86912         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
86913         * lib/fts.c: Include fts_.h first, to check interface.
86914         Do not include intprops.h; no longer needed.
86915         Include cycle-check.h and hash.h, since fts_.h no longer does.
86916         Remove unnecessary casts of closedir to void.
86917         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
86918         decide whether to decrement nlinks.
86919         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
86920         (FTS): Use struct hash_table * instead of Hash_table, so that
86921         we no longer need to include hash.h here.
86922
86923 2005-05-18  Jim Meyering  <jim@meyering.net>
86924
86925         * modules/dirfd (License): Change to LGPL.  Most of the code
86926         is already in the public domain.
86927
86928 2005-05-18  Jim Meyering  <jim@meyering.net>
86929
86930         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
86931         Reported by Yoann Vandoorselaere.
86932
86933 2005-05-17  Jim Meyering  <jim@meyering.net>
86934
86935         * m4/fts.m4: New file, from coreutils.
86936
86937 2005-05-17  Jim Meyering  <jim@meyering.net>
86938
86939         * lib/fts.c, lib/fts_.h: New files, from coreutils.
86940
86941 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86942
86943         Sync from coreutils.
86944         * m4/unlinkdir.m4: New file.
86945
86946 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86947
86948         Sync from coreutils.
86949         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
86950         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
86951         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
86952         White space changes only.
86953         * lib/makepath.c (make_path): Port to hosts where leading "//" is
86954         special.
86955         * lib/yesno.c: Include getline.h, not ctype.h.
86956         (yesno): Don't remove leading white space; POSIX doesn't allow it.
86957         Use getline to remove arbitrary restriction on response length.
86958
86959 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86960
86961         * config/srclist-update: Spell out "Street" in FSF postal
86962         mail address; this is the style the FSF seems to prefer.
86963
86964         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
86965         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
86966         this updates FSF postal mail address.
86967
86968         Sync from coreutils.
86969         * modules/unlinkdir: New file.
86970         * modules/yesno (Depends-on): Add getline.
86971         * MODULES.html.sh (File system functions): Add unlinkdir.
86972
86973 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86974
86975         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
86976         lib/strsep.h:
86977         Change the initial comment to refer to GPL, not LGPL.
86978         gnulib-tool will change it to LGPL as needed.
86979
86980         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
86981         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
86982         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
86983         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
86984         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
86985         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
86986         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
86987         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
86988         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
86989         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
86990         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
86991         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
86992         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
86993         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
86994         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
86995         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
86996         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
86997         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
86998         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
86999         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
87000         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
87001         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
87002         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
87003         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
87004         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
87005         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
87006         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
87007         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
87008         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
87009         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
87010         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
87011         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
87012         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
87013         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
87014         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
87015         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
87016         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
87017         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
87018         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
87019         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
87020         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
87021         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
87022         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
87023         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
87024         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
87025         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
87026         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
87027         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
87028         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
87029         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
87030         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87031         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
87032         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
87033         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
87034         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
87035         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
87036         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
87037         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
87038         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
87039         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
87040         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
87041         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
87042         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
87043         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
87044         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
87045         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
87046         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
87047         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
87048         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
87049         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
87050         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
87051         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
87052         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
87053         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
87054         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
87055         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
87056         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
87057         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
87058         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
87059         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
87060         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
87061         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
87062         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
87063         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
87064         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
87065         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
87066         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
87067         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
87068         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
87069         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
87070         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
87071         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
87072         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
87073         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
87074         lib/yesno.c, lib/yesno.h:
87075         Update FSF postal mail address.
87076
87077 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87078
87079         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
87080         tests/test-memmem.c, tests/test-stpncpy.c:
87081         Update FSF postal mail address.
87082
87083 2005-05-13  Bruno Haible  <bruno@clisp.org>
87084
87085         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
87086         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
87087         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
87088         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
87089         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
87090         Add support for 64-bit integers in the MSVC compiler.
87091
87092 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87093
87094         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
87095
87096 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
87097
87098         * gnulib-tool (func_import): Sort and uniquify recommended includes.
87099
87100 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
87101
87102         * doc/getdate.texi (General date syntax): Don't say that date
87103         date --iso-8601=ns generates acceptable dates; it doesn't yet.
87104         Problem reported by Nic Ferrier.
87105
87106 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87107
87108         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
87109         specified in ai_socktype. Fix invalid ai_protocol
87110         check. ai_protocol is usually set to 0 or depending on
87111         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
87112         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
87113         ai_socktype / ai_protocol in the returned addrinfo structure.
87114
87115 2005-05-10  Simon Josefsson  <jas@extundo.com>
87116
87117         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
87118         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
87119
87120 2005-05-10  Karl Berry  <karl@gnu.org>
87121
87122         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
87123         (from http://www.gnu.org/licenses).
87124         * doc/COPYING.LIB: also rename to COPYING.LESSER.
87125         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
87126         fdl.texi suffices.
87127
87128 2005-05-10  Karl Berry  <karl@gnu.org>
87129
87130         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
87131         (COPYING.DOC): remove.
87132
87133         * config/srclist-update: new FSF address.
87134
87135 2005-05-10  Derek Price  <derek@ximbiot.com>
87136
87137         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
87138         possible.
87139
87140 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87141             Bruno Haible  <bruno@clisp.org>
87142
87143         * modules/inet_ntop: New file.
87144         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87145         inet_ntop.
87146
87147 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87148             Bruno Haible  <bruno@clisp.org>
87149
87150         * m4/inet_ntop.m4: New file.
87151
87152 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87153             Bruno Haible  <bruno@clisp.org>
87154
87155         * lib/inet_ntop.h: New file.
87156         * lib/inet_ntop.c: New file, from glibc with modifications.
87157
87158 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
87159
87160         * modules/time_r (License): Change to LGPL.
87161         * modules/extensions (License): Change to LGPL.  Actually,
87162         the license is more permissive than that, but currently gnulib-tool
87163         doesn't know how to handle more-permissive licenses.
87164
87165         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
87166         Problem reported by Dave Love.
87167
87168 2005-05-08  Jim Meyering  <jim@meyering.net>
87169
87170         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
87171         blank.
87172
87173 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87174
87175         * modules/argmatch (Depends-on): Add stdbool.
87176         * modules/backupfile (Depends-on): Likewise.
87177         * modules/chdir-long (Depends-on): Likewise.
87178         * modules/closeout (Depends-on): Likewise.
87179         * modules/cycle-check (Depends-on): Likewise.
87180         * modules/dirname (Depends-on): Likewise.
87181         * modules/fnmatch (Depends-on): Likewise.
87182         * modules/fsusage (Depends-on): Likewise.
87183         * modules/fwriteerror (Depends-on): Likewise.
87184         * modules/getcwd (Depends-on): Likewise.
87185         * modules/getloadavg (Depends-on): Likewise.
87186         * modules/hard-locale (Depends-on): Likewise.
87187         * modules/makepath (Depends-on): Likewise.
87188         * modules/mountlist (Depends-on): Likewise.
87189         * modules/nanosleep (Depends-on): Likewise.
87190         * modules/posixtm (Depends-on): Likewise.
87191         * modules/quotearg (Depends-on): Likewise.
87192         * modules/readtokens (Depends-on): Likewise.
87193         * modules/readtokens0 (Depends-on): Likewise.
87194         * modules/readutmp (Depends-on): Likewise.
87195         * modules/save-cwd (Depends-on): Likewise.
87196         * modules/strftime (Depends-on): Likewise.
87197         * modules/userspec (Depends-on): Likewise.
87198         * modules/utimecmp (Depends-on): Likewise.
87199         * modules/xgetcwd (Depends-on): Likewise.
87200         * modules/xnanosleep (Depends-on): Likewise.
87201         * modules/xstrtod (Depends-on): Likewise.
87202         * modules/yesno (Depends-on): Likewise.
87203
87204 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
87205
87206         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
87207         needless checks.
87208
87209 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87210
87211         Merge from coreutils.  Among other things,
87212         add bulletproofing for cases where stdin, stdout, or stderr are closed.
87213         * lib/fd-safer.c: New file.
87214         * lib/fcntl-safer.h, open-safer.c: Remove.
87215         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
87216         * lib/dup-safer.c: Include unistd-safer.h first.
87217         Don't include errno.h.
87218         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
87219         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
87220         * lib/file-type.c: Rely on file-type.h change.
87221         * lib/getloadavg.c: Include unistd-safer.h.
87222         (getloadavg): Use safer open.
87223         * lib/getusershell.c: Include "stdio-safer.h".
87224         (getusershell): Use safer fopen.
87225         * lib/long-options.c (long_options): Use NULL rather than 0.
87226         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
87227         'free'.
87228         * lib/modechange.c: Likewise.
87229         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
87230         (MODE_DONE): New constant.
87231         (struct mode_change): Remove 'next' member.
87232         (make_node_op_equals): New function; like the old one of the
87233         same name, except it allocates an array.
87234         (mode_compile, mode_create_from_ref): Use it.
87235         (mode_compile): Allocate result as an array, not a linked list.
87236         Parse octal string ourself, so that we catch mistakes like "+0".
87237         (mode_adjust): Arg is an array, not a linked list.
87238         * lib/modechange.c: Include stat-macros.h, xalloc.h.
87239         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
87240         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
87241         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
87242         Remove.  This is now stat-macros.h's job.
87243         (talloc): Remove.  All callers replaced by xalloc, so that
87244         our invokers don't have to worry about reporting memory failures.
87245         (make_node_op_equals): Remove.
87246         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87247         New constants.
87248         (struct mode_change): Moved here from modechange.h.
87249         (mode_append_entry): Remove.
87250         (mode_compile): Remove MASKED_OPS arg, since it encouraged
87251         apps to have incorrect behavior.  Use simpler algorithm for head
87252         and tail.  Don't futz with umask; that's now the job of mode_adjust.
87253         Detect more invalid usages rather than having somewhat-random behavior.
87254         Don't insert an "a=" action, as that leads to incorrect behavior.
87255         (mode_compile, mode_create_from_ref): Return NULL on error instead
87256         of an enum, since now there's only one way to have an error.  All
87257         callers changed.
87258         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
87259         at the correct time.  Simplify calculation of "+u" and its ilk.
87260         Don't mishandle "+X".
87261         (mode_free): Remove "register" and localize decls.
87262         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87263         (struct mode_change): Move to modechange.c; callers don't
87264         need to see this stuff.
87265         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
87266         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
87267         (mode_change, mode_adjust): Reflect the new signatures noted above.
87268         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
87269         that might redefine system include files.
87270         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
87271         (my_usleep): Use NULL rather than (void *) 0.
87272         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
87273         Use siginterrupt to specify that system calls should be interrupted.
87274         (rpl_nanosleep): Move initialization of suspended closer to call of
87275         my_usleep.
87276         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
87277         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
87278         (desirable_utmp_entry): New function.
87279         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
87280         using x2nrealloc, to simplify logic.
87281         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
87282         size calculation.  Do not assume utmp file is a regular file.
87283         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
87284         (READ_UTMP_CHECK_PIDS): New constant.
87285         * lib/save-cwd.c: Include unistd-safer.h.
87286         (save_cwd): Use fd_safer.
87287         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
87288         [!_LIBC] Include "stat-macros.h" instead.
87289         * lib/unistd-safer.h (fd_safer): New decl.
87290
87291 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87292
87293         * modules/getloadavg (Depends-on): Add unistd-safer.
87294         * modules/getusershell (Depends-on): Add stdio-safer.
87295         * modules/lstat (Depends-on): Remove xalloc.
87296         * modules/mkstemp (Depends-on): Add stat-macros.
87297         * modules/modechange (Depends-on): Remove xstrtol.
87298         Add stat-macros, xalloc.
87299         * modules/save-cwd (Depends-on): Add unistd-safer.
87300         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
87301         * modules/unistd-safer (Files): Add lib/fd-safer.c
87302         (Makefile.am): Remove lib_SOURCES.
87303
87304         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
87305         Remove fcntl-safer; unistd-safer supersedes it.
87306
87307 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87308
87309         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
87310         AC_HEADER_STAT.
87311         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
87312         (gl_PREREQ_CHOWN): Remove.
87313         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
87314         it.  Don't require AC_HEADER_STAT.
87315         (gl_PREREQ_LSTAT): Remove.
87316         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
87317         Don't require AC_HEADER_STAT.
87318         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
87319         (gl_PREREQ_RMDIR): Remove.
87320         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
87321         mention stat-macros.h or AC_HEADER_STAT, since we'll make
87322         the stat-macros module a prerequisite.
87323         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
87324         * m4/filemode.m4 (gl_FILEMODE): Likewise.
87325         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
87326         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
87327         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
87328         variable names.
87329         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
87330         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
87331         variable prefixes.
87332         * m4/fcntl-safer.m4: Remove.
87333         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
87334         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
87335         Invoke gl_PREREQ_FD_SAFER.
87336         (gl_PREREQ_FD_SAFER): New macro.
87337         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
87338         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
87339         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
87340         Remove duplicate call to AC_LIBOBJ(readutmp).
87341         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
87342
87343         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
87344         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
87345
87346 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87347
87348         * MODULES.html.sh (Misc): Add byteswap.
87349
87350 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87351
87352         * modules/getcwd (Depends-on): Add extensions.
87353         * modules/openat (Depends-on): Likewise.
87354
87355 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87356
87357         * modules/byteswap: New file.
87358
87359 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87360
87361         * m4/byteswap.m4: New file.
87362
87363 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87364
87365         * lib/byteswap_.h: New file.
87366
87367 2005-04-25  Karl Berry  <karl@gnu.org>
87368
87369         * m4/gettext.m4: Update from GNU gettext 0.14.4.
87370
87371 2005-04-25  Albert Chin  <china@thewrittenword.com>
87372
87373         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
87374         Toolkit C bug.
87375
87376 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
87377
87378         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
87379         (func_ln_if_changed): Remove forcibly for no error message
87380         in case file does not exist.
87381
87382 2005-04-19  Simon Josefsson  <jas@extundo.com>
87383
87384         * gnulib-tool (Options): Make --symlink mean --symbolic.
87385
87386 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
87387
87388         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
87389
87390 2005-04-16  Simon Josefsson  <jas@extundo.com>
87391
87392         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
87393
87394 2005-04-15  Simon Josefsson  <jas@extundo.com>
87395
87396         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
87397
87398 2005-04-15  Simon Josefsson  <jas@extundo.com>
87399
87400         * gnulib-tool: Rename --symlink to --symbolic.
87401
87402 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
87403
87404         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
87405         symbolic links to files instead of copying/moving.  Add --aux-dir,
87406         specifying directory relative --dir where auxiliary build tools
87407         are placed.
87408
87409 2005-04-14  Bruno Haible  <bruno@clisp.org>
87410
87411         * modules/allocsa (License): Change to LGPL.
87412         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
87413
87414 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
87415
87416         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
87417         that "UTC +1 second" continues to work.  Problem reported
87418         by Dmitry V. Levin.
87419         (relunit_snumber): New rule.
87420         (relunit): Use it.
87421
87422 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
87423
87424         * lib/getdate.y (universal_time_zone_table): New constant.
87425         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
87426         universal_time_zone_table.
87427         (lookup_zone): Prefer universal_time_zone_table to
87428         local_time_zone_table, so that "GMT" time stamps are allowed in
87429         London during the summer.  Problem reported by Ian Abbott.
87430
87431 2005-04-12  Jim Meyering  <jim@meyering.net>
87432
87433         * lib/human.c (humblock): Set *options even when returning due to
87434         xstrtoumax conversion failure.  Thanks to a used-uninitialized
87435         warning from gcc-4.
87436
87437 2005-04-09  Jim Meyering  <jim@meyering.net>
87438
87439         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
87440         -Wuninitialized: initialize tm0.tm_year.
87441
87442 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
87443
87444         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
87445         count, since there's no maximum.  All uses changed.
87446         Add member dsts_seen.
87447         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
87448         not being INT_MAX.
87449         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
87450         Use pc_rels_seen to decide whether a date is absolute.
87451
87452         * lib/getdate.y (number): Don't overwrite year.
87453         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
87454         check.
87455
87456 2005-04-02  Simon Josefsson  <jas@extundo.com>
87457
87458         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
87459         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
87460
87461 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
87462
87463         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
87464         where no absolute path name can be longer than PATH_MAX.
87465
87466 2005-03-27  Jim Meyering  <jim@meyering.net>
87467
87468         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
87469
87470 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
87471
87472         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
87473         "one's complement" -> "ones' complement" in comment, as per Knuth.
87474         "value of type" -> "type or expression" in comment.
87475         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
87476
87477 2005-03-26  Jim Meyering  <jim@meyering.net>
87478
87479         Comment nits.
87480         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
87481         Correct typos: s/or/of/.
87482
87483 2005-03-26  Jim Meyering  <jim@meyering.net>
87484
87485         * modules/check-include-files: Move to ../ and rename to...
87486         * check-module: ...this.
87487
87488 2005-03-25  Jim Meyering  <jim@meyering.net>
87489
87490         * modules/xvasprintf (Files): Add xalloc.h.
87491
87492 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
87493
87494         * modules/gettext (Files): config/config.rpath ->
87495         build-aux/config.rpath
87496         * modules/iconv (Files): Likewise.
87497         Problem reported by Oskar Liljeblad.
87498
87499 2005-03-23  Jim Meyering  <jim@meyering.net>
87500
87501         * modules/check-include-files: New script to check for
87502         missing dependencies, multiple includes, etc.
87503
87504         * modules/c-strtold (Depends-on): Add xalloc.
87505         * modules/c-strtod (Depends-on): Add xalloc.
87506         * modules/hash (Depends-on): Add xalloc.
87507         (Files): Remove lib/xalloc.h.
87508
87509         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
87510         * modules/userspec (Files): Add lib/inttostr.h.
87511
87512 2005-03-23  Jim Meyering  <jim@meyering.net>
87513
87514         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
87515
87516 2005-03-22  Jim Meyering  <jim@meyering.net>
87517
87518         * modules/stat-macros: New module.
87519         * modules/canonicalize, modules/euidaccess, modules/file-type,
87520         * modules/filemode, modules/lchown, modules/makepath,
87521         * modules/rmdir, modules/stat: Depend on new stat-macros module
87522         rather than listing lib/stat-macros.h manually.
87523         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
87524
87525 2005-03-22  Jim Meyering  <jim@meyering.net>
87526
87527         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
87528
87529 2005-03-22  Bruno Haible  <bruno@clisp.org>
87530
87531         * config/srclist.txt: Replace target directory 'config' with
87532         'build-aux'.
87533         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
87534         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
87535         ../build-aux/.
87536
87537 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
87538
87539         * modules/chdir-long (Depends-on): Add mempcpy.
87540
87541         * modules/acl, modules/backupfile, modules/c-strtod,
87542         modules/c-strtold, modules/canon-host, modules/canonicalize,
87543         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
87544         modules/exclude, modules/exitfail, modules/file-type,
87545         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
87546         modules/getdate, modules/getline, modules/getpagesize,
87547         modules/getpass, modules/getugroups, modules/group-member,
87548         modules/hard-locale, modules/hash, modules/human, modules/idcache,
87549         modules/inttostr, modules/long-options, modules/makepath,
87550         modules/md5, modules/memcasecmp, modules/memcoll,
87551         modules/modechange, modules/mountlist, modules/path-concat,
87552         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
87553         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
87554         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
87555         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
87556         modules/strftime, modules/strndup, modules/strverscmp,
87557         modules/timespec, modules/unlocked-io, modules/userspec,
87558         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
87559         modules/yesno:
87560         Remove lib_SOURCES line from Makefile.am section, as this is now
87561         done automatically by the corresponding Autoconf macro.
87562
87563 2005-03-21  Jim Meyering  <jim@meyering.net>
87564
87565         Changes imported from coreutils.
87566
87567         * lib/cycle-check.c: Don't include xalloc.h.
87568
87569         * lib/path-concat.c: Don't include assert.h.
87570         (path_concat): Remove assertion that would have triggered
87571         for ABASE starting with more than one slash.
87572         Reported by Andreas Schwab.
87573
87574         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
87575         properly when ABASE is an absolute file name.
87576         Correct the description of this function.
87577         Include <assert.h>.
87578         Add an assertion and a test driver.
87579         This fixes a bug introduced on 2004-07-02.
87580         Andreas Schwab reported the resulting failure of cp --parents:
87581         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
87582
87583 2005-03-21  Jim Meyering  <jim@meyering.net>
87584
87585         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
87586         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
87587
87588 2005-03-21  Jim Meyering  <jim@meyering.net>
87589         and  Paul Eggert  <eggert@cs.ucla.edu>
87590
87591         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
87592         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
87593         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
87594         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
87595         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
87596         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
87597         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
87598         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
87599         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
87600         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
87601         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
87602         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
87603         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
87604         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
87605         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
87606         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
87607         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
87608         for these modules.
87609
87610 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
87611
87612         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
87613         (which shouldn't happen), generate nothing instead of returning 0
87614         immediately, so that nstrftime (NULL, ...) doesn't return 0.
87615
87616 2005-03-16  Bruno Haible  <bruno@clisp.org>
87617
87618         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
87619         HAVE_LONGLONG_64BIT.
87620
87621 2005-03-16  Bruno Haible  <bruno@clisp.org>
87622
87623         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
87624         HAVE_LONGLONG_64BIT.
87625
87626 2005-03-16  Bruno Haible  <bruno@clisp.org>
87627
87628         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
87629         HAVE_LONGLONG_64BIT.
87630
87631 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87632
87633         * lib/strftime.c (my_strftime): Prepend space to format so that we can
87634         reliably distinguish strftime failure from empty output on POSIX
87635         hosts.
87636
87637 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87638
87639         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
87640         (iconv_string): Don't guess a size-zero buffer, as that might cause
87641         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
87642         result would be 'too large', where 'too large' is (heuristically)
87643         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
87644         overflow concerns.  This will prevent some unwanted malloc failures
87645         when the inputs are very large.
87646
87647 2005-03-15  Karl Berry  <karl@gnu.org>
87648
87649         * config/srclist.txt (config.rpath): from gettext.
87650         * config/config.rpath: update.
87651
87652 2005-03-15  Bruno Haible  <bruno@clisp.org>
87653
87654         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
87655         to 'negate'.
87656
87657         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
87658         variable.
87659
87660         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
87661         results.
87662
87663 2005-03-14  Simon Josefsson  <jas@extundo.com>
87664
87665         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
87666         <fx@gnu.org>.
87667
87668 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
87669
87670         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
87671         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
87672         intprops.h.
87673         * lib/strtol.c: Likewise.
87674
87675 2005-03-14  Jim Meyering  <jim@meyering.net>
87676
87677         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
87678         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
87679         to be nonzero so that we (and caller) can detect the difference
87680         between a valid zero-length expansion and an error return, even
87681         when the underlying strftime fails before writing anything into
87682         that location.
87683
87684 2005-03-14  Bruno Haible  <bruno@clisp.org>
87685
87686         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
87687         Update from GNU gettext 0.14.3.
87688
87689 2005-03-10  Jim Meyering  <jim@meyering.net>
87690
87691         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
87692
87693 2005-03-10  Jim Meyering  <jim@meyering.net>
87694
87695         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
87696         so that this module works on systems without fchdir.
87697
87698 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
87699
87700         Factor int-properties macros into a single file, except for
87701         glibc-related files.
87702         * lib/intprops.h: New file.
87703         * lib/getloadavg.c: Include it instead of limits.h.
87704         (INT_STRLEN_BOUND): Remove.
87705         * lib/human.c: Include intprops.h.
87706         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
87707         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
87708         302/1000.
87709         * lib/inttostr.h: Include intprops.h instead of limits.h.
87710         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
87711         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
87712         for consistency with intprops.h.
87713         (time_t_is_integer, twos_complement_arithmetic): Use them.
87714         * lib/sig2str.h: Include <signal.h>, intprops.h.
87715         (INT_STRLEN_BOUND): Remove.
87716         * lib/strftime.c (TYPE_SIGNED): Remove.
87717         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
87718         * lib/strtol.c: Adjust comments to match intprops.h.
87719         * lib/userspec.c: Include intprops.h.
87720         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
87721         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
87722         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
87723         instead of rolling our own expressions.
87724         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
87725
87726         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
87727         instead of int.
87728         (my_strftime): Do not mishandle years close to INT_MAX, by doing
87729         the right thing even if adding 1900 would overflow.  Similarly
87730         for tm_mon + 1 and tm_yday + 1.
87731         Make %Y always equivalent to %C%y, and similarly for %G and %g.
87732         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
87733         (DO_SIGNED_NUMBER): New macro.
87734         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
87735
87736 2005-03-07  Bruno Haible  <bruno@clisp.org>
87737
87738         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
87739
87740 2005-03-07  Bruno Haible  <bruno@clisp.org>
87741
87742         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
87743
87744 2005-03-04  Derek R. Price  <derek@ximbiot.com>
87745
87746         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
87747         (func_import): Only replace files via --import when they have actually
87748         changed.
87749
87750 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87751
87752         * m4/mmap-anon.m4: New file.
87753         * m4/pagealign_alloc.m4: New file.
87754
87755 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87756             Bruno Haible  <bruno@clisp.org>
87757
87758         * modules/pagealign_alloc: New file.
87759         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
87760
87761 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87762             Bruno Haible  <bruno@clisp.org>
87763
87764         * lib/pagealign_alloc.h: New file.
87765         * lib/pagealign_alloc.c: New file.
87766
87767 2005-03-03  Bruno Haible  <bruno@clisp.org>
87768
87769         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
87770         Use an all-permissive copyright notice, recommended by RMS.
87771
87772 2005-03-02  Bruno Haible  <bruno@clisp.org>
87773
87774         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
87775         of AIX, the replacement has to be done only after <string.h> is
87776         included, therefore not in config.h. stpncpy.h does the replacement,
87777         and stpncpy.c uses it.
87778
87779 2005-03-02  Bruno Haible  <bruno@clisp.org>
87780
87781         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
87782         stpncpy.c uses it.
87783
87784 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87785
87786         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
87787         The workaround isn't strictly needed for POSIX conformance, and
87788         it's too much of a pain to configure and maintain.  We'll ask
87789         people to fix their kernels instead.
87790         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
87791         (NANOSLEEP_BUG_WORKAROUND): Remove.
87792         (xnanosleep): Remove the workaround.
87793
87794 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87795
87796         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
87797         Reported by Derek Price.
87798         (Include): Add "timespec.h".
87799
87800         * modules/xnanosleep (Depends-on): Remove gethrxtime.
87801
87802 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87803
87804         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
87805         to detect nanosleep bug.
87806
87807 2005-03-01  Bruno Haible  <bruno@clisp.org>
87808
87809         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
87810
87811 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
87812
87813         * modules/gethrxtime: New file.
87814         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
87815         (Depends-on): Add gethrxtime.
87816         (configure.ac): Add gl_XNANOSLEEP.
87817         (Makefile.am): Remove lib_SOURCES line.
87818
87819 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87820
87821         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
87822         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
87823
87824 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87825
87826         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
87827         * lib/timespec.h (gettime): Return void, since it always
87828         succeeds now.  All uses changed.
87829         * lib/gettime.c (gettime): Likewise.
87830         [HAVE_NANOTIME]: Prefer nanotime.
87831         Assume gettimeofday succeeds, as POSIX requires.
87832         Assime time () succeeds, since other code already does.
87833         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
87834         (timespec_subtract): Remove.
87835         (NANOSLEEP_BUG_WORKAROUND): New constant.
87836         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
87837         things considerably.  Use it only on GNU/Linux hosts, since the
87838         workaround shouldn't be needed elsewhere.
87839
87840 2005-02-24  Bruno Haible  <bruno@clisp.org>
87841
87842         * modules/gettext (Files): Add m4/glibc2.m4.
87843
87844 2005-02-24  Bruno Haible  <bruno@clisp.org>
87845
87846         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
87847         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
87848         * m4/progtest.m4:
87849         Update from GNU gettext 0.14.2.
87850         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
87851
87852 2005-02-24  Bruno Haible  <bruno@clisp.org>
87853
87854         * lib/localcharset.c: Update from GNU gettext 0.14.2.
87855         * lib/config.charset: Update from GNU gettext 0.14.2.
87856
87857 2005-02-24  Bruno Haible  <bruno@clisp.org>
87858
87859         * lib/gettext.h: Update from GNU gettext 0.14.2.
87860
87861 2005-02-23  Simon Josefsson  <jas@extundo.com>
87862
87863         * m4/iconvme.m4: New file.
87864
87865 2005-02-23  Jim Meyering  <jim@meyering.net>
87866
87867         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
87868         change.
87869         Thanks to Bruno Haible for catching it.
87870
87871 2005-02-22  Simon Josefsson  <jas@extundo.com>
87872
87873         * modules/iconvme: New file.
87874
87875         * MODULES.html.sh: Add iconvme.
87876
87877 2005-02-22  Simon Josefsson  <jas@extundo.com>
87878
87879         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
87880
87881 2005-02-22  Simon Josefsson  <jas@extundo.com>
87882
87883         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
87884
87885 2005-02-22  Jim Meyering  <jim@meyering.net>
87886
87887         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
87888         s/ifndef/ifdef/.
87889
87890 2005-02-20  Neil Conway  <neilc@samurai.com>
87891
87892         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
87893         returned by OSX/Darwin if the specified buffer is not large
87894         enough for the hostname.
87895
87896 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87897
87898         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
87899         pass it to _help, otherwise the latter coredumps trying to
87900         dereference state.root_argp.
87901
87902 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87903
87904         * modules/chdir-long (Depends-on): Add memrchr.
87905         * modules/memrchr (Files): Add lib/memrchr.h.
87906         (Include): "memrchr.h".
87907
87908 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87909
87910         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
87911
87912 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87913
87914         * lib/memrchr.h: New file.
87915         * lib/chdir-long.c: Include it.
87916         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
87917         Don't bother including stddef.h.
87918
87919 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
87920
87921         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
87922         inclusion.
87923         Include <sys/types.h>, for dev_t.
87924         (ME_DUMMY, ME_REMOTE): Move from here....
87925         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
87926         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
87927         Dmitry V. Levin.
87928         Include mountlist.h first, to test the interface.
87929
87930 2005-01-29  Bruno Haible  <bruno@clisp.org>
87931
87932         * lib/progname.c (program_name): Initialize.
87933         Needed when linking statically on MacOS X.
87934
87935 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87936
87937         Sync from coreutils.
87938         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
87939         (Depends-on): Add c-strtod.
87940         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
87941
87942 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87943
87944         Sync from coreutils.
87945         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
87946
87947         Remove files that are specific to coreutils.
87948         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
87949
87950 2005-01-28  Bruno Haible  <bruno@clisp.org>
87951
87952         * modules/javacomp: New file.
87953         * MODULES.html.sh (Java): Add javacomp.
87954
87955 2005-01-28  Bruno Haible  <bruno@clisp.org>
87956
87957         * m4/javacomp.m4: New file, from GNU gettext.
87958
87959 2005-01-28  Bruno Haible  <bruno@clisp.org>
87960
87961         * lib/javacomp.sh.in: New file, from GNU gettext.
87962         * lib/javacomp.h: New file, from GNU gettext.
87963         * lib/javacomp.c: New file, from GNU gettext.
87964
87965 2005-01-26  Simon Josefsson  <jas@extundo.com>
87966
87967         * lib/gai_strerror.c: Use GPL in header.
87968
87969 2005-01-26  Bruno Haible  <bruno@clisp.org>
87970
87971         * modules/javaexec: New file.
87972         * MODULES.html.sh (Java): Add javaexec.
87973
87974 2005-01-26  Bruno Haible  <bruno@clisp.org>
87975
87976         * m4/javaexec.m4: New file, from GNU gettext.
87977
87978 2005-01-26  Bruno Haible  <bruno@clisp.org>
87979
87980         * lib/javaexec.sh.in: New file, from GNU gettext.
87981         * lib/javaexec.h: New file, from GNU gettext.
87982         * lib/javaexec.c: New file, from GNU gettext.
87983
87984 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87985
87986         * modules/lchown (Depends-on): Remove lchown.h
87987
87988 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87989
87990         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
87991         must be defined if the header file was not found, in order
87992         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
87993
87994 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87995
87996         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
87997         initializers for struct pentry_state.
87998         (__argp_error): Check return value of __asprintf
87999         (__argp_failure): Translate error message
88000
88001         * lib/argp-parse.c: Removed braces around the expansion of N_()
88002
88003 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
88004
88005         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
88006         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
88007         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
88008         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
88009         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
88010         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
88011         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
88012         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
88013         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
88014         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
88015         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
88016         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
88017         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
88018         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
88019         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
88020         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
88021         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
88022         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
88023         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
88024         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
88025         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
88026         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
88027         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
88028         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
88029         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
88030         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
88031         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
88032         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
88033         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
88034         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
88035         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
88036         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
88037         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
88038         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
88039         xstrtol.m4, xstrtoumax.m4, yesno.m4:
88040         Use an all-permissive copyright notice, recommended by RMS.
88041
88042 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
88043
88044         * modules/chdir-long (Depends-on): Remove mempcpy.
88045
88046 2005-01-21  Jim Meyering  <jim@meyering.net>
88047
88048         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
88049         same value as for Solaris 9.
88050
88051         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
88052         component length.  This included changing the parameter to be
88053         of type `char *' rather than `char const *'.
88054         * lib/chdir-long.h (chdir_long): Update prototype.
88055
88056         * lib/openat.c (fdopendir, fstatat): New functions.
88057         * lib/openat.h: Include headers required for use of DIR and struct
88058         stat.
88059         [AT_SYMLINK_NOFOLLOW]: Define.
88060         (fdopendir, fstatat): Add prototypes.
88061
88062 2005-01-21  Bruno Haible  <bruno@clisp.org>
88063
88064         * modules/classpath: New file.
88065         * MODULES.html.sh (Java): Add classpath.
88066
88067 2005-01-21  Bruno Haible  <bruno@clisp.org>
88068
88069         * lib/classpath.h: New file, from GNU gettext.
88070         * lib/classpath.c: New file, from GNU gettext.
88071
88072 2005-01-20  Simon Josefsson  <jas@extundo.com>
88073
88074         * modules/version-etc-fsf: New file.
88075
88076 2005-01-20  Simon Josefsson  <jas@extundo.com>
88077
88078         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
88079         * lib/version-etc.c: Remove version_etc_copyright.
88080         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
88081         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
88082
88083 2005-01-20  Simon Josefsson  <jas@extundo.com>
88084
88085         * lib/base64.h (isbase64): Add.
88086
88087         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
88088         using a unsigned prototype, don't inline.
88089         (base64_decode): Use it.
88090
88091 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88092
88093         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
88094         it.
88095
88096 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88097
88098         * lib/save-cwd.c (save_cwd): Remove code to support the case
88099         where fchdir is missing or flaky.
88100
88101 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88102
88103         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
88104
88105 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
88106
88107         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
88108         AC_LIBSOURCES now does this.
88109         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
88110         with new ullong_max module.
88111
88112 2005-01-19  Bruno Haible  <bruno@clisp.org>
88113
88114         * modules/sh-quote: New file.
88115         * MODULES.html.sh (Executing programs): Add sh-quote.
88116
88117 2005-01-19  Bruno Haible  <bruno@clisp.org>
88118
88119         * lib/sh-quote.h: New file, from GNU gettext.
88120         * lib/sh-quote.c: New file, from GNU gettext.
88121
88122 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88123
88124         Merge from coreutils.
88125         * m4/ullong_max.m4: New file.
88126         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
88127         (gl_MACROS): Assume localeconv exists.
88128
88129 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88130
88131         Merge changes from coreutils, as described below in several
88132         changelogs dated today.
88133
88134         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
88135         (O_DIRECTORY): Remove; not needed here, since "." must be
88136         a directory.  All uses removed.
88137         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
88138         universal on Suns, and we also need to test for IRIX.
88139         Revamp code to use 'if' rather than '#if'.
88140         Avoid unnecessary comparison of cwd->desc to 0.
88141
88142         * lib/utimens.c (futimens): Robustify the previous patch, by checking
88143         for known valid error numbers rather than observed invalid ones.
88144
88145 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88146
88147         * modules/ullong_max: New file.
88148
88149         * modules/chdir-long, modules/openat: New files.
88150         * modules/save-cwd (Depends-on): Depend on chdir-long.
88151         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
88152
88153 2005-01-18  Jim Meyering  <jim@meyering.net>
88154
88155         Merge from coreutils.
88156         * m4/chdir-long.m4, m4/openat.m4: New files.
88157         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
88158         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
88159         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
88160         is sane and DOES follow symlinks.  Besides, testing 20 different
88161         systems found no broken chown implementations.
88162         Prompted by a change in rsync's copy of this macro.
88163         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
88164
88165         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
88166
88167         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
88168         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
88169         NULL-means-set-to-current-time semantics.
88170         Remove temporary file immediately, rather than waiting
88171         for configure's at-exit trap code to do it.
88172
88173 2005-01-18  Jim Meyering  <jim@meyering.net>
88174
88175         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88176
88177         * lib/utimens.c (futimens): Account for the fact that futimes
88178         can also fail with errno == ENOSYS or errno == ENOENT.
88179         Patch from Dmitry V. Levin.
88180
88181         Change the name of the robust chdir function from chdir to chdir_long.
88182         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
88183         (restore_cwd): Use chdir_long, not chdir.
88184         * lib/chdir-long.c: Renamed from chdir.c.
88185         * lib/chdir-long.h: Renamed from chdir.h.
88186         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
88187         Hurd.
88188
88189 2005-01-18  Bruno Haible  <bruno@clisp.org>
88190
88191         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
88192         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
88193         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
88194         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
88195         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
88196         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
88197         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
88198         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
88199         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
88200         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
88201         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
88202         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
88203         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
88204         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
88205         Use an all-permissive copyright notice, recommended by RMS.
88206
88207 2005-01-18  Bob Proulx  <bob@proulx.com>
88208
88209         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
88210         simplify offsetof() macro construct to avoid compile failure with
88211         native HP-UX 11.0 ANSI C compiler.
88212
88213 2005-01-17  Bruno Haible  <bruno@clisp.org>
88214
88215         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
88216         redundant because stpncpy.m4 takes care of it.
88217
88218 2005-01-17  Bruno Haible  <bruno@clisp.org>
88219
88220         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
88221
88222 2005-01-17  Bruno Haible  <bruno@clisp.org>
88223
88224         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
88225         used.
88226
88227 2005-01-17  Bruno Haible  <bruno@clisp.org>
88228
88229         * lib/fwriteerror.h (fwriteerror): Change specification to include
88230         fclose.
88231         * lib/fwriteerror.c: Include <stdbool.h>.
88232         (fwriteerror): At the end, close the file stream. Record whether
88233         stdout was already closed.
88234
88235 2005-01-17  Bruno Haible  <bruno@clisp.org>
88236
88237         * lib/execute.c (environ): Declare if needed.
88238         * lib/pipe.c (environ): Likewise.
88239         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
88240
88241 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88242
88243         * modules/argp: Depend on vsnprintf
88244
88245 2005-01-10  Jim Meyering  <jim@meyering.net>
88246
88247         * modules/closeout (Depends-on): Add atexit.
88248
88249 2005-01-06  Bruno Haible  <bruno@clisp.org>
88250
88251         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
88252
88253 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
88254
88255         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
88256         definitions to be after all include files, to avoid collisions.
88257         Problem reported by Bob Proulx.
88258
88259 2005-01-04  Jim Meyering  <jim@meyering.net>
88260
88261         Changes imported from coreutils.
88262         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
88263         as the mkstemp template, use a temporary directory and an
88264         8.3-friendly template to avoid trouble on systems like DJGPP.
88265         Reported by Juan M. Guerrero via Stepan Kasal.
88266         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
88267         close. Remove the temporary directory right away, rather than waiting
88268         for configure's at-exit trap code to do it.
88269         Suggestion from Stepan Kasal.
88270
88271 2005-01-01  Simon Josefsson  <jas@extundo.com>
88272
88273         * gnulib-tool: Print #include directives when --import'ing.
88274
88275 2004-12-28  Simon Josefsson  <jas@extundo.com>
88276
88277         * tests/test-base64.c: Include required header files.  Remove
88278         unused variables.
88279
88280 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88281
88282         * modules/error (Depends-on): Remove gettext.
88283
88284 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88285
88286         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
88287         not needed.  This removes a dependency on the gettext module.
88288         [defined _LIBC]: Do not include <libintl.h>; not needed.
88289
88290 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88291
88292         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
88293         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
88294
88295 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88296
88297         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
88298         HAVE_DECL_STRTOLD.
88299
88300 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88301
88302         * modules/getdate (Depends-on): Remove alloca-opt.
88303
88304 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88305
88306         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
88307
88308 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88309
88310         * lib/argp-parse.c: Include <stddef.h>.
88311         (alignof, alignto): New macros.
88312         (parser_init): Don't assume that void * is aligned sufficiently
88313         for struct option.
88314
88315         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
88316         need to extend the stack.
88317         (YYINITDEPTH): New macro, so that the initial stack isn't overly
88318         large.
88319
88320 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88321
88322         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
88323
88324 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88325
88326         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
88327         (2004-10-24) change.  Apparently this was a false alarm.
88328
88329         * modules/getdate: Depend on alloca-opt, not alloca.
88330
88331 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88332
88333         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
88334         Remove now-obsolete comment about AIX.
88335         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
88336         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
88337         (YYMAXDEPTH): New macro.
88338
88339 2004-12-18  Simon Josefsson  <jas@extundo.com>
88340
88341         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
88342
88343 2004-12-18  Bruno Haible  <bruno@clisp.org>
88344
88345         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
88346
88347 2004-12-18  Bruno Haible  <bruno@clisp.org>
88348
88349         * lib/fatal-signal.c (fatal_signals): Make non-const.
88350         (init_fatal_signals): New function.
88351         (uninstall_handlers, install_handlers): Ignore signals that were set to
88352         SIG_IGN.
88353         (at_fatal_signal): Call init_fatal_signals.
88354         (init_fatal_signal_set): Likewise. Ignore signals that were set to
88355         SIG_IGN.
88356         Reported by Paul Eggert.
88357
88358 2004-12-18  Bruno Haible  <bruno@clisp.org>
88359
88360         * doc/alloca.texi: New file.
88361         * doc/alloca-opt.texi: New file.
88362
88363 2004-12-17  Jim Meyering  <jim@meyering.net>
88364
88365         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
88366         Otherwise, install-sh could exit with improper exit status when
88367         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
88368
88369 2004-12-16  Simon Josefsson  <jas@extundo.com>
88370
88371         * tests/test-base64.c: Add license.
88372
88373 2004-12-15  Stepan Kasal  <address@hidden>
88374
88375         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
88376
88377 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
88378
88379         * modules/getcwd (Files): Add m4/d-ino.m4.
88380         Suggested by Mark D. Baushke.
88381
88382 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88383
88384         * lib/getdate.y (textint): New member "negative".
88385         (time_zone_hhmm): New function.
88386         Expect 14 shift-reduce conflicts, not 13.
88387         (o_colon_minutes): New rule.
88388         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
88389         (yylex): Set the "negative" member of signed numbers.
88390
88391 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88392
88393         * doc/getdate.texi (Time of day items, Time zone items):
88394         Describe new formats +00:00, UTC+00:00.
88395
88396 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
88397
88398         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
88399         spurious "-l"s.  Problem reported by Stepan Kasal.
88400
88401 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
88402
88403         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
88404         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
88405
88406 2004-12-04  Simon Josefsson  <jas@extundo.com>
88407
88408         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
88409         Vandoorselaere <yoann@prelude-ids.org>.
88410
88411 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88412
88413         Changes imported from coreutils.
88414         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
88415         exist.
88416         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
88417
88418 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88419
88420         Changes imported from coreutils.
88421         * lib/hard-locale.c: Assume <locale.h> exists.
88422         Include "strdup.h".
88423         (GLIBC_VERSION): New macro.
88424         (hard_locale): Assume setlocale exists.
88425         Rewrite to avoid #ifdef.
88426         Use strdup rather than malloc + strcpy.
88427         * lib/human.c: Assume <locale.h> exists.
88428         (human_readable): Assume localeconv exists.
88429
88430 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88431
88432         * modules/hard-locale (Depends-on): Add strdup.
88433
88434 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
88435
88436         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
88437         convert T2, not T.  (Imported from libc.)
88438
88439 2004-11-30  Simon Josefsson  <jas@extundo.com>
88440
88441         * modules/restrict (License): Change to LGPL.
88442
88443 2004-11-30  Simon Josefsson  <jas@extundo.com>
88444
88445         * m4/restrict.m4: Add copyright and copying conditions.
88446
88447 2004-11-30  Simon Josefsson  <jas@extundo.com>
88448
88449         * m4/base64.m4: New file.
88450
88451 2004-11-30  Simon Josefsson  <jas@extundo.com>
88452
88453         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
88454         base64.
88455
88456         * tests/test-base64.c: New file.
88457
88458         * modules/base64: New file.
88459
88460 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88461
88462         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
88463         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
88464
88465         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
88466
88467 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88468
88469         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
88470         (__getcwd.c): Don't restore errno; glibc doesn't.
88471         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
88472         first, falling back to our code only if its results look suspicious.
88473         Ensure that the resulting buffer is only as large as necessary.
88474
88475         * lib/readutmp.c: Include readutmp.h first.
88476         Include <errno.h>, since readutmp.h no longer does that.
88477         * lib/readutmp.h: Don't include <errno.h>,
88478         <sys/param.h>, <time.h>; not needed to establish interface.
88479         (errno): Remove decl.
88480         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
88481         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
88482         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
88483
88484 2004-11-28  Simon Josefsson  <jas@extundo.com>
88485
88486         * lib/base64.h, base64.c: New file.
88487
88488 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
88489
88490         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
88491
88492 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
88493
88494         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
88495         (Depends-on): Remove pathmax, same.  Add mempcpy.
88496         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
88497         (Makefile.am): Append getcwd.h to lib_SOURCES.
88498         (Include): Add getcwd.h.
88499         (Maintainer): Change from Jim Meyering to "all, glibc",
88500         since getdate now uses intended-for-glibc code.
88501         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
88502         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
88503
88504 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88505
88506         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
88507         HP's ANSI C compiler.
88508         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
88509         Declaring int functions causes warnings on some modern systems and
88510         shouldn't be needed to compile on ancient ones.
88511         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
88512         defined.
88513
88514         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
88515         with the following changes.
88516         (__set_errno): Parenthesize properly.
88517         Include <stdbool.h>.
88518         (MIN, MAX, MATCHING_INO): New macros.
88519         (__getcwd): Define with prototype, not K&R form.
88520         Use heuristics to allocate default buffer on stack if possible.
88521         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
88522         behavior, and to avoid the PATH_MAX limit when computing
88523         ../../../../...
88524         Use MATCHING_INO to compare inode number to file.
88525         Check for arithmetic overflow in size calculations.
88526         Fix bug in reallocation of dot array that caused getcwd to fail
88527         on directories nested deeper than 75.
88528         Be more careful about saving errno on error.
88529         Do not use realloc; use only free+malloc, as this is a bit
88530         more flexible and avoids a needless copy operation.
88531         Do not inspect st_dev and st_ino for symbolic links; POSIX
88532         doesn't specify the latter.
88533         Check for closedir errors.
88534         Avoid needless casts.
88535         Use "#ifdef weak_alias" around weak_alias, to be like other
88536         glibc code.
88537         The following changes to getcwd.c have effect only when used in
88538         gnulib; they have no effect inside glibc proper.
88539         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
88540         as alloca isn't used.
88541         (alloca, __alloca): Likewise.
88542         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
88543         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88544         unconditionally, as gnulib assumes C89 or better.
88545         Do not include <sys/param.h>.
88546         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
88547         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
88548         better.
88549         (NULL) [!defined NULL]: Remove; we assume C89 or better.
88550         Include <dirent.h> in a way that is compatible with modern Autoconf.
88551         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
88552         New macros, if not already defined.
88553         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
88554         Use "_LIBC", not "defined _LIBC", for consistency.
88555         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
88556         a mempcpy module.
88557         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
88558         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
88559         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
88560         credit only to Jim Meyering and adjust the copyright dates.
88561         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
88562         <stdlib.h>, <unistd.h>, "pathmax.h".
88563         Instead, include "xgetcwd.h" (first) and "getcwd.h".
88564         (INITIAL_BUFFER_SIZE): Remove.
88565         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
88566
88567 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88568
88569         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
88570         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
88571         Use the _ONCE methods, for efficiency.
88572         Check for fcntl.h.  In test program, include <errno.h>
88573         and <fcntl.h> if available.  Remove old K&R cruft from
88574         test program.  Check for common errors in GNU/Linux,
88575         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
88576         don't do AC_LIBOBJ, as that's getcwd.m4's job.
88577         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
88578         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
88579         name accordingly.
88580         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
88581         accommodate new getcwd.c.
88582         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
88583         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
88584         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
88585         that's all we need now.
88586
88587 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88588
88589         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
88590         argp-parse.c depends on getopt internals, that means we should
88591         always use our getopt, to be on the safe side.
88592         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
88593         order not to spoil the result of an eventual previous invocation
88594         of gl_GETOPT_SUBSTITUTE.
88595
88596 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88597
88598         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
88599         redefinition warnings. To avoid them, include the defines
88600         in `#if !defined __need_getopt ... #endif'. The only place
88601         where __getopt_argv_const is used is in definitions
88602         of getopt_long and getopt_long_only below, which are as well
88603         protected by `#ifndef __need_getopt'.
88604         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
88605         __need_getopt after including <stdio.h> and <unistd.h> These
88606         headers might have defined it.
88607
88608 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88609
88610         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
88611
88612 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88613
88614         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
88615         (futimens): New function, which uses futimes if available.
88616         (futimens, utimens): Support timespec==NULL, with same semantics
88617         as utime and utimens.
88618         * lib/utimens.h (futimens): New decl.
88619
88620 2004-11-23  Jim Meyering  <jim@meyering.net>
88621
88622         * lib/getopt_.h: Remove trailing blanks.
88623
88624 2004-11-23  Jim Meyering  <jim@meyering.net>
88625
88626         * lib/__fpending.c: Add comment.
88627
88628 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
88629
88630         * modules/canonicalize (Depends-on): Add xreadlink.
88631         Problem reported by James Youngman.
88632
88633 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
88634
88635         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
88636         New macros.
88637         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
88638         optopt): Use them instead of invoking ## directly; otherwise, the
88639         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
88640
88641 2004-11-19  Bruno Haible  <bruno@clisp.org>
88642
88643         * lib/strtok_r.c: Move comments from here...
88644         * lib/strtok_r.h: ... to here.
88645
88646 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88647
88648         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
88649         implementations that mishandle size_t overflow.
88650
88651 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88652
88653         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
88654         might fail.  Problem reported by Yoann Vandoorselaere.
88655         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
88656         implementations that mishandle size_t overflow.
88657
88658 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88659
88660         * modules/canon-host (Depends-on): Add strdup.
88661
88662 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88663
88664         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
88665
88666 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88667
88668         * lib/canon-host.c: Include "strdup.h".
88669         (canon_host): Use getaddrinfo if available, so that IPv6 works.
88670         Use strdup instead of malloc/strcpy to duplicate strings.
88671
88672         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
88673         (human_space_before_unit): New constant.
88674         * lib/human.c (human_readable): Support it.
88675
88676         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
88677         (xgetcwd): Set errno correctly when failing.
88678         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
88679         the failure is actually due to a PATH_MAX problem.
88680
88681         Further getopt changes to make it more likely that glibc will
88682         buy the changes back.
88683         * lib/getopt.c (POSIXLY_CORRECT): New constant.
88684         (getopt): Use it, so to preserve glibc semantic
88685         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
88686         when compiling for libc.
88687         * lib/getopt_.h (__getopt_argv_const): Bring it back.
88688         (getopt_long, getopt_long_only): Use it.
88689
88690         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88691         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
88692         (getopt): Argv is now char * const *, as per standard.
88693         (_getopt_internal_r, _getopt_internal): Argv is now char **,
88694         not char *__getopt_argv_const *.
88695         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88696         _getopt_long_only_r): Likewise.
88697         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
88698         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88699         _getopt_long_r, _getopt_long_only_r): Likewise.
88700         * lib/getopt_.h (__getopt_argv_const): Remove.
88701         (getopt): Argv is now char * const *, as per standard.
88702
88703         * lib/getdate.y (tORDINAL): New token.
88704         (day, relunit): Allow it for relative times.
88705         (relative_time_table): Use tORDINAL for ordinals.
88706
88707 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88708
88709         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
88710         Document that "second" isn't allowed as an ordinal number.
88711
88712 2004-11-16  Jim Meyering  <jim@meyering.net>
88713
88714         * modules/closeout (Depends-on): Add fpending.
88715
88716 2004-11-15  Jim Meyering  <jim@meyering.net>
88717
88718         * lib/closeout.c: Include "__fpending.h" once again.
88719         Include <stdbool.h>.
88720         (close_stdout): Don't fail just because stdout was closed initially,
88721         since some programs don't write to stdout in the normal course of
88722         operation (other than --version and --help), and we don't want this
88723         function to make e.g. `touch file >&-' fail.
88724         But do fail if it was closed and someone has tried to write to it.
88725         E.g., `printf foo >&-' must fail.
88726
88727 2004-11-13  Jim Meyering  <jim@meyering.net>
88728
88729         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
88730
88731 2004-11-12  Simon Josefsson  <jas@extundo.com>
88732
88733         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
88734         small doc fix is still pending.
88735
88736 2004-11-11  Simon Josefsson  <jas@extundo.com>
88737
88738         * modules/strtok_r: New file.
88739
88740         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88741         strtok_r.
88742
88743 2004-11-11  Simon Josefsson  <jas@extundo.com>
88744
88745         * m4/strtok_r.m4: New file.
88746
88747         * m4/getopt.m4: Replace opterr.
88748
88749 2004-11-11  Simon Josefsson  <jas@extundo.com>
88750
88751         * lib/strtok_r.h, strtok_r.c: New file.
88752
88753 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88754
88755         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
88756         of replacing opterr, getopt, etc.  This should handle the
88757         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
88758
88759 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88760
88761         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
88762         we can stop lying to compilers about the constness of argv when we
88763         are compiled outside glibc.
88764         (getopt, getopt_long, getopt_long_only): Use it.
88765         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88766         _getopt_internal, getopt): Likewise.
88767         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88768         _getopt_long_only_r): Likewise.
88769         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88770         _getopt_long_r, _getopt_long_only_r): Likewise.
88771
88772         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
88773         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
88774         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
88775         the other external symbols.
88776         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
88777         declaration, since the above renaming now works around collisions.
88778
88779 2004-11-11  Jim Meyering  <jim@meyering.net>
88780
88781         * lib/linebreak.c: Remove trailing blanks.
88782         * lib/alloca_.h: Likewise.
88783         * lib/acosl.c: Likewise.
88784         * lib/euidaccess.c: Likewise.
88785         * lib/allocsa.h: Likewise.
88786
88787 2004-11-10  Simon Josefsson  <jas@extundo.com>
88788
88789         * m4/getaddrinfo.m4: New file.
88790
88791 2004-11-10  Simon Josefsson  <jas@extundo.com>
88792
88793         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
88794
88795 2004-11-10  Simon Josefsson  <jas@extundo.com>
88796
88797         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88798         getaddrinfo.
88799
88800         * modules/getaddrinfo: New file.
88801
88802 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88803
88804         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
88805
88806 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88807
88808         * lib/mktime.c (SHR): New macro, which is a portable
88809         substitute for >> that should work even on Crays.
88810         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
88811         Problem reported by Mark D. Baushke in
88812         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
88813         * lib/getdate.y (SHR): Likewise.
88814         (tm_diff): Use it.
88815         * lib/strftime.c (SHR): Likewise.
88816         (tm_diff): Use it.
88817         * lib/quotearg.c (struct quoting_options): Use unsigned int for
88818         quote_these_too, so that right shifts are well defined.  All uses
88819         changed.
88820
88821 2004-11-10  Jim Meyering  <jim@meyering.net>
88822
88823         Ensure that no close failure goes unreported.
88824         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
88825         return early when it seems there's nothing to flush.
88826         Don't include __fpending.h.
88827
88828 2004-11-10  Jim Meyering  <jim@meyering.net>
88829
88830         * modules/closeout (Depends-on): Remove fpending.
88831
88832 2004-11-10  Jim Meyering  <jim@meyering.net>
88833
88834         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
88835
88836 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88837
88838         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
88839         gl_FUNC_STRFTIME.
88840         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
88841         and AC_REQUIRE when possible, to avoid duplicate checks.
88842         Check for <wchar.h>.
88843
88844 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88845
88846         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
88847
88848 2004-11-09  Bruno Haible  <bruno@clisp.org>
88849
88850         * m4/sockpfaf.m4: New file.
88851
88852 2004-11-05  Bruno Haible  <bruno@clisp.org>
88853
88854         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
88855         Reported by Mark D. Baushke <mdb@cvshome.org>.
88856
88857 2004-11-04  Bruno Haible  <bruno@clisp.org>
88858
88859         2004-09-11  Bruno Haible  <bruno@clisp.org>
88860                 * allocsa.valgrind: New file.
88861         2004-02-06  Bruno Haible  <bruno@clisp.org>
88862                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
88863                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
88864                 Reported by Christopher Seip <chris.seip@hp.com>.
88865
88866 2004-11-04  Bruno Haible  <bruno@clisp.org>
88867
88868         * modules/allocsa (Files): Add lib/allocsa.valgrind.
88869         (Makefile.am): Distribute it.
88870
88871 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
88872
88873         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
88874         with errno == ERANGE if the buffer is too small.
88875         Problem reported by Mark D. Baushke.
88876
88877 2004-11-03  Albert Chin  <china@thewrittenword.com>
88878             Paul Eggert  <eggert@cs.ucla.edu>
88879
88880         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
88881         equivalent, substitute $ac_type for equivalent type rather than
88882         blindly using uint32_t *always* which won't work if uint32_t is not
88883         available.  Define _UINT32_T to work around typedef of uint32_t if
88884         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
88885         2.5.1.
88886
88887 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88888
88889         * m4/jm-macros.m4: Sync from coreutils.
88890         (gl_MACROS): Check for mbrlen, for pathchk.
88891         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
88892
88893 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88894
88895         * lib/xreadlink.c (MAXSIZE): New macro.
88896         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
88897         size does not exceed MAXSIZE.  Avoid cast.
88898         As suggested by Mark D. Baushke in
88899         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
88900         if readlink fails with buffer size just under MAXSIZE, try again
88901         with MAXSIZE.
88902
88903 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88904
88905         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
88906
88907 2004-11-02  Derek R. Price  <derek@ximbiot.com>
88908         and  Paul Eggert  <eggert@cs.ucla.edu>
88909
88910         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
88911         (get_date): Overparenthesize to avoid GCC warning.
88912
88913 2004-11-02  Bruno Haible  <bruno@clisp.org>
88914
88915         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
88916         returns void.
88917
88918 2004-11-02  Bruno Haible  <bruno@clisp.org>
88919
88920         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
88921         function returns void.
88922
88923 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88924
88925         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
88926         fflush_unlocked, flockfile, funlockfile, funlockfile,
88927         fputs_unlocked, putc_unlocked.
88928
88929 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88930
88931         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
88932         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
88933         already declared.
88934
88935 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88936
88937         * modules/getdate (Files): Add doc/getdate.texi.
88938         (Depends-on): Add setenv, xalloc.
88939
88940 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88941
88942         * lib/getdate.y: Add support for TZ="foo" within a date string.
88943         Fix some bugs near time_t boundaries.  Reject dates with
88944         out-of-range components, e.g., "Sept 31".
88945         Include <stdlib.h>, "setenv.h", "xalloc.h".
88946         (ISDIGIT_LOCALE): Remove; unused.
88947         Note that the TZ and time functions used here are not reentrant.
88948         (mktime_ok, get_tz): New functions.
88949         (TZBUFSIZE): New constant.
88950         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
88951         This requires that we sometimes generate our own TZ="XXX..." setting.
88952
88953 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88954
88955         * doc/getdate.texi: New file, from coreutils with modifications for
88956         the new TZ parsing.
88957
88958 2004-10-27  Derek R. Price  <derek@ximbiot.com>
88959
88960         * lib/mktime.c (not_equal_tm): Remove redundant check.
88961
88962 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
88963
88964         * modules/regex (lib_SOURCES): Add regex.c.
88965         Reported by James Youngman in
88966         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
88967
88968 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
88969
88970         * lib/getdate.y: Use Bison 1.875 features, and some minor
88971         code cleanups.  This change does not affect semantics.
88972         Don't include <stdlib.h>; no longer needed.
88973         Don't include unlocked-io.h; only the "#if TEST" code uses
88974         stdio, and performance isn't crucial there.
88975         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
88976         Bison 1.875 features as described below.
88977         All uses of "PC." replaced by "pc->".
88978         (YYSTYPE): Add a forward declaration.
88979         (yylex, yyerror): Use full prototypes in forward decls.
88980         Use "%pure-parser" rather than obsolescent "%pure_parser".
88981         Use %parse-param and %lex-param instead of obsolescent
88982         YYPARSE_PARAM and YYLEX_PARAM.
88983         (meridian_table, month_and_day_table, time_units_table,
88984         relative_time_table, time_zone_table, military_table,
88985         lookup_zone, lookup_word, get_date):
88986         Use NULL instead of 0 where appropriate.
88987         (to_hour): Avoid abort (), to avoid a dependency on
88988         stdlib.h.
88989         (yyerror, yylex): Now accepts parser_control * arg.
88990         (main) [TEST]: Use '\0' rather than 0 for char.
88991
88992 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
88993
88994         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
88995
88996 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
88997
88998         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
88999         It's now the caller's responsibility to handle the case where
89000         !HAVE_GETPAGESIZE && !defined getpagesize.
89001
89002         * lib/mktime.c (leapyear): Arg is long int, not int.
89003
89004 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
89005
89006         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
89007
89008 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
89009
89010         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
89011         missing.  Problem reported by James Youngman.
89012
89013 2004-10-16  Simon Josefsson  <jas@extundo.com>
89014
89015         * gnulib-tool: Fix comments.  Fix parse problem.
89016         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
89017
89018 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
89019
89020         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
89021         implementation of getopt_long.  Problem reported by Alexander Taler in:
89022         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
89023
89024 2004-10-15  Bruno Haible  <bruno@clisp.org>
89025
89026         * gnulib-tool: Untabify. Initialize supplied_libname.
89027         (func_usage): More homogenous output.
89028         (func_modules_transitive_closure, func_modules_to_filelist,
89029         func_emit_lib_Makefile_am): New functions.
89030         (func_import): New function, extracted from big case statement. Use
89031         func_get_license, func_modules_transitive_closure,
89032         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
89033         opt_lgpl. Don't use test -a, as it's not portable.
89034         (func_create_testdir): Use func_modules_transitive_closure,
89035         func_modules_to_filelist, func_emit_lib_Makefile_am.
89036
89037 2004-10-15  Bruno Haible  <bruno@clisp.org>
89038
89039         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
89040
89041 2004-10-15  Bruno Haible  <bruno@clisp.org>
89042
89043         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
89044         the portions belonging to each module.
89045         Suggested by Derek Robert Price <derek@ximbiot.com>.
89046
89047 2004-10-12  Simon Josefsson  <jas@extundo.com>
89048
89049         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89050         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
89051         to real functions.
89052
89053 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89054
89055         * modules/vsnprintf: New file.
89056
89057 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89058
89059         * m4/vsnprintf.m4: New file.
89060
89061 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89062
89063         * lib/vsnprintf.h: New file.
89064         * lib/vsnprintf.c: New file.
89065
89066 2004-10-11  Bruno Haible  <bruno@clisp.org>
89067
89068         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
89069         vsnprintf.
89070
89071 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
89072
89073         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
89074
89075 2004-10-07  Bruno Haible  <bruno@clisp.org>
89076
89077         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
89078         fits into the provided buffer.
89079
89080 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
89081
89082         * lib/diacrit.c, diacrit.h: Add GPL notice.
89083
89084         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
89085         notice.
89086         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
89087         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
89088         This avoids a potential constant-folding bug.
89089
89090 2004-10-05  Bruno Haible  <bruno@clisp.org>
89091
89092         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
89093         for the declaration of strsep.
89094
89095 2004-10-05  Bruno Haible  <bruno@clisp.org>
89096
89097         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
89098
89099 2004-10-04  Simon Josefsson  <jas@extundo.com>
89100
89101         * modules/memmem: New file.
89102         * tests/test-memmem.c: New file.
89103         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
89104
89105 2004-10-04  Simon Josefsson  <jas@extundo.com>
89106
89107         * m4/memmem.m4: New file.
89108
89109 2004-10-04  Simon Josefsson  <jas@extundo.com>
89110
89111         * lib/memmem.h: New file.
89112         * lib/memmem.c: New file, taken from glibc.
89113
89114 2004-10-04  Simon Josefsson  <jas@extundo.com>
89115
89116         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
89117         '#ifdef USE_UNLOCKED_IO'.
89118
89119 2004-10-04  Simon Josefsson  <jas@extundo.com>
89120
89121         * config/srclist.txt: Add memmem from glibc.
89122
89123 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89124
89125         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
89126
89127         * modules/argmatch, modules/argp, modules/closeout, modules/error,
89128         modules/exclude, modules/getdate, modules/getline,
89129         modules/getndelim2, modules/getpass, modules/getpass-gnu,
89130         modules/getusershell, modules/linebuffer, modules/md5,
89131         modules/mountlist, modules/posixtm, modules/readtokens,
89132         modules/readutmp, modules/regex, modules/sha1,
89133         modules/version-etc, modules/yesno:
89134         Remove dependency on unlocked-io.
89135
89136 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89137
89138         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
89139
89140         * m4/unlocked-io.m4: Add copyright notice.
89141         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
89142
89143 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89144
89145         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
89146         * lib/xmalloc.c (xmemdup): Likewise.
89147         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
89148         XFREE): Remove these long-obsolescent macros.
89149         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
89150         * lib/xstrdup.c: Remove.
89151
89152         * lib/regex.c (re_comp): Cast gettext return value to char *,
89153         Problem reported by Martin Neitzel via Mark D. Baushke.
89154
89155 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89156
89157         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
89158         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
89159         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
89160         regex.c, sha1.c, version-etc.c, yesno.c:
89161         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
89162         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
89163         the includer's responsibility.
89164
89165         Sync from coreutils.
89166
89167         * lib/modechange.c (mode_compile): Don't decrement a pointer that
89168         points to the start of a string, as the C Standard says the
89169         resulting behavior is undefined.
89170
89171         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
89172         simple -> simple_backups, numbered_existing ->
89173         numbered_existing_backups, numbered -> numbered_backups
89174         to avoid shadowing problems.  All uses changed.
89175         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
89176         * lib/backupfile.c (check_extension, numbered_backup):
89177         Rename locals to avoid shadowing 'basename'.
89178         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
89179         once.
89180
89181         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
89182         * lib/.cvsignore: Add getopt.h.
89183
89184 2004-10-04  Bruno Haible  <bruno@clisp.org>
89185
89186         * modules/README: New file.
89187         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
89188         not a module.
89189
89190 2004-10-02  Jim Meyering  <jim@meyering.net>
89191
89192         * lib/dirfd.h, getpagesize.h: Add copyright notice.
89193
89194 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89195
89196         * modules/strsep: New file.
89197
89198 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89199
89200         * m4/strsep.m4: New file.
89201
89202 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89203
89204         * lib/strsep.h: New file.
89205         * lib/strsep.c: New file.
89206
89207 2004-10-01  Simon Josefsson  <jas@extundo.com>
89208
89209         * lib/snprintf.c (snprintf): Handle size==0.
89210
89211 2004-10-01  Simon Josefsson  <jas@extundo.com>
89212             Bruno Haible  <bruno@clisp.org>
89213
89214         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
89215         (snprintf): Declare 'args'.
89216
89217 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
89218
89219         * lib/snprintf.c: Remove comments as to why each header is needed.
89220
89221 2004-10-01  Bruno Haible  <bruno@clisp.org>
89222
89223         * MODULES.html.sh: Add strsep.
89224
89225 2004-09-30  Simon Josefsson  <jas@extundo.com>
89226
89227         * modules/snprintf: New file.
89228
89229 2004-09-30  Simon Josefsson  <jas@extundo.com>
89230
89231         * m4/snprintf.m4: New file.
89232
89233 2004-09-30  Simon Josefsson  <jas@extundo.com>
89234
89235         * lib/snprintf.h, lib/snprintf.c: New files.
89236
89237 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89238
89239         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
89240         (hol_entry_help): Never translate an empty string.
89241         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
89242         * lib/argp.h (OPTION_NO_TRANS): New option.
89243
89244 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89245
89246         * modules/argp (Maintainer): Replace Simon Josefsson
89247         by Sergey Poznyakoff.
89248
89249 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89250
89251         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
89252         changes merged back into glibc.
89253
89254 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89255
89256         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
89257
89258 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
89259
89260         * lib/xvasprintf.c: Include xalloc.h.
89261         (xvasprintf): Use xalloc_die, not xmalloc_die.
89262
89263 2004-09-29  Bruno Haible  <bruno@clisp.org>
89264
89265         * modules/alloca-opt: New file, derived from modules/alloca.
89266         * modules/allocsa: Depend on alloca-opt instead of alloca.
89267         * modules/setenv: Likewise.
89268         * modules/vasnprintf: Likewise.
89269         * MODULES.html.sh: Add alloca-opt.
89270
89271 2004-09-28  Simon Josefsson  <jas@extundo.com>
89272
89273         * gnulib-tool: New parameter --lgpl, to asseert that modules are
89274         LGPL, and to replace license template from GPL to LGPL.
89275
89276 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89277
89278         * modules/dummy: Change license to LGPL.
89279
89280 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89281
89282         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
89283
89284 2004-09-24  Simon Josefsson  <jas@extundo.com>
89285
89286         * modules/minmax (License): Change from GPL to LGPL.
89287
89288 2004-09-23  Simon Josefsson  <jas@extundo.com>
89289
89290         * gnulib-tool (--import): Typo.
89291
89292 2004-09-23  Simon Josefsson  <jas@extundo.com>
89293
89294         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
89295
89296 2004-09-22  Bruno Haible  <bruno@clisp.org>
89297
89298         * modules/*: Add 'License' field.
89299         * gnulib-tool: Accept --extract-license option.
89300         (func_get_license): New function.
89301
89302 2004-09-21  Bruno Haible  <bruno@clisp.org>
89303
89304         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
89305         Reported by Simon Josefsson.
89306
89307 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89308
89309         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
89310         gl_AC_TYPE_LONG_LONG.
89311
89312 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89313
89314         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
89315
89316 2004-09-18  Simon Josefsson  <jas@extundo.com>
89317         and  Paul Eggert  <eggert@cs.ucla.edu>
89318
89319         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
89320         calls with autoreconf.  Define GL_LIB.
89321
89322 2004-09-14  Karl Berry  <karl@gnu.org>
89323
89324         * config/srclist.txt: unsync setenv.c, sigh.
89325
89326 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89327
89328         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
89329         Problem reported by Bruno Haible in:
89330         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
89331
89332 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89333
89334         * config/srclist.txt: Comment out argp-pvh.c.
89335
89336 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
89337
89338         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
89339         in case some system header has #define'd it.  Problem reported by
89340         Soeren D. Schulze in
89341         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
89342
89343 2004-09-09  Karl Berry  <karl@gnu.org>
89344
89345         * regex.[ch]: delete from the root.  These were supposed to be
89346                 synced with emacs cvs, but this has not happened for about
89347                 a year, and anyway nothing else uses emacs regex.[ch].
89348                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
89349                 lib/regex[.ch] is untouched.
89350
89351 2004-09-09  Bruno Haible  <bruno@clisp.org>
89352
89353         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
89354
89355 2004-09-09  Bruno Haible  <bruno@clisp.org>
89356
89357         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
89358         modifications.
89359         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
89360
89361 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89362
89363         * modules/xvasprintf: New file.
89364         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
89365
89366 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89367
89368         * lib/xvasprintf.h: New file.
89369         * lib/xvasprintf.c: New file.
89370         * lib/xasprintf.c: New file.
89371
89372 2004-09-08  Bruno Haible  <bruno@clisp.org>
89373
89374         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
89375
89376 2004-09-08  Bruno Haible  <bruno@clisp.org>
89377
89378         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
89379         length is > INT_MAX.
89380         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
89381         more.
89382
89383 2004-09-08  Bruno Haible  <bruno@clisp.org>
89384
89385         * lib/stdint_.h: New file, taken from GNU clisp.
89386
89387 2004-09-08  Bruno Haible  <bruno@clisp.org>
89388             Oskar Liljeblad  <oskar@osk.mine.nu>
89389
89390         * modules/stdint: New file.
89391         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
89392
89393 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89394
89395         Import from coreutils.
89396         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
89397         strings on unbounded length.  alloca's performance benefits aren't
89398         that important here.
89399         (V_STRDUP): Remove.
89400         (parse_with_separator): New function, with most of the internals
89401         of the old parse_user_spec.  Allow user to omit both user and group,
89402         for compatibility with FreeBSD.
89403         Clone only the user name, not the entire spec.
89404         Do not set *uid, *gid unless entirely successful.
89405         Avoid memory leak in some failing cases.
89406         Fix regression for USER.GROUP reported by Dmitry V. Levin in
89407         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
89408         (parse_user_spec): Rewrite to use parse_with_separator.
89409
89410 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89411
89412         * modules/userspec: Don't depend on alloca.
89413
89414 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89415
89416         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
89417
89418 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
89419
89420         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
89421         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
89422         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
89423
89424 2004-08-16  Simon Josefsson  <jas@extundo.com>
89425
89426         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
89427         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
89428         Add --dry-run for --import.
89429         Let user provided command line parameters override configure.ac
89430         settings.
89431
89432 2004-08-12  Simon Josefsson  <jas@extundo.com>
89433
89434         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
89435         as discussed with Paul Eggert in threads rooted at
89436         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
89437         and
89438         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
89439         Before, the test was empty, and relied on ELIDE_CODE in source
89440         code.)
89441         (gl_PREREQ_GETOPT): New macro.
89442         (gl_GETOPT): Use them.
89443
89444 2004-08-12  Simon Josefsson  <jas@extundo.com>
89445
89446         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
89447         * lib/getopt_.h: Renamed from getopt.h.
89448
89449 2004-08-12  Simon Josefsson  <jas@extundo.com>
89450
89451         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
89452         Change default library name from libfoo to libgnu.
89453         Now, if you have a configure.ac that says:
89454                 gl_SOURCE_BASE(gl)
89455                 gl_M4_BASE(gl/m4)
89456                 gl_MODULES(error getopt etcetera)
89457                 gl_INIT
89458         you can import all you need by running:
89459                 ../gnulib/gnulib-tool --import
89460
89461         * modules/getopt (Files): Rename getopt.h to getopt_.h.
89462         (Makefile.am): Rewrite, use logic from argz.
89463         (Include): Use <getopt.h> instead of "getopt.h".
89464
89465 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89466
89467         * modules/argp (Files): Add m4/unlocked-io.m4.
89468         (Depends-on): Add extensions.
89469
89470 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89471
89472         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
89473         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
89474         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
89475         Check for program_invocation_name, program_invocation_short_name,
89476         flockfile, funlockfile, features.h, _getopt_long_only_r.
89477
89478 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89479
89480         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
89481         its complicated substitute.
89482         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
89483         and program_invocation_name.
89484         (__argp_basename) [!_LIBC]: Remove; the only use was
89485         replaced by its body.
89486         (__argp_short_program_name): Change condition from
89487         !defined __argp_short_program_name to
89488         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
89489         to match argp-namefrob.h.
89490         (__argp_failure): Don't assume strerror_r returns char *.
89491         * lib/argp-parse.c (N_): Define unconditionally.
89492         (argp_default_options): Fill out initializers with 0 to avoid
89493         gcc warnings.
89494
89495 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89496
89497         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
89498         getopt1.c.
89499
89500 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89501
89502         Merge from coreutils.
89503
89504         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
89505
89506         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
89507         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
89508
89509 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89510
89511         Merge from coreutils.
89512
89513         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
89514         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
89515         for Reliant Unix 5.43.
89516
89517         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
89518         (union fooround): Use uintmax_t, not long int.
89519         The rest is a merge from libc:
89520         [defined _LIBC]: Include <shlib-compat.h>.
89521         (_obstack) [defined _LIBC]: Remove after 2.3.4.
89522
89523         * lib/settime.c (settime): Recode to avoid warning with
89524         Sun Forte C 6U2.
89525
89526         * lib/strverscmp.c: Convert to UTF-8.
89527
89528 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89529
89530         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
89531         m4/uintmax_t.m4.
89532
89533 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89534
89535         * modules/xalloc-die: New file.
89536         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
89537
89538         * modules/md5 (Files): Add m4/uint32_t.m4.
89539         * modules/sha1: Renamed from modules/sha.
89540         (Files):
89541         Rename lib/sha.h to lib/sha1.h.
89542         Rename lib/sha.c to lib/sha1.c.
89543         Rename m4/sha.m4 to m4/sha1.m4.
89544         (lib_SOURCES): Likewise.
89545         (configure.ac): Rename gl_SHA to gl_SHA1.
89546         (Include): sha.h -> sha1.h.
89547
89548 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89549
89550         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
89551         * m4/sha1.m4: Renamed from sha.m4.
89552         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
89553
89554 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89555
89556         * lib/obstack.h (obstack_empty_p):
89557         Don't assume that chunk->contents is suitably aligned.
89558         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
89559         Likewise. Problem reported by Benno in
89560         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
89561
89562         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
89563         readable.  This could be improved further but it'd take some work.
89564
89565 2004-08-08  Simon Josefsson  <jas@extundo.com>
89566
89567         * modules/xgethostname (Depends-on): Remove exit and error (not
89568         used).
89569
89570         * modules/getpass-gnu: Add getpass.h.
89571         (Depends-on): Add stdbool.
89572         * modules/getpass: Add getpass.h.
89573
89574 2004-08-08  Simon Josefsson  <jas@extundo.com>
89575
89576         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
89577         Check getpass declaration.
89578
89579 2004-08-08  Simon Josefsson  <jas@extundo.com>
89580
89581         * lib/xgethostname.c: Don't include error.h (not used).
89582
89583         * lib/getpass.h: Add.
89584         * lib/getpass.c: Include getpass.h first.
89585
89586 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
89587
89588         * lib/xalloc-die.c: New file.
89589         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
89590         All uses removed.
89591         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
89592         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
89593         xalloc-die.c.
89594         (_, N_, xalloc_die): Move to xalloc-die.c.
89595         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
89596         so that we needn't mess with xalloc_msg_memory_exhausted.
89597
89598         * lib/sha1.h: Renamed from sha.h.
89599         (SHA1_H): Renamed from _SHA_H.
89600         (sha1_ctx): Renamed from sha_ctx.
89601         (sha1_init_ctx): Renamed from sha_init_ctx.
89602         (sha1_process_block): Renamed from sha_process_block.
89603         (sha1_process_bytes): Renamed from sha_process_bytes.
89604         (sha1_finish_ctx): Renamed from sha_finish_ctx.
89605         (sha1_read_ctx): Renamed from sha_read_ctx.
89606         (sha1_stream): Renamed from sha_stream.
89607         (sha1_buffer): Renamed from sha_buffer.
89608         * lib/sha1.c: Likewise; renamed from sha.c.
89609         Do not include <sys/types.h>.
89610         Include <stddef.h> rather than <stdlib.h>.
89611
89612 2004-08-08  Bruno Haible  <bruno@clisp.org>
89613
89614         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
89615         FILESYSTEM_PREFIX_LEN.
89616         * lib/progreloc.c: Likewise.
89617         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
89618
89619 2004-08-06  Simon Josefsson  <jas@extundo.com>
89620
89621         * modules/progname (Depends-on): Don't depend on stdbool.
89622
89623 2004-08-06  Simon Josefsson  <jas@extundo.com>
89624
89625         * modules/getsubopt: New file.
89626         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89627         getsubopt.
89628
89629 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89630
89631         More merge from coreutils.
89632
89633         * m4/utimens.m4, m4/utimecmp.m4: New files.
89634         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
89635         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
89636         prereq.m4, sha.m4: Import changes from coreutils.
89637
89638 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89639
89640         More merge from coreutils.
89641         * modules/raise, modules/readtokens0, modules/utimens:
89642         * modules/utimecmp, module/xnanosleep: New files.
89643         * modules/strftime: Add lib/strftime.h.
89644         Change include from <time.h> to "strftime.h".
89645         * modules/yesno: Add lib/yesno.h.
89646         * modules/backupfile: Remove lib/addext.c.
89647         * modules/euidaccess: Add stat-macros.h.
89648         * modules/canonicalize, modules/euidaccess,
89649         modules/filemode, modules/lchown, modules/makepath,
89650         modules/rmdir, modules/stat: Likewise.
89651
89652 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89653
89654         Merge from tar.
89655         * lib/argp-help.c (make_hol, hol_append): Don't assume that
89656         SIZE_MAX is a valid preprocessor constant.
89657         (__argp_basename): Change from "#ifndef _LIBC"
89658         to "#ifndef __argp_short_program_name", so that
89659         we don't compile these functions for tar.
89660
89661         More merges from coreutils.
89662         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
89663         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
89664         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
89665         * lib/addext.c: Remove; no longer needed.
89666         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
89667         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
89668         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
89669         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
89670         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
89671         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
89672         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
89673         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
89674         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
89675         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
89676         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
89677         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
89678         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
89679         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
89680         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
89681         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
89682         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
89683         Import changes from coreutils.
89684
89685 2004-08-05  Simon Josefsson  <jas@extundo.com>
89686
89687         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
89688
89689 2004-08-05  Simon Josefsson  <jas@extundo.com>
89690
89691         * m4/getsubopt.m4: New file.
89692
89693 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89694
89695         Merge from coreutils.
89696
89697         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
89698         * m4/getcwd-path-max.m4: New files.
89699
89700         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
89701         FILESYSTEM_PREFIX_LEN ->
89702         FILE_SYSTEM_PREFIX_LEN.
89703         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
89704         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
89705         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
89706         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
89707
89708         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
89709         prerequisite modules now handle the DOS stuff.
89710         Don't check for unistd.h.
89711
89712 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89713
89714         Merge from coreutils.
89715
89716         * lib/.gdb-history: Remove; this doesn't belong here.
89717
89718         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
89719         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
89720         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
89721         * lib/getcwd.c: New files.
89722
89723         * lib/dirname.h: Include <stdbool.h>.
89724         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
89725         for consistency with POSIX terminology.  All uses changed.
89726         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
89727         (strip_trailing_slashes): Use bool for booleans.
89728         * lib/stripslash.c (strip_trailing_slashes): Likewise.
89729
89730         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
89731         sometimes returns a positive errno value even when it succeeds.
89732         (print_errno_message) [!LIBC]: Fall back on strerror if
89733         __strerror_r fails.
89734
89735         * lib/path-concat.c (mempcpy): Don't define if a system header defines
89736         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
89737         (longest_relative_suffix): New function.
89738         (path_concat): Use it.  Assume first argument is not NULL.
89739         Port to DOS.  Omit redundant separators.
89740         Report an error instead of returning NULL.
89741         Use mempcpy instead of memcpy.
89742         (xpath_concat): Remove: not declared or used.
89743
89744         * lib/same.h: Include <stdbool.h>
89745         (same_name): Return bool, not int.
89746         * lib/same.c (same_name): Likewise.
89747         (errno): Don't declare; we assume C89 or better now.
89748
89749         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
89750         if not already defined.
89751
89752         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
89753         * lib/dup-safer.c (errno): Likewise.
89754
89755 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89756
89757         Merge from coreutils.
89758         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
89759         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
89760         * modules/path-concat: Don't depend on strdup.
89761
89762 2004-08-03  Simon Josefsson  <jas@extundo.com>
89763
89764         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
89765         * lib/progname.h: Don't include stdbool.h.
89766
89767 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89768
89769         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
89770         * MODULES.html.sh (func_all_modules): Remove fatal.
89771
89772 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89773
89774         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
89775
89776 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89777
89778         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
89779         working.
89780
89781 2004-08-02  Simon Josefsson  <jas@extundo.com>
89782
89783         * lib/getsubopt.h: New file, with comments from Bruno Haible.
89784         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
89785         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
89786
89787 2004-08-01  Simon Josefsson  <jas@extundo.com>
89788
89789         * lib/xgetdomainname.c: Include stdlib.h, for free().
89790
89791 2004-07-19  Bruno Haible  <bruno@clisp.org>
89792
89793         * MODULES.html.sh (func_all_modules): Add dummy.
89794
89795 2004-07-16  Simon Josefsson  <jas@extundo.com>
89796
89797         * modules/dummy: New file.
89798
89799 2004-07-16  Simon Josefsson  <jas@extundo.com>
89800
89801         * lib/dummy.c: New file.
89802
89803 2004-07-16  Bruno Haible  <bruno@clisp.org>
89804
89805         * lib/backupfile.h: Add extern "C" for C++.
89806         * lib/closeout.h: Likewise.
89807         * lib/copy-file.h: Likewise.
89808         * lib/findprog.h: Likewise.
89809         * lib/full-write.h: Likewise.
89810         * lib/pathname.h: Likewise.
89811         * lib/progname.h: Likewise.
89812         * lib/stpcpy.h: Likewise.
89813         * lib/stpncpy.h: Likewise.
89814         * lib/strcase.h: Likewise.
89815         * lib/strstr.h: Likewise.
89816         * lib/xalloc.h: Likewise.
89817
89818         * lib/mbswidth.h: Add extern "C" for C++.
89819         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
89820
89821 2004-07-13  Robert Millan  <robertmh@gnu.org>
89822
89823         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
89824
89825 2004-07-09  Simon Josefsson  <jas@extundo.com>
89826
89827         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
89828         failed without this.)
89829
89830 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89831
89832         * modules/chown (Files): Add lib/fchown-stub.c, since
89833         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
89834
89835 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89836
89837         * lib/fchown-stub.c: New file.
89838
89839 2004-06-24  Jim Meyering  <jim@meyering.net>
89840
89841         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
89842
89843 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89844
89845         * modules/argz: Omit "#include".
89846
89847         * MODULES.html.sh (func_all_modules): Add calloc, to match
89848         2004-06-01 addition of calloc module.
89849
89850 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89851
89852         * m4/argz.m4: New file, which is autoupdated from libtool.
89853
89854 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89855
89856         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
89857         libtool.
89858
89859 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89860
89861         * config/srclist-update: Don't insist on "USA." before the
89862         close-comment, as libtool omits the period and puts the */ on a
89863         separate line.
89864         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
89865         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
89866
89867 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
89868
89869         * modules/argz: New file.
89870         * MODULES.html.sh (func_all_modules): Add argz.
89871
89872 2004-06-12  Jim Meyering  <jim@meyering.net>
89873         and  Paul Eggert  <eggert@cs.ucla.edu>
89874
89875         * modules/hash (Files): Add lib/xalloc.h.
89876         * modules/pipe (Depends-on): Add wait-process.
89877         * modules/stat (Depends-on): Add xalloc.
89878         * modules/userspec (Files): Add lib/userspec.h.
89879         * modules/xstrto
89880
89881         Upgrade from gettext-0.13.
89882         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
89883         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
89884         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
89885
89886 2004-06-10  Jim Meyering  <jim@meyering.net>
89887
89888         * lib/calloc.c: New file.
89889
89890 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
89891
89892         * lib/getdate.y (yylex): Allow space between sign and number.
89893         Problem reported by Dan Jacobson.
89894
89895 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89896
89897         Merge from coreutils CVS.
89898
89899         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
89900         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
89901         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
89902         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
89903         xstrtol.m4: Fix copyright date and/or serial number.
89904
89905         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
89906         See if we need an fchown replacement.
89907         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
89908         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
89909         and use the replacement function if we detect either defect.
89910
89911         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
89912         gl_UTIMECMP.
89913
89914 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89915         and  Jim Meyering  <jim@meyering.net>
89916
89917         Merge from coreutils CVS.
89918
89919         * lib/stat-macros.h: New file, with contents from file-type.h
89920         and coreutils' system.h.
89921         * lib/file-type.c: Include "stat-macros.h".
89922         * lib/file-type.h (file_type): Move all macro definitions to new file,
89923         stat-macros.h.
89924
89925         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
89926         Wrap old code with this conditional.
89927         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
89928         function that does not dereference symlinks.
89929         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
89930
89931         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
89932         dependency problems.
89933         (xreadlink): Accept new arg SIZE, for efficiency.
89934         All decls and uses changed.
89935         * lib/xreadlink.h: Include <stddef.h>, for size_t.
89936
89937         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
89938         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
89939
89940         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
89941         sysexits.h.
89942
89943 2004-06-01  Jim Meyering  <jim@meyering.net>
89944
89945         * m4/calloc.m4: New file.
89946
89947 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
89948
89949         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
89950         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
89951         Also, fix a typo in a diagnostic.
89952
89953 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
89954
89955         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
89956         or AC_FUNC_REALLOC.
89957
89958 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
89959
89960         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
89961         macros to be defined.
89962         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
89963         the allocator returns NULL because the requested size is zero.
89964
89965 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
89966
89967         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
89968         var.  Add comment explaining why libc still defines it.  This
89969         merges the following patch from glibc:
89970         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
89971
89972 2004-05-20  Andreas Schwab  <schwab@suse.de>
89973
89974         * m4/free.m4: Replace free if it not known to work, not the other
89975         way round.
89976
89977 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
89978
89979         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
89980         present in glibc since revision 1.1 of this file.
89981         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
89982         obstack_alignment_mask, obstack_alloc, obstack_base,
89983         obstack_blank, obstack_blank_fast, obstack_chunk_size,
89984         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
89985         obstack_grow0, obstack_init, obstack_int_grow,
89986         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
89987         obstack_next_free, obstack_object_size, obstack_ptr_grow,
89988         obstack_ptr_grow_fast, obstack_room): Remove declarations of
89989         nonexistent functions.
89990
89991 2004-05-18  Karl Berry  <karl@gnu.org>
89992
89993         * config/srclist.txt: break link for vasnprintf.c.
89994
89995 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
89996
89997         Port obstack to the AS/400, where pointers are 16 bytes wide and
89998         you cannot cast an integer to a valid pointer.  This patch is
89999         currently waiting to be integrated into glibc; see
90000         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
90001
90002         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
90003         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
90004         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
90005         (struct obstack): temp member is now a union of a pointer and
90006         an integer, instead of an integer.  All integer uses changed.
90007         This does not affect the physical layout of struct obstack,
90008         except on hosts (like the AS/400) where the size or alignment of
90009         void * is greater than that of ptrdiff_t.
90010         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
90011         __STDC__)]: Store temporary in pointer member of union, not
90012         integer member.
90013         * lib/obstack.c: Include <stddef.h>, for offsetof.
90014         (struct fooalign): Remove; it doesn't need a name.
90015         (union fooround): Change double to long double, and add void *.
90016         (DEFAULT_ALIGNMENT): Use offsetof to compute.
90017         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
90018         not a macro.  Hence the values are always int; so remove all
90019         casts-to-int in uses.
90020
90021 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90022
90023         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
90024         we can get this patch merged into glibc.
90025
90026 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90027             Paul Eggert  <eggert@cs.ucla.edu>
90028
90029         * m4/argp: Depend on alloca.
90030
90031 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90032             Paul Eggert  <eggert@cs.ucla.edu>
90033
90034         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
90035         freecoding.
90036
90037 2004-05-17  Bruno Haible  <bruno@clisp.org>
90038
90039         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
90040         precision that consists of a '.' followed by an empty digit string.
90041         Patch by Tor Lillqvist <tml@iki.fi>.
90042
90043 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90044
90045         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
90046         for backward compatibility with older code.  We need our own
90047         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
90048         it under some other name, and our alloca.h will define it.
90049
90050 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90051             Derek Price  <derek@ximbiot.com>
90052
90053         * lib/alloca.c: Include <alloca.h>, to get our interface.
90054         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
90055         include <alloca.h> first.  Use C89 prototype for alloca; this
90056         requires including <stddef.h> for size_t.  Use extern "C" if C++.
90057         Use #elif for simplicity, since we can assume C89 now.
90058         Don't try to source the system alloca.h since it will not be found
90059         and to prevent recursively including its replacement.
90060         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
90061         * lib/regex.c: Likewise.
90062
90063 2004-05-16  Derek Price  <derek@ximbiot.com>
90064             Paul Eggert  <eggert@cs.ucla.edu>
90065
90066         getline cleanup.  This changes the getndelim2 API: both order of
90067         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
90068         no delimiter).
90069
90070         * lib/getline.c: Don't include stddef.h or stdio.h, since our
90071         interface does that.
90072         (getline): Always use getdelim, so that we don't have two
90073         copies of this code.
90074         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
90075         if available.
90076         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
90077         (GETNDELIM2_MAXIMUM): New macro.
90078         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
90079         instead of the old practice of delim2==0.  All callers changed.
90080         Return -1 on overflow, instead of returning junk.
90081         Do not set *linesize unless allocation succeeds.
90082         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
90083         that we include sys/types.h.
90084         * lib/getnline.h: Likewise.
90085         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
90086         (getndelim2): Reorder arguments.
90087         * lib/getnline.c (getnline, getndelim):
90088         Don't discard the NMAX argument.
90089         (getnline): Invoke getndelim, to avoid code duplication.
90090         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
90091         of (size_t) -1 by callers of the getnline family.
90092
90093 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90094
90095         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
90096         Check for gettimeofday.
90097         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
90098         Check for settimeofday, stime.
90099
90100 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90101
90102         * lib/nanosleep.c (suspended): Change its type from int to
90103         sig_atomic_t volatile.
90104         (first_call): Make it private to rpl_nanosleep, and have it
90105         be zero initially as that's a bit faster.
90106         (my_usleep): Round up fractional times instead of truncating them,
90107         as this is the usual meaning for 'sleep'.
90108
90109         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
90110         doesn't work.
90111         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
90112         (ENOSYS): Define if not defined.
90113         (settime): Fall back on stime if it exists and settimeofday fails.
90114         But don't bother with fallbacks if a method fails with errno == EPERM.
90115
90116 2004-05-11  Jim Meyering  <jim@meyering.net>
90117
90118         Prior to this change, the save_cwd caller required read access to the
90119         current directory on most systems (ones with the fchdir function).
90120
90121         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
90122         fails, try write-only, and finally, resort to using xgetcwd.
90123
90124 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
90125
90126         * lib/obstack.c, obstack.h: Import changes from libc.
90127
90128 2004-04-28  Bruno Haible  <bruno@clisp.org>
90129
90130         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
90131         also implicitly appends .exe to executables.
90132         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
90133         accepts Windows pathnames.
90134         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90135         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90136         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90137         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90138         Reported by Derek Robert Price <derek@ximbiot.com>.
90139
90140 2004-04-21  Karl Berry  <karl@gnu.org>
90141
90142         * config/srclist.txt (localcharset.c): break sync.
90143
90144 2004-04-20  Paul Eggert  <eggert@twinsun.com>
90145
90146         * m4/host-os.m4: Add a copyright notice.
90147
90148 2004-04-20  Jim Meyering  <jim@meyering.net>
90149
90150         Change UTILS_ to gl_ in AC_DEFINE'd names.
90151         Change utils_- and jm_-prefixed variables, too.
90152         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
90153         UTILS_FUNC_MKDIR_TRAILING_SLASH.
90154         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
90155
90156         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
90157         Don't emit trailing blanks.
90158         Also rename jm_-prefixed variables to have gl_ prefix.
90159
90160         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
90161         Also rename jm_-prefixed variables to have gl_ prefix.
90162
90163         * m4/jm-macros.m4: Reflect the renamings.
90164         * m4/prereq.m4: Likewise.
90165
90166 2004-04-20  Jim Meyering  <jim@meyering.net>
90167
90168         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
90169         memory.
90170
90171 2004-04-20  Jim Meyering  <jim@meyering.net>
90172             Bruno Haible  <bruno@clisp.org>
90173
90174         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
90175         memory when realloc fails.
90176
90177 2004-04-19  Jim Meyering  <jim@meyering.net>
90178
90179         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
90180         now that readutmp.c may call `free (0)'.
90181
90182 2004-04-19  Bruno Haible  <bruno@clisp.org>
90183
90184         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
90185         * m4/inttypes_h.m4: Likewise.
90186         * m4/stdint_h.m4: Likewise.
90187         * m4/intmax_t.m4: Likewise.
90188         * m4/uintmax_t.m4: Likewise.
90189
90190 2004-04-18  Jim Meyering  <jim@meyering.net>
90191
90192         * m4/prereq.m4: Don't forbid jm_ prefix.
90193
90194         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
90195         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
90196         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
90197         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
90198         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
90199         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
90200         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
90201         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
90202         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
90203         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
90204         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
90205         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
90206         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
90207         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
90208         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
90209         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
90210         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
90211         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
90212         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
90213
90214 2004-04-18  Jim Meyering  <jim@meyering.net>
90215
90216         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
90217         failure, don't leak memory and do call END_UTMP_ENT.
90218
90219 2004-04-16  Jim Meyering  <jim@meyering.net>
90220
90221         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
90222         coreutils' stat program.
90223         (gl_PREREQ): Don't require jm_PREREQ_STAT.
90224
90225 2004-04-11  Paul Eggert  <eggert@twinsun.com>
90226
90227         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
90228         C89.
90229         (CHAR_BIT): Remove, since we assume C89.
90230         Include <stdint.h> if available, as per current Autoconf CVS advice.
90231
90232 2004-03-31  Jim Meyering  <jim@meyering.net>
90233
90234         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
90235         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
90236         * m4/xalloc.m4: Likewise.
90237
90238 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90239
90240         Merge from coreutils.
90241
90242         * m4/inttostr.m4: New file.
90243         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
90244         Require AM_STDBOOL_H and gl_TIMESPEC instead.
90245         Require gl_CLOCK_TIME.
90246         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
90247
90248 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90249
90250         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
90251         not bool, to be more consistent with Unix conventions.
90252         Suggested by Bruno Haible.
90253
90254         Merge from coreutils.
90255
90256         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
90257         * lib/umaxtostr.c: New files.
90258
90259         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
90260         the usual <time.h> dance.
90261         (get_date): Change signature to support fractional time stamps.
90262         All callers changed.
90263         * lib/getdate.y: Include "getdate.h" first, as we can now
90264         assume C89 and don't need to worry about 'const'.
90265         Similarly, include "unlocked-io.h" near start, not in middle.
90266         Include <limits.h>.
90267         (textint.value): Use long int rather than int.
90268         (textint.digits): Use size_t rather than int.
90269         (BILLION, LOG10_BILLION): New constants.
90270         (parser_control): New member rel_ns.  Members day_ordinal,
90271         time_zone, month, day, hour, minutes, rel_year, rel_month,
90272         rel_day, rel_hour, rel_minutes, rel_seconds
90273         are now long int, not int.  Member seconds is now struct timespec,
90274         not int.  New member timespec_seen.  Members dates_seen, days_seen,
90275         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
90276         not int.
90277         (%union.intval): Now long int, not int.
90278         New member timespec.
90279         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
90280         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
90281         (spec): Now is a timespec or an item list.
90282         (timespec, items): New nonterminals.
90283         (time, rel, relunit, number, get_date):
90284         Add support for fractional seconds.
90285         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
90286         (gmtime, localtime, mktime): Remove decls; not needed with C89.
90287         (to_hour): First arg is now long int, not int.
90288         (to_year): Returns long int, not int.
90289         Don't treat year -70 like 70.
90290         (tm_diff): Returns long int, not int.
90291         (lookup_word): Use bool instead of int when appropriate.
90292         (yylex): Use size_t for count, not int.
90293         Detect overflow when parsing large integer constants.
90294         Add support for fractions.
90295         (get_date): Make pointers 'const' if possible.
90296         Use more-portable code to detect integer overflow.
90297         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
90298         Don't use ctime; it's not reliable if the year has >4 digits.
90299
90300         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
90301         This is for compatibility with BSD.
90302
90303         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
90304         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
90305         From coreutils' system.h.
90306
90307         * lib/userspec.c: Don't include "posixver.h".
90308         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
90309         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
90310         compatible extension.  Simplify code by removing a boolean int
90311         that was always nonzero if a string was nonnull.
90312
90313 2004-03-30  Jim Meyering  <jim@meyering.net>
90314
90315         Merge from coreutils.
90316
90317         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
90318         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
90319         on some systems one must include <grp.h> before it.
90320         Reported by Christian Krackowizer.
90321
90322 2004-03-30  Jim Meyering  <jim@meyering.net>
90323
90324         Merge from coreutils.
90325
90326         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
90327
90328         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
90329         an empty input stream.
90330
90331         * lib/readtokens.c: Include <stdbool.h>.
90332         (readtoken): Use `size_t' rather than int/long.
90333         All callers adjusted.
90334         Use `bool' rather than `int' where appropriate.
90335         Use memset rather than an explicit loop.
90336         Use x2nrealloc rather than xrealloc.
90337         Allow the use of `\0' as a delimiter.
90338         (readtokens): Likewise.
90339         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
90340
90341 2004-03-30  Jim Meyering  <jim@meyering.net>
90342
90343         * m4/realloc.m4: Remove file, since now it does no more than
90344         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
90345         the `configure.ac' section of module/realloc.
90346         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
90347
90348 2004-03-30  Bruno Haible  <bruno@clisp.org>
90349
90350         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
90351         nonnull.
90352
90353 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90354
90355         Merge changes to getloadavg.c from coreutils and Emacs.
90356
90357         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
90358         Define to an expression, not to the empty string.
90359         Include cloexec.h and xalloc.h.
90360         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
90361         Use set_cloexec_flag rather than rolling our own.
90362         * lib/cloexec.c, lib/cloexec.h: New files.
90363
90364 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90365
90366         * m4/cloexec.m4: New file.
90367
90368 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90369
90370         * lib/getopt.h: Sync with libc CVS.
90371
90372 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90373             Bruno Haible  <bruno@clisp.org>
90374
90375         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
90376         mbswidth.
90377
90378 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90379             Bruno Haible  <bruno@clisp.org>
90380
90381         * lib/mbswidth.h: Include <wchar.h> only if
90382         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
90383         <wchar.h>.
90384         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
90385
90386 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90387
90388         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
90389         Sync with libc CVS.
90390         * lib/getopt_int.h: New file, also synced from libc.
90391
90392 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90393
90394         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
90395         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
90396         Bring back getopt.c, getopt.h, getopt1.c.
90397
90398 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90399
90400         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
90401         All uses changed.  Check for sa_sigaction member; this fixes
90402         a bug first reported by Jason Andrade in
90403         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90404
90405 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90406
90407         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
90408         '#if' expressions.  Unlike the code it replaces, it does not
90409         depend on (defined _SC_PAGESIZE).  However, it does depend on
90410         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
90411         first reported by Jason Andrade in
90412         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90413
90414 2004-02-25  Simon Josefsson  <jas@extundo.com>
90415
90416         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
90417
90418 2004-02-25  Simon Josefsson  <jas@extundo.com>
90419
90420         * lib/strdup.h: New file.
90421         * lib/strdup.c: Include it.
90422         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
90423         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
90424
90425 2004-02-23  Karl Berry  <karl@gnu.org>
90426
90427         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
90428         (from fencepost.gnu.org:/gd/gnuorg).
90429
90430 2004-02-23  Karl Berry  <karl@gnu.org>
90431
90432         * config/srclistvars.sh (GNUORG) [karl]: redefine.
90433         * config/srclist.txt: add maintain/standards documents.
90434
90435 2004-02-18  Bruno Haible  <bruno@clisp.org>
90436
90437         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
90438         Reported by Derek Robert Price <derek@ximbiot.com>.
90439
90440 2004-02-16  Karl Berry  <karl@gnu.org>
90441
90442         * config/mkinstalldirs, install-sh: update from automake.
90443
90444 2004-02-06  Karl Berry  <karl@gnu.org>
90445
90446         * m4/po.m4: update from gettext 0.14.1.
90447
90448 2004-02-06  Karl Berry  <karl@gnu.org>
90449
90450         * lib/config.charset: update from gettext 0.14.1.
90451
90452 2004-02-05  Paul Eggert  <eggert@twinsun.com>
90453
90454         Add comments and code, prompted by suggestions from Bruno Haible
90455         for sh-quote.
90456         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
90457         describing the enum quoting_style values.
90458         * lib/quotearg.c (quotearg_alloc): New function.
90459         (quotearg_buffer_restyled): Treat lone { and } as special.
90460         Treat = as special.  Work around bug with older shells
90461         that "see" a '\' that is really the 2nd byte of a multibyte char.
90462         Quote empty string with shell_quoting_style.
90463
90464 2004-02-03  Bruno Haible  <bruno@clisp.org>
90465
90466         * m4/pipe.m4: New file, from GNU gettext.
90467
90468 2004-02-03  Bruno Haible  <bruno@clisp.org>
90469
90470         * lib/pipe.h: New file, from GNU gettext.
90471         * lib/pipe.c: New file, from GNU gettext.
90472
90473 2004-01-27  Bruno Haible  <bruno@clisp.org>
90474
90475         * m4/execute.m4: New file, from GNU gettext.
90476
90477 2004-01-27  Bruno Haible  <bruno@clisp.org>
90478
90479         * lib/execute.h: New file, from GNU gettext.
90480         * lib/execute.c: New file, from GNU gettext.
90481         * lib/w32spawn.h: New file, from GNU gettext.
90482
90483 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90484
90485         Merge from diffutils.
90486
90487         * lib/file-type.c (file_type): Add typed memory objects.
90488         * lib/file-type.h (S_TYPEISTMO): New macro.
90489
90490         * lib/c-stack.h (c_stack_action): Remove argv argument.
90491         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
90492         (die): Don't calculate message unless segv_action returns.
90493         (get_stack_location, min_address_from_argv, max_address_from_argv,
90494         volatile stack_base, volatile_stack_size): Remove.
90495         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
90496         that every segmentation violation is a stack overflow.  (Ouch!)
90497         See Debian bug 136249 (still outstanding) for more info about why
90498         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
90499
90500 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90501
90502         Exit-status fix from coreutils.
90503
90504         Use exit_failure consistently in place of EXIT_FAILURE,
90505         so that program exit statuses are consistent on failure.
90506
90507         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
90508         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
90509         * lib/argmatch.h: Comment fix to match the above.
90510         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
90511         Now a macro referring to exit_failure, instead of a separate
90512         variable.  Include "exitfail.h" to get it.
90513         * lib/xstrtol.h: Include "exitfail.h".
90514         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
90515
90516         * lib/long-options.c (parse_long_options): Use prototype
90517         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
90518         for clarity.
90519
90520 2004-01-21  Jim Meyering  <jim@meyering.net>
90521
90522         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
90523         so as not to conflict with a different-sized __mktime_internal
90524         function in GNU libc.
90525         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
90526         Problem building statically-linked `ls' reported by Michael Brunnbauer.
90527
90528 2004-01-20  Karl Berry  <karl@gnu.org>
90529
90530         * config/config.guess: update from config.
90531
90532         * config/srclistvars.sh: GNUWWWLICENSES for karl.
90533
90534 2004-01-20  Bruno Haible  <bruno@clisp.org>
90535
90536         Safer stack allocation.
90537         * lib/setenv.c: Include allocsa.h.
90538         (alloca): Remove fallback definition.
90539         (freea): Remove macro.
90540         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
90541         instead of freea.
90542
90543 2004-01-20  Bruno Haible  <bruno@clisp.org>
90544
90545         * m4/eealloc.m4: New file, from GNU gettext.
90546
90547 2004-01-20  Bruno Haible  <bruno@clisp.org>
90548
90549         * m4/allocsa.m4: New file, from GNU gettext.
90550
90551 2004-01-20  Bruno Haible  <bruno@clisp.org>
90552
90553         * lib/xallocsa.h: New file, from GNU gettext.
90554         * lib/xallocsa.c: New file, from GNU gettext.
90555
90556 2004-01-20  Bruno Haible  <bruno@clisp.org>
90557
90558         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
90559
90560 2004-01-20  Bruno Haible  <bruno@clisp.org>
90561
90562         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
90563         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
90564         specially.
90565
90566 2004-01-20  Bruno Haible  <bruno@clisp.org>
90567
90568         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
90569         patch.
90570
90571 2004-01-20  Bruno Haible  <bruno@clisp.org>
90572
90573         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
90574
90575 2004-01-20  Bruno Haible  <bruno@clisp.org>
90576
90577         * lib/eealloc.h: New file.
90578
90579 2004-01-20  Bruno Haible  <bruno@clisp.org>
90580
90581         * lib/binary-io.h: Avoid warnings on Cygwin.
90582
90583 2004-01-20  Bruno Haible  <bruno@clisp.org>
90584
90585         * lib/allocsa.h: New file, from GNU gettext.
90586         * lib/allocsa.c: New file, from GNU gettext.
90587
90588 2004-01-18  Karl Berry  <karl@gnu.org>
90589
90590         * doc/gpl.texi, doc/lgpl.texi: new files.
90591
90592 2004-01-18  Karl Berry  <karl@gnu.org>
90593
90594         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
90595         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
90596
90597 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90598
90599         Merge from coreutils.
90600
90601         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
90602         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
90603         (gl_DEFAULT_POSIX2_VERSION): Move
90604         the documentation from 'configure' into 'config.hin',
90605         so that 'configure --help' isn't burdened by it and
90606         we don't have to worry about its formatting there.
90607         Reword the documentation so that it's more succinct
90608         and can be run together into a single paragraph.
90609         * m4/same.m4 (gl_SAME): Check for pathconf.
90610
90611 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90612
90613         Merge from coreutils.
90614
90615         * lib/posixver.c: Include posixver.h.
90616
90617         * lib/same.c: Include <stdbool.h>, <limits.h>.
90618         (_POSIX_NAME_MAX): Define if not defined.
90619         (MIN): New macro.
90620         (same_name): If file names are silently truncated, report
90621         that the file names are the same if they are the same after
90622         the silent truncation.
90623
90624         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
90625         conversion function.
90626         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
90627         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
90628         longer needed.
90629
90630 2004-01-15  Jim Meyering  <jim@meyering.net>
90631
90632         Merge from coreutils.
90633
90634         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
90635         if no library is required.
90636         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
90637         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
90638         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
90639         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
90640         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
90641         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
90642         value, $ac_cv_search_crypt, if it's "none required".
90643         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
90644         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
90645         not gl_FUNC_GETLOADAVG.
90646         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
90647         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
90648
90649 2004-01-15  Jim Meyering  <jim@meyering.net>
90650
90651         Merge from coreutils.
90652
90653         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
90654         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
90655         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
90656
90657         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
90658         optional configure-time default.
90659
90660         * lib/version-etc.c (version_etc_copyright): Update copyright date.
90661
90662         * lib/xreadlink.c (xreadlink): Correct outdated comment.
90663
90664 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
90665
90666         Merge from coreutils.
90667
90668         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
90669         value, $ac_cv_search_nanosleep, if it's "none required".
90670
90671 2004-01-14  Paul Eggert  <eggert@twinsun.com>
90672
90673         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
90674         with like-named macro in fnmatch.c.
90675         (EXT): Use an internal constant instead.
90676
90677         Merge fnmatch patches from glibc.
90678         * lib/fnmatch.c (mbsinit): Remove define.
90679         Add libc_hidden_ver (__fnmatch, fnmatch).
90680         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
90681         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
90682
90683 2004-01-14  Karl Berry  <karl@gnu.org>
90684
90685         * config/install-sh: update from automake.
90686
90687 2004-01-13  Karl Berry  <karl@gnu.org>
90688
90689         * config/install-sh: update from automake.
90690
90691 2004-01-09  Karl Berry  <karl@gnu.org>
90692
90693         * config/install-sh: update from automake.
90694
90695 2004-01-05  Karl Berry  <karl@gnu.org>
90696
90697         * config/config.{sub,guess}: update from config.
90698
90699 2003-12-31  Karl Berry  <karl@gnu.org>
90700
90701         * config/depcomp: update from automake.
90702
90703 2003-12-14  Karl Berry  <karl@gnu.org>
90704
90705         * lib/config.charset: update from gettext-runtime.
90706
90707 2003-12-03  Paul Eggert  <eggert@twinsun.com>
90708
90709         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
90710         Bug reported by Alfred M. Szmidt.
90711
90712 2003-12-03  Bruno Haible  <bruno@clisp.org>
90713
90714         * m4/gettext.m4: Upgrade from gettext-0.13.
90715         * m4/po.m4: Upgrade from gettext-0.13.
90716         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
90717         * m4/intmax.m4: New file, from gettext-0.13.
90718         * m4/printf-posix.m4: New file, from gettext-0.13.
90719
90720 2003-11-29  Karl Berry  <karl@gnu.org>
90721
90722         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
90723
90724 2003-11-25  Paul Eggert  <eggert@twinsun.com>
90725             Bruno Haible  <bruno@clisp.org>
90726
90727         * lib/printf-parse.h: Don't include sys/types.h.
90728         (ARG_NONE): New macro.
90729         (char_directive): Change type of *arg_index fields to size_t.
90730         * lib/printf-parse.c: Don't include sys/types.h.
90731         (SSIZE_MAX): Remove macro.
90732         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
90733         Remove unnecessary overflow check.
90734         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
90735         fields.
90736
90737 2003-11-25  Bruno Haible  <bruno@clisp.org>
90738
90739         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
90740
90741 2003-11-25  Bruno Haible  <bruno@clisp.org>
90742
90743         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
90744         gt_TYPE_SSIZE_T.
90745
90746 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90747
90748         * modules/alloca: Remove dependency on xalloc.
90749
90750 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90751
90752         * lib/alloca.c: Remove dependency on xalloc module.
90753         (xalloc_die): Remove.
90754         (memory_full) [!defined emacs]: New macro.
90755         [!defined emacs]: Don't include xalloc.h.
90756         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
90757         address arithmetic overflows.  Change datatypes a bit to avoid
90758         unnecessary casts.
90759
90760 2003-11-22  Jim Meyering  <jim@meyering.net>
90761
90762         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
90763         s/size/size_t/.
90764
90765 2003-11-21  Karl Berry  <karl@gnu.org>
90766
90767         * config/config.{sub,guess}: update from config.
90768
90769 2003-11-18  Karl Berry  <karl@gnu.org>
90770
90771         * config/config.{sub,guess}: update from config.
90772
90773         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
90774
90775 2003-11-17  Paul Eggert  <eggert@twinsun.com>
90776
90777         * README: Mention that S+T cannot overflow if S is the size of
90778         an existing object and T is sufficiently small.
90779
90780 2003-11-17  Jim Meyering  <jim@meyering.net>
90781
90782         On systems without utime and without a utimes function capable of
90783         dealing with a NULL struct utimbuf* argument, this utime replacement
90784         could -- in unusual circumstances -- leak a file descriptor.
90785         * lib/utime.c: Include <unistd.h> and <errno.h>.
90786         (utime_null): Be sure to close `fd' and to preserve errno.
90787         Reported by Geoff Collyer via Arnold Robbins.
90788
90789 2003-11-17  Bruno Haible  <bruno@clisp.org>
90790
90791         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
90792         (Depends-on): Add xsize.
90793
90794 2003-11-17  Bruno Haible  <bruno@clisp.org>
90795
90796         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
90797
90798 2003-11-17  Bruno Haible  <bruno@clisp.org>
90799
90800         * lib/vasnprintf.c (alloca): Remove fallback definition.
90801         (freea): Remove definition.
90802         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
90803         Reported by Paul Eggert.
90804
90805 2003-11-16  Paul Eggert  <eggert@twinsun.com>
90806             Bruno Haible  <bruno@clisp.org>
90807
90808         Protect against address arithmetic overflow.
90809         * lib/printf-args.h: Include stddef.h.
90810         (arguments): Change type of field 'count' to size_t.
90811         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
90812         'unsigned int' where appropriate.
90813         * lib/printf-parse.h: Include sys/types.h.
90814         (char_directive): Change type of *arg_index fields to ssize_t.
90815         (char_directives): Change type of fields 'count', max_*_length to
90816         size_t.
90817         * lib/printf-parse.c: Include sys/types.h and xsize.h.
90818         (SSIZE_MAX): Define fallback value.
90819         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
90820         instead of 'int' where appropriate. Check a_allocated, d_allocated
90821         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
90822         * lib/vasnprintf.c: Include xsize.h.
90823         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
90824         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
90825         overflow. Avoid wraparound when converting a width or precision from
90826         decimal to binary.
90827
90828 2003-11-16  Bruno Haible  <bruno@clisp.org>
90829
90830         Update from GNU gettext.
90831         * lib/printf-parse.c: Generalize to it can be compiled for wide
90832         strings.
90833         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
90834         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
90835         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
90836         SNPRINTF): New macros.
90837         Don't include <alloca.h> if the file is used inside libintl.
90838         (local_wcslen): New function, for Solaris 2.5.1.
90839         (VASNPRINTF): Use it instead of wcslen.
90840
90841 2003-11-16  Bruno Haible  <bruno@clisp.org>
90842
90843         * lib/xsize.h (xmax): New function.
90844         (xsum, xsum3, xsum4): Declare as "pure" functions.
90845
90846 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90847
90848         * modules/xalloc (Files): Undo latest change, since xalloc.h
90849         no longer needs SIZE_MAX or PTRDIFF_MAX.
90850
90851 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90852
90853         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
90854         gl_PTRDIFF_MAX.
90855
90856 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90857
90858         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
90859         "return", to pacify some unknown compiler.  Problem reported
90860         by Joerg Schilling.
90861
90862 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90863
90864         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
90865         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
90866         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
90867         heuristic is just as accurate as far as we know, and it removes a
90868         dependency on size_max.m4 and ptrdiff_max.m4.
90869
90870 2003-11-11  Bruno Haible  <bruno@clisp.org>
90871
90872         * modules/xsize (Files): Add m4/size_max.m4.
90873         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
90874
90875 2003-11-11  Bruno Haible  <bruno@clisp.org>
90876
90877         * m4/size_max.m4: New file.
90878         * m4/ptrdiff_max.m4: New file.
90879         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
90880         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
90881         (gl_XALLOC): Invoke it.
90882
90883 2003-11-11  Bruno Haible  <bruno@clisp.org>
90884
90885         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
90886         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
90887         defined.
90888
90889 2003-11-10  Paul Eggert  <eggert@twinsun.com>
90890
90891         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
90892         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
90893         rejected some allocations of exactly SIZE_MAX - 2 bytes.
90894         From Bruno Haible.
90895         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
90896         not (size_t) -1, since it's defined here.
90897
90898 2003-11-09  Karl Berry  <karl@gnu.org>
90899
90900         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
90901
90902 2003-11-06  Paul Eggert  <eggert@twinsun.com>
90903
90904         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
90905         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
90906         Reject sizes of exactly SIZE_MAX bytes.
90907         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
90908         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
90909
90910 2003-11-05  Bruno Haible  <bruno@clisp.org>
90911
90912         * lib/xsize.h: Include limits.h, to avoid a possible collision with
90913         SIZE_MAX defined in <limits.h> on Solaris.
90914
90915 2003-11-04  Jim Meyering  <jim@meyering.net>
90916
90917         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
90918         variable names, rather than @VAR@.
90919         * modules/poll: Likewise.
90920
90921 2003-11-04  Bruno Haible  <bruno@clisp.org>
90922
90923         * modules/xsize: New file.
90924         * modules/linebreak: Depend on xsize.
90925         * MODULES.html.sh (func_all_modules): Add xsize.
90926
90927 2003-11-04  Bruno Haible  <bruno@clisp.org>
90928
90929         * m4/xsize.m4: New file.
90930
90931 2003-11-04  Bruno Haible  <bruno@clisp.org>
90932
90933         * lib/xsize.h: New file.
90934         * lib/linebreak.c: Include xsize.h.
90935         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
90936         argument for overflow.
90937         Suggested by Paul Eggert.
90938
90939 2003-11-03  Karl Berry  <karl@gnu.org>
90940
90941         * config/config.{guess,sub}: update from config.
90942
90943 2003-11-03  Jim Meyering  <jim@meyering.net>
90944
90945         * modules/userspec (lib_SOURCES): Add userspec.h.
90946         (Include): Add "userspec.h".
90947         Improve description.
90948
90949 2003-11-03  Jim Meyering  <jim@meyering.net>
90950
90951         * lib/userspec.c: Include "userspec.h".
90952         * lib/userspec.h: New file.
90953
90954 2003-11-03  Bruno Haible  <bruno@clisp.org>
90955
90956         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
90957
90958 2003-11-03  Bruno Haible  <bruno@clisp.org>
90959
90960         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
90961         available, to avoid (extremely rare) race condition.
90962         Suggested by Paul Eggert.
90963
90964 2003-11-02  Karl Berry  <karl@gnu.org>
90965
90966         * config/srclist.txt (vasprintf.c): sync broken, sigh.
90967
90968 2003-10-31  Paul Eggert  <eggert@twinsun.com>
90969
90970         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
90971         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
90972         (read_filesystem_list): Set and use me_type_malloced.
90973         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
90974         whatever the type happens to be), for brevity and consistency.
90975         Check for size calculation overflow on Alphas running OSF/1.
90976
90977 2003-10-31  Jim Meyering  <jim@meyering.net>
90978
90979         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
90980
90981         * lib/linebuffer.c: Include <string.h> for declaration of memset.
90982
90983 2003-10-30  Paul Eggert  <eggert@twinsun.com>
90984             Bruno Haible  <bruno@clisp.org>
90985
90986         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
90987         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
90988
90989 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
90990
90991         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
90992         netbsd*-gnu*.  Suggested by Robert Millan.
90993
90994 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90995
90996         * modules/group-member: Depend on stdbool.
90997
90998 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90999
91000         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
91001
91002 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91003
91004         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
91005         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
91006         after the 'gnu' in these cases.  This fixes some bugs in the
91007         previous change, and is based on suggestions by Robert Millan.
91008
91009 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91010
91011         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
91012         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
91013         no longer needed.
91014         * lib/quotearg.c (quotearg_n_options): Use it.
91015         * lib/group-member.c: Include <stdbool.h>.
91016         (free_group_info): Arg is now const *; don't free arg.
91017         (get_group_info): Now returns bool and accepts struct group_info *,
91018         rather than returning a malloc'ed struct group_info *.
91019         All uses changed.  Check for overflow in internal size calculation.
91020
91021         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
91022         rather than xmalloc/xrealloc.
91023         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
91024         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
91025         conformance bug: the old code used a pointer after freeing the
91026         storage that it addressed.
91027         * lib/hash.c (hash_initialize): Simplify the code by using
91028         xalloc_oversized rather than doing it by hand.
91029         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
91030         the buffer preserved.  Use free and xmalloc instead.
91031         * lib/quotearg.c (quotearg_n_options): Likewise.
91032         Use a simpler test for size overflow.  Don't use xalloc_oversized
91033         because unsigned int might be wider than size_t (!); this suggests
91034         that we should switch from unsigned int to size_t for slot numbers.
91035
91036 2003-10-28  Paul Eggert  <eggert@twinsun.com>
91037
91038         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
91039         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
91040         NetBSD kernels.  Requested by Richard Stallman.
91041
91042 2003-10-27  Paul Eggert  <eggert@twinsun.com>
91043
91044         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
91045         to allocate the returned structure.  Do not allocate a subarray,
91046         as x2nrealloc will do that.
91047         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
91048         instead of xnrealloc.
91049         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
91050
91051 2003-10-27  Bruno Haible  <bruno@clisp.org>
91052
91053         * lib/stdbool_.h: Better support for BeOS.
91054
91055 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91056
91057         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
91058         now uses inline.
91059
91060 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91061
91062         * lib/xalloc.h (xalloc_oversized): New static inline function, for
91063         callers that want to do their own size-overflow checking.  Include
91064         <stdbool.h>, since xalloc_oversized returns bool.
91065         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
91066         to use xalloc_oversized.
91067
91068         Add two functions x2realloc, x2nrealloc, for programs that grow
91069         arrays dynamically by doubling their sizes.
91070         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
91071         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
91072         New functions.
91073
91074         Port to C99 semantics for 'inline' of external functions.
91075         Bug reported by Bruno Haible.
91076         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
91077         with the old contents of xnmalloc.
91078         (xnmalloc, xmalloc): Use it.
91079         (xnrealloc_inline): New static inline function,
91080         with the old contents of xnrealloc.
91081         (xnrealloc, xrealloc): Use it.
91082
91083         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
91084         that.
91085
91086 2003-10-26  Karl Berry  <karl@gnu.org>
91087
91088         * config/srclist.txt (COPYING.DOC): no longer available from
91089         /gd/gnuorg; don't know where the ultimate source is.
91090
91091 2003-10-25  Paul Eggert  <eggert@twinsun.com>
91092
91093         Fix several address-calculation bugs in the hash modules,
91094         plus some minor code cleanup.
91095
91096         * lib/hash.h: Include <stdbool.h>, for bool.
91097         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
91098         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
91099         hash_get_n_entries, hash_get_max_bucket_length,
91100         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
91101         hash_rehash): Use size_t rather than unsigned.
91102         * lib/hash.c (struct hash_table, hash_get_n_buckets,
91103         hash_get_n_buckets_used, hash_get_n_entries,
91104         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
91105         hash_get_entries, hash_do_for_each, hash_string, is_prime,
91106         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
91107         Likewise.
91108         (SIZE_MAX): Define if not defined.
91109         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
91110         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
91111         hash_print):
91112         Use const * when possible.
91113         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
91114         (check_tuning): Fix bug: if tuning parameters were very close to
91115         0 or 1, rounding errors could have caused subscript violations.
91116         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
91117         (hash_initialize): Add 'fail:' label
91118         to free table and return NULL, and use it to simplify code.
91119         Use calloc rather than clearing the storage ourself.
91120         (hash_initialize, hash_rehash): Check for arithmetic overflow in
91121         buffer size calculations.
91122         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
91123         Include <stddef.h>, for size_t.
91124         * lib/hash-pjw.c (hash_pjw): Likewise.
91125         Switch to method described by Bruno Haible.
91126         Include <limits.h>, for CHAR_BIT.
91127         (SIZE_BITS): New macro.
91128
91129 2003-10-23  Paul Eggert  <eggert@twinsun.com>
91130
91131         * m4/getline.m4 (AM_FUNC_GETLINE):
91132         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
91133         hosts.  Problem reported by Derek Robert Price in
91134         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
91135         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
91136         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
91137
91138 2003-10-21  Paul Eggert  <eggert@twinsun.com>
91139
91140         * lib/getndelim2.c (getndelim2): When size calculation overflows,
91141         ceiling the allocation at NMAX bytes rather than silently
91142         discarding input bytes before NMAX is reached.  This makes
91143         a difference only if NMAX exceeds SIZE_MAX / 2.
91144
91145         * lib/obstack.c: Merge from glibc.
91146         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
91147         Add libc_hidden_def (_obstack_newchunk).
91148         (_obstack_free) [! defined _LIBC]: Remove.
91149         [defined _LIBC]: Make a strong alias from obstack_free, rather than
91150         a clone of the function body.
91151         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
91152         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
91153
91154         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
91155         glibc.
91156         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
91157         arg to memcpy.
91158
91159         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
91160         (obstack_ptr_grow_fast, obstack_int_grow_fast):
91161         Don't use lvalue casts, as GCC plans to remove support for them
91162         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
91163         was also present in the non-GCC version, indicating that this
91164         code had always been buggy and had never been widely used.
91165         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
91166         Use the fast variant of each macro, rather than copying the
91167         definiens of the fast variant; that way, we'll be more likely to
91168         catch future bugs in the fast variants.
91169
91170 2003-10-20  Bruno Haible  <bruno@clisp.org>
91171
91172         * modules/wait-process: New file.
91173         * MODULES.html.sh (func_all_modules): Add wait-process.
91174
91175 2003-10-20  Bruno Haible  <bruno@clisp.org>
91176
91177         * m4/wait-process.m4: New file.
91178
91179 2003-10-20  Bruno Haible  <bruno@clisp.org>
91180
91181         * lib/wait-process.h: New file, from GNU gettext.
91182         * lib/wait-process.c: New file, from GNU gettext.
91183
91184 2003-10-19  Jim Meyering  <jim@meyering.net>
91185
91186         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
91187         HPUX 10.20.
91188
91189 2003-10-18  Karl Berry  <karl@gnu.org>
91190
91191         * config/config.guess: update from config.
91192
91193 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91194
91195         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
91196         (getgroups): First arg is int, not size_t.
91197         Don't let 'free' mangle errno.
91198
91199 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91200
91201         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
91202
91203 2003-10-16  Karl Berry  <karl@gnu.org>
91204
91205         * config/config.{guess,sub}: update from config.
91206
91207 2003-10-16  Jim Meyering  <jim@meyering.net>
91208
91209         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
91210         memcpy.
91211
91212 2003-10-15  Paul Eggert  <eggert@twinsun.com>
91213
91214         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
91215         (SIZE_MAX): Remove.
91216         (new_exclude, add_exclude_file): Initial size no longer needs to
91217         be a power of 2.
91218         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
91219         our own address arithmetic overflow checking.
91220
91221         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
91222         (fnmatch): Do not alloca more than 2000 wide characters;
91223         instead, use malloc for large buffers.
91224         Check for address arithmetic overflow, and return -1
91225         with errno set to ENOMEM in that case.
91226         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
91227         (NEW_PATTERN): Do not alloca more than 8000 bytes;
91228         instead, return -1.  Check for address arithmetic overflow.
91229
91230 2003-10-14  Paul Eggert  <eggert@twinsun.com>
91231
91232         Handle invalid suffixes and overflow independently, so that
91233         callers can treat them independently as needed.  Fix some bugs in
91234         suffix handling, e.g., "100k@" was not diagnosed as an invalid
91235         suffix for a human-readable blocksize.  The major caller-visible
91236         change is the addition of a new
91237         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
91238         that both overflow and suffix chars were found.
91239
91240         * lib/human.c (humblock): Don't check separately for invalid suffix
91241         char; that is xstrtoumax's job (now that its bug is fixed).
91242         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
91243         INTMAX_MAX]: New macros.
91244         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
91245         TYPE_MAXIMUM): New macros.
91246         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
91247         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
91248         if overflow occurs, as it's what __strtol does and it's more useful
91249         in practice.
91250         (__xstrtol): If __strtol reports some error other than ERANGE,
91251         reflect it to the caller as LONGINT_INVALID.  If it reports
91252         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
91253         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
91254         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
91255         value.
91256         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
91257         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
91258         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
91259         [defined UINTMAX_MAX]: New macros.
91260
91261 2003-10-14  Bruno Haible  <bruno@clisp.org>
91262
91263         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
91264
91265 2003-10-14  Bruno Haible  <bruno@clisp.org>
91266
91267         * m4/sig_atomic_t: New file, from GNU gettext.
91268         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
91269
91270 2003-10-14  Bruno Haible  <bruno@clisp.org>
91271
91272         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
91273         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
91274         Also use volatile where needed.
91275
91276 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91277
91278         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
91279         Change maintainer from Bruno Haible to 'all'.
91280
91281 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91282
91283         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
91284
91285 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91286
91287         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
91288         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
91289         and define in terms of the other primitives.
91290         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
91291         (SIZE_MAX): Define if not already defined.
91292         (array_size_overflow): New function.
91293         (xalloc_die): Abort instead of exiting if 'error' returns.
91294         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
91295         (xmalloc, xrealloc): Use them.
91296         (xcalloc): Check for address arithmetic overflow.
91297         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
91298         a bit faster than strcpy.
91299
91300 2003-10-10  Simon Josefsson  <jas@extundo.com>
91301
91302         * modules/argp (Depends-on): Add restrict and strcase.
91303
91304 2003-10-10  Simon Josefsson  <jas@extundo.com>
91305
91306         * m4/argp.m4: Add AC_C_INLINE.
91307
91308 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91309
91310         Merge getpass from libc, plus a few fixes.
91311
91312         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
91313         Include <stdbool.h>.
91314         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
91315         __fsetlocking to empty.
91316         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
91317         do include <bits/libc-lock.h>.
91318         Do not include <fcntl.h>; not needed.
91319         [_LIBC]: Include <wchar.h>.
91320         (NOTCANCEL_MODE): New macro.
91321         (flockfile, funlockfile) [_LIBC]: New macros.
91322         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
91323         [!_LIBC]: New macros.
91324         (call_fclose): New function.
91325         (getpass): Use it.  Save tty stream separately; this simplifies the
91326         code and makes it more reliable if stdin happens to equal stdout.
91327         Invoke __fsetlocking on tty.
91328         Handle thread cancellation if needed.
91329         Namespace cleanup (use __tcgetattr, __getline).
91330         Use bool for Booleans.
91331         [USE_IN_LIBIO]: Handle wide streams.
91332         [!_LIBC]: Unconditionally do the fseek, since we don't know what
91333         stream might go where.
91334
91335         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
91336         doesn't have to include <stdio.h> before us.
91337         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
91338         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
91339         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
91340         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
91341         if not declared, so that we can use getpass.c code from libc without
91342         rewriting it.
91343         (flockfile, ftrylockfile, funlockfile): New macros.
91344
91345 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91346
91347         * modules/getpass: Depend on stdbool.
91348
91349 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91350
91351         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
91352
91353 2003-10-07  Karl Berry  <karl@gnu.org>
91354
91355         * config/config.{guess,sub}: update from config.
91356
91357 2003-10-06  Jim Meyering  <jim@meyering.net>
91358             Bruno Haible  <bruno@clisp.org>
91359
91360         This lets translators provide better translations for the
91361         "Written by ..." part of --version output.
91362         * lib/version-etc.h: Include stdarg.h.
91363         (version_etc_copyright): Declare as readonly.
91364         (version_etc): Make this function variadic with a NULL-terminated list
91365         of author name strings.
91366         (version_etc_va): New declaration.
91367         * lib/version-etc.c: Include stdarg.h, stdlib.h.
91368         (version_etc_copyright): Declare as readonly.
91369         (version_etc_va): New function. Provide a different translatable string
91370         for each possible number of authors < 10. Abbreviate when there are 10
91371         authors or more.
91372         (version_etc): Make this function variadic. Call version_etc_va.
91373         Suggestion from Gary V. Vaughan.
91374
91375         * lib/long-options.h (parse_long_options): Change prototype: the
91376         authors string is moved to the end and becomes variadic.
91377         * lib/long-options.c: Include stdarg.h.
91378         (parse_long_options): Make this function variadic, too.
91379         Call version_etc_va, not version_etc.
91380
91381 2003-10-06  Bruno Haible  <bruno@clisp.org>
91382
91383         * modules/version-etc-2: Remove file.
91384         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
91385
91386 2003-10-06  Bruno Haible  <bruno@clisp.org>
91387
91388         * modules/fatal-signal: New file.
91389         * MODULES.html.sh (func_all_modules): Add fatal-signal.
91390
91391 2003-10-06  Bruno Haible  <bruno@clisp.org>
91392
91393         * m4/fatal-signal.m4: New file.
91394         * m4/signalblocking.m4: New file, from GNU gettext.
91395
91396 2003-10-06  Bruno Haible  <bruno@clisp.org>
91397
91398         * lib/version-etc-2.h: Remove file.
91399         * lib/version-etc-2.c: Remove file.
91400
91401 2003-10-06  Bruno Haible  <bruno@clisp.org>
91402
91403         * lib/fatal-signal.h: New file, from GNU gettext.
91404         * lib/fatal-signal.c: New file, from GNU gettext.
91405
91406 2003-10-05  Paul Eggert  <eggert@twinsun.com>
91407
91408         * README: Rework advice for preventing empty .o files.
91409         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
91410         not <sys/types.h>.
91411
91412 2003-10-04  Karl Berry  <karl@gnu.org>
91413
91414         * lib/argp*: update from libc.
91415
91416 2003-10-04  Karl Berry  <karl@gnu.org>
91417
91418         * config/config.{guess,sub}: update from config.
91419
91420 2003-10-02  Bruno Haible  <bruno@clisp.org>
91421
91422         * modules/lchown (Include): Add lchown.h.
91423         * modules/time_r (Include): Use "..." syntax.
91424         * modules/xgetdomainname (Include): Add xgetdomainname.h.
91425
91426 2003-10-01  Simon Josefsson  <jas@extundo.com>
91427
91428         * MODULES.html.sh (func_all_modules): Move gethostname from section
91429         'based on' to section 'lacking' POSIX:2001.
91430
91431 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
91432
91433         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
91434         to output mode on the same stream.
91435
91436 2003-09-29  Paul Eggert  <eggert@twinsun.com>
91437
91438         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
91439         Fix arg typo in previous patch.
91440
91441 2003-09-28  Jim Meyering  <jim@meyering.net>
91442
91443         * lib/error.c: Correct cpp indentation.
91444
91445 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91446
91447         * modules/free: New file.
91448
91449 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91450
91451         * m4/free.m4: New file.
91452
91453 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91454
91455         * lib/minmax.h (MIN, MAX)
91456         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
91457         Omit the special code that used __typeof__, since we worry that
91458         it could be more trouble than it's worth.  See:
91459         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
91460         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
91461
91462         * lib/free.c: New file.
91463
91464 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
91465
91466         Trivial fixes to Makefile.am parts of module listings.
91467         * modules/strstr: Append strstr.h to lib_SOURCES.
91468         * modules/strcase: Likewise, for strcase.h.
91469
91470 2003-09-27  Karl Berry  <karl@gnu.org>
91471
91472         * config/mkinstalldirs: update from automake.
91473
91474 2003-09-26  Paul Eggert  <eggert@twinsun.com>
91475
91476         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
91477         (error_tail): Do not loop, reallocating temporary buffer, since
91478         the output cannot contain more wide characters than the input
91479         contains bytes, the size must be big enough already.  This avoids
91480         one potential size overflow calculation.  Check for size overflow
91481         when calculating temporary buffer size.  Free temporary buffer
91482         when done, if it was allocated with malloc; this plugs a memory
91483         leak.  Remove casts from void * to pointers, that are no longer
91484         needed now that we're assuming C89 or better.
91485
91486         Merge error changes from glibc.
91487
91488         * lib/error.c, error.h: Update copyright notice header to match glibc.
91489         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
91490         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
91491         Disable cancellation while printing error.
91492         * lib/error.h: Prepend __ to parameter names.
91493
91494 2003-09-26  Jim Meyering  <jim@meyering.net>
91495
91496         * lib/error.c (error_tail): Move some declarations
91497         into inner scope where the local variables are used.
91498
91499 2003-09-26  Bruno Haible  <bruno@clisp.org>
91500
91501         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
91502         stpncpy().
91503         Don't define stpncpy through config.h; it's now done through stpncpy.h.
91504
91505 2003-09-26  Bruno Haible  <bruno@clisp.org>
91506
91507         * lib/stpncpy.h (gnu_stpncpy): New declaration.
91508         (stpncpy): Define as alias for gnu_stpncpy.
91509         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
91510
91511 2003-09-25  Simon Josefsson  <jas@extundo.com>
91512
91513         * lib/xgetdomainname.h: New file.
91514         * lib/xgetdomainname.c: New file.
91515
91516 2003-09-25  Simon Josefsson  <jas@extundo.com>
91517             Bruno Haible  <bruno@clisp.org>
91518
91519         * modules/getdomainname: New file.
91520         * modules/xgetdomainname: New file.
91521         * MODULES.html.sh (func_all_modules): Add getdomainname,
91522         xgetdomainname.
91523
91524 2003-09-25  Simon Josefsson  <jas@extundo.com>
91525             Bruno Haible  <bruno@clisp.org>
91526
91527         * m4/getdomainname.m4: New file.
91528
91529 2003-09-25  Simon Josefsson  <jas@extundo.com>
91530             Bruno Haible  <bruno@clisp.org>
91531
91532         * lib/getdomainname.h: New file.
91533         * lib/getdomainname.c: New file.
91534
91535 2003-09-25  Karl Berry  <karl@gnu.org>
91536
91537         * lib/argp-fmtstream.c, argp-help.c: update from libc.
91538
91539 2003-09-25  Karl Berry  <karl@gnu.org>
91540
91541         * config/install-sh: update from automake.
91542
91543 2003-09-25  Bruno Haible  <bruno@clisp.org>
91544
91545         * modules/version-etc-2: New file, from modules/version-etc with
91546         modifications.
91547         * MODULES.html.sh (func_all_modules): Add version-etc-2.
91548
91549 2003-09-25  Bruno Haible  <bruno@clisp.org>
91550
91551         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
91552         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
91553
91554 2003-09-24  Simon Josefsson  <jas@extundo.com>
91555
91556         * modules/xgethostname: Add xgethostname.h.
91557
91558 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91559
91560         * lib/linebuffer.c (freebuffer): Don't free the argument, just
91561         the buffer associated with the argument.  Bug reported by
91562         Simon Josefsson.
91563
91564 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91565
91566         * README: Document assumptions that 'int' is at least 32 bits
91567         wide, that integer arithmetic is 2's complement without overflow,
91568         that there are no holes in integer values, that adding sizes of
91569         two nonoverlapping objects can't overflow, and that all-bits-zero
91570         yields scalar zero.  Fix spelling and capitalization typos.
91571
91572 2003-09-19  Karl Berry  <karl@gnu.org>
91573
91574         * lib/argp.h: update from libc.
91575
91576 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91577
91578         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
91579         to avoid spurious warnings like "AC_RUN_IFELSE was called before
91580         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
91581
91582 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91583
91584         * gnulib-tool: Use "test -h", not "test -L", for portability
91585         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
91586         (tags_regexp): Remove, since \| doesn't conform to POSIX.
91587         (sed_extract_prog): Issue s commands one-by-one, rather than
91588         using \| in one s command.
91589
91590 2003-09-16  Paul Eggert  <eggert@twinsun.com>
91591
91592         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
91593         input error, instead of returning NULL the next time we are called
91594         (and therefore losing track of errno).
91595
91596 2003-09-16  Bruno Haible  <bruno@clisp.org>
91597
91598         * gnulib-tool (func_create_testdir): Warn about duplicated
91599         dependencies.
91600
91601 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91602
91603         * modules/argmatch, modules/fatal, modules/obstack,
91604         modules/xalloc, modules/xgethostname: Sort dependencies by
91605         importance, not alphabetically.
91606
91607 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91608
91609         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
91610         fails, so that the caller gets the proper errno.
91611
91612         * lib/readutmp.c (read_utmp): Likewise.
91613         Check for fstat error.  Close stream and free storage
91614         when failing.
91615
91616 2003-09-14  Karl Berry  <karl@gnu.org>
91617
91618         * config/srclist.txt (strdup.c): disable for c89 changes.
91619
91620 2003-09-14  Jim Meyering  <jim@meyering.net>
91621
91622         * lib/getloadavg.c: Correct cpp indentation.
91623         * lib/strdup.c: Likewise.
91624         * lib/vasnprintf.c: Likewise.
91625
91626 2003-09-14  Bruno Haible  <bruno@clisp.org>
91627
91628         * modules/fwriteerror: New file.
91629         * MODULES.html.sh (func_all_modules): Add fwriteerror.
91630
91631 2003-09-14  Bruno Haible  <bruno@clisp.org>
91632
91633         * lib/fwriteerror.h: New file.
91634         * lib/fwriteerror.c: New file.
91635
91636 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91637
91638         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
91639         modules/xgethostname, modules/xalloc: Depend on exit.
91640
91641 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91642
91643         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
91644
91645         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
91646         and AC_MINIX, too, so that their extensions are available.
91647
91648         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
91649         This macro has been superseded by gl_BACKUPFILE.
91650
91651         More patches to assume C89 or better.
91652
91653         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
91654
91655         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
91656         unconditionally.
91657         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
91658         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
91659         Include <string.h>, <stdlib.h> unconditionally.
91660         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
91661         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
91662         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
91663         headers or for string.h.
91664         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
91665         or strtoul.
91666
91667         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
91668         headers.
91669         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
91670         * m4/userspec.m4 (gl_USERSPEC): Likewise.
91671         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
91672         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
91673         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
91674         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
91675         memcpy, memset.
91676         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
91677         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
91678         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
91679         strtol.
91680         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
91681         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
91682         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
91683         strtoul.
91684
91685 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91686
91687         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
91688         * lib/obstack.c [!defined _LIBC]: Likewise.
91689         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
91690         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
91691         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
91692
91693         More changes to assume C89 or better.
91694
91695         * lib/error.c (error_tail): Assume vprintf.
91696
91697         * lib/argmatch.c (getenv): Remove decl.
91698         * lib/progreloc.c (get_full_program_name): Define via prototype.
91699         * lib/setenv.c (clearenv): Likewise.
91700         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
91701         needed.
91702         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
91703         (malloc, memcpy): Remove decls.
91704         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
91705         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
91706         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91707         (memcpy): Remove macro.
91708         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
91709         (__P): Remove.  All uses removed.
91710         (PTR): Remove.  All uses changed to void *.
91711         (CHAR_BIT, NULL): Remove.
91712         (spaces, zeros, memset_space, memset_zero)
91713         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
91714         Remove.
91715         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
91716         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
91717         Define with prototype.
91718         Remove now-unnecessary prototype decl.
91719         (extra_args_spec): Assume ANSI C.  All uses changed.
91720         (extra_args_spec_iso): Remove.
91721         (my_strftime, emacs_strftimeu): Define via prototype.
91722         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
91723         unconditionally.
91724         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
91725         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
91726         (strtoul, strtol): Remove decls.
91727         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
91728         LONG_MAX): Remove.
91729         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91730         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
91731         (LOCALE_PARAM_PROTO): New macro.
91732         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
91733         (INTERNAL (strtol), strtol): Define with a prototype.
91734         (PARAMS): Remove.  All uses removed.
91735         * lib/tempname.c: Include <string.h> unconditionally.
91736         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
91737         * lib/xgethostname.c (main): Define with a prototype.
91738         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
91739         Include <stdlib.h> unconditionally.
91740         (calloc, malloc, realloc, free): Remove decls.
91741         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
91742         Include <stdlib.h> unconditionally.  Sort include file names.
91743         (strtod): Remove.
91744         (xstrtod): Define with a prototype.
91745         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
91746         (strtol, strtoul): Remove decls.
91747
91748 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91749
91750         More patches to assume C89 or better.
91751         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
91752         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
91753         string.h, memchr, STDC_HEADERS.
91754
91755 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91756
91757         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
91758         Include <stdlib.h>, <string.h> unconditionally.
91759         Remove now-unnecessary cast to char *.
91760         * lib/strnlen.c: Include <string.h> unconditionally.
91761         * lib/yesno.c (yesno): Define with a prototype.
91762
91763 2003-09-11  Bruno Haible  <bruno@clisp.org>
91764
91765         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
91766
91767 2003-09-10  Jim Meyering  <jim@meyering.net>
91768
91769         * lib/error.c: Correct indentation of cpp directives.
91770
91771 2003-09-10  Bruno Haible  <bruno@clisp.org>
91772
91773         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
91774         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
91775         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
91776         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
91777         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
91778         <stdlib.h> and <string.h> checks.
91779         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
91780         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
91781
91782 2003-09-10  Bruno Haible  <bruno@clisp.org>
91783
91784         * lib/strcspn.c: Include <string.h> unconditionally.
91785         * lib/strpbrk.c: Include <string.h> unconditionally.
91786         * lib/strstr.c: Include <string.h> unconditionally.
91787         * lib/unicodeio.c: Include <string.h> unconditionally.
91788         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
91789         * lib/unsetenv.c: Likewise.
91790         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
91791         * lib/yesno.c: Include <stdlib.h> unconditionally.
91792         (rpmatch): Add prototype.
91793
91794 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91795
91796         More patches to assume C89 or better.
91797         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
91798         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
91799         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
91800         or for string.h.
91801         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
91802         stdlib.h.
91803         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
91804         C headers.
91805         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
91806         string.h.
91807         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
91808         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
91809         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
91810         or for string.h.
91811         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
91812         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
91813         C headers.
91814         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
91815         memcpy.
91816         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
91817         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
91818         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
91819         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
91820         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
91821         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
91822         string.h, free.
91823         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
91824         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
91825         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
91826         C headers, or for string.h.
91827         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
91828         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
91829         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
91830         headers, memory.h, stdlib.h, string.h, strings.h.
91831         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
91832         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
91833         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
91834         strchr.
91835         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
91836         headers, memory.h, string.h.
91837         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
91838         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
91839         free.
91840         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
91841         headers.
91842         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
91843         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
91844         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
91845         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
91846         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
91847
91848 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91849
91850         More K&R removal.
91851
91852         * lib/acosl.c (main): Use a prototype.
91853         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
91854         tanl.c: Likewise.
91855
91856         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
91857
91858         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
91859         (getopt, etopt_long, getopt_long_only, _getopt_internal)
91860         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
91861         with a prototype.
91862         * lib/getopt.c (const): Remove macro.
91863         Include <string.h> unconditionally.
91864         (my_index): Remove; all uses changed to strchr.
91865         (strlen): Remove decl.
91866         (exchange): Remove forward decl; no longer needed.
91867         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
91868         Define with prototype.
91869         * lib/getopt1.c (const): Remove macro.
91870         (getopt_long, getopt_long_only, main): Define with prototype.
91871
91872         * lib/getugroups.c: Include <string.h> unconditionally.
91873
91874         * lib/getusershell.c: Include <stdlib.h> unconditionally.
91875         (getusershell, setusershell, endusershell, readname, main):
91876         Define with prototypes.
91877
91878         * lib/group-member.c: Include group-member.h first.
91879         Include <stdlib.h> unconditionally.
91880
91881         * lib/hard-locale.c: Include hard-locale.h first.
91882         Include <stdlib.h>, <string.h> unconditionally.
91883
91884         * lib/hash.c (free, malloc): Remove decls.
91885         Include <stdlib.h> unconditionally.
91886
91887         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
91888         (getenv): Do not declare.
91889
91890         * lib/idcache.c: Include <string.h> unconditionally.
91891
91892         * lib/long-options.c: Include long-options.h first, to test interface.
91893         Include <stdlib.h> unconditionally.
91894
91895         * lib/makepath.c: Include makepath.h first, to test interface.
91896         Include <stdlib.h> and <string.h> unconditionally.
91897
91898         * lib/linebuffer.c: Include <stdlib.h>.
91899         (free): Remove decl.
91900
91901         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
91902         stddef.h. rpl_malloc returns void *, not char *.
91903         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
91904         prototype.
91905
91906         * lib/md5.h: Include <limits.h> unconditionally.
91907         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
91908         (__P): Remove; all uses removed.
91909         * lib/md5.c: Include "md5.h" first.
91910         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
91911         md5_buffer, md5_process_bytes, md5_process_block):
91912         Define with prototypes.
91913         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
91914         * lib/sha.c: Include "sha.h" first.
91915         Include <stdlib.h>, <string.h> unconditionally.
91916
91917         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
91918         * lib/memcmp.c (__ptr_t): Likewise.
91919         * lib/memrchr.c (__ptr_t): Likewise.
91920         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
91921         Include <string.h> unconditionally.
91922         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
91923         * lib/memchr.c: Include <stdlib.h> unconditionally.
91924         * lib/memchr.c (LONG_MAX): Remove.
91925         * lib/memrchr.c (LONG_MAX): Likewise.
91926         * lib/memchr.c (__memchr): Define via a prototype.
91927         * lib/memrchr.c (__memrchr): Likewise.
91928         * lib/memcmp.c (__P): Remove, and remove all uses.
91929         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
91930         Remove forward decls; no longer needed.
91931         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
91932         Use types required by C89 in prototype.
91933
91934         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
91935         * lib/savedir.c: Likewise.
91936         * lib/mkdir.c (free): Remove decl.
91937         * lib/rmdir.c (rmdir): Define with a prototype.
91938         * lib/savedir.c: Include savedir.h first, to test interface.
91939
91940         * lib/mktime.c (STDC_HEADERS): Remove.
91941         Include <stdlib.h>, <string.h> unconditionally.
91942
91943         * lib/modechange.c: Include <stdlib.h> unconditionally.
91944         (malloc): Remove decl.
91945
91946         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
91947         (free): Remove decl.
91948
91949         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
91950         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
91951         (This type really should be intptr_t, but that's a C99ism.)
91952         (_obstack_memcpy): Remove: all uses changed to memcpy.
91953         Include <string.h> unconditionally.
91954         (struct obstack): Assume __STDC__ for types of members
91955         chunkfun, freefun, extra_arg.
91956         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
91957         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
91958         obstack_begin, obstack_specify_allocation,
91959         obstack_specify_allocation_with_arg, obstack_chunkfun,
91960         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
91961         Remove unprototyped decls and the macros that use them.
91962         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
91963         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
91964         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
91965         (defined __STDC__ && __STDC__)]:
91966         Remove nonprototyped code.
91967         Include <stdlib.h> unconditionally.
91968         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
91969         _obstack_allocated_p, _obstack_free, obstack_free,
91970         _obstack_memory_used, print_and_abort):
91971         Define using prototypes.
91972         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
91973         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
91974         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
91975         obstack_next_free, obstack_object_size, obstack_room) [0]:
91976         Remove unused, unprototyped code.
91977
91978         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
91979
91980         * lib/physmem.c (physmem_total, physmem_available, main): Define
91981         with prototypes.
91982
91983         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
91984         (main): Define with a prototype.
91985
91986         * lib/posixver.c (getenv): Remove decl.
91987
91988         * lib/putenv.c (malloc): Returns void *, not char *.
91989         Include <string.h> unconditionally.
91990         (strchr, memcpy, NULL): Do not define.
91991
91992         * lib/readtokens.c: Include readtokens.h first, to test interface.
91993         Include <stdlib.h>, <string.h> unconditionally.
91994         (init_tokenbuffer): Define with a prototype.
91995
91996         * lib/regex.c (PARAMS): Remove.  All uses removed.
91997         All uses of _RE_ARGS removed, too.
91998         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
91999         unconditionally.
92000         (bzero): Assume memset exists.
92001         (memcmp, memcpy, NULL): Remove.
92002         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
92003         char, or assignments to local vars of type signed char.
92004         (init_syntax_once, PREFIX(extract_number_and_incr),
92005         PREFIX(print_partial_compiled_pattern),
92006         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
92007         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
92008         PREFIX(regex_grow_registers), PREFIX(regex_compile),
92009         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
92010         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
92011         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
92012         wcs_compile_range, byte_compile_range, truncate_wchar,
92013         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
92014         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
92015         count_mbs_length, wcs_re_match_2_internal,
92016         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
92017         PREFIX(alt_match_null_string_p),
92018         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
92019         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
92020         regfree, PREFIX(extract_number)): Define with prototype.  Remove
92021         now-unnecessary declaration, if any.
92022         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
92023         regcomp, regexec):
92024         Remove now-unnecessary casts among pointer types.
92025         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
92026
92027         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
92028         (free): Remove decl.
92029
92030         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
92031
92032         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
92033         (free): Remove decl.
92034
92035         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
92036         * lib/xgetcwd.c: Likewise.
92037
92038         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
92039         (free): Remove decl.
92040
92041         * lib/strchrnul.c (strchrnul): Define with a prototype.
92042         Fix bug: c_in was not converted to char before searching.
92043
92044         The following changes are not K&R related:
92045
92046         * lib/group-member.h: Include <sys/types.h>, so that this file is
92047         self-contained.
92048         * lib/makepath.h: Likewise.
92049
92050         * lib/getusershell.c (readname, default_index, line_size, readname):
92051         Use size_t, not int, for sizes.
92052         (readname): If the size overflows, report an error instead of
92053         looping forever.
92054
92055 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92056
92057         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
92058         libc.
92059
92060 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92061
92062         * README: New section: portability guidelines.
92063
92064 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92065
92066         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
92067         C89 spec.
92068
92069 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92070
92071         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
92072
92073 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92074
92075         Assume C89 or better; remove K&R cruft.
92076         A few of these changes were first proposed by Derek Robert Price
92077         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
92078
92079         * lib/addext.c: Include <string.h> unconditionally.
92080         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
92081         Don't declare getenv or malloc.
92082
92083         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
92084         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
92085         (NULL): Remove.
92086         (find_stack_direction, alloca): Use prototypes.
92087
92088         * lib/atexit.c (atexit): Define using a prototype.
92089
92090         * lib/basename.c, dirname.c, stripslash.c:
92091         Include <string.h> unconditionally.
92092
92093         * lib/bcopy.c: Include <stddef.h>.
92094         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
92095
92096         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
92097
92098         * lib/error.h (error, error_at_line, error_print_progname)
92099         [! (defined (__STDC__) && __STDC__)]: Remove decls.
92100         * lib/error.c: Include error.h first, to check interface.
92101         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92102         (VA_START): Remove; all uses changeed to va_start.
92103         (exit, strerror): Remove decls.
92104         (error_print_progname): Prototype uncondionally.
92105         Don't include <errno.h>; no longer needed.
92106         (private_strerror): Remove.
92107         (error_tail): Always define.
92108         (error, error_at_line): Assume C89 or better; always use prototypes.
92109         * lib/fatal.c: Include "fatal.h" first, to test interface.
92110         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92111         (VA_START): Remove; all uses changed to va_start.
92112         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
92113         this case.
92114         (exit): Remove decl.
92115         (fatal): Prototype unconditionally.  Assume va_start works.
92116         Abort at end, to pacify gcc.
92117
92118         * lib/euidaccess.c (main): Define with a prototype.
92119
92120         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
92121
92122         * lib/exitfail.c: Include <stdlib.h> unconditionally.
92123
92124         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
92125         prototypes.
92126         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
92127         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
92128         (getenv): Remove decl.
92129         (fnmatch): Define using a prototype.
92130         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
92131         (FCT): Define using a prototype.
92132
92133         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
92134
92135         * lib/gethostname.c: Include <stddef.h>.
92136         (gethostname): Define with prototype.  Length is size_t, not int.
92137
92138 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92139
92140         Assume C89 or better; remove K&R cruft.
92141         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
92142         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
92143         string.h, getenv, malloc.
92144         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
92145         headers.
92146         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
92147         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
92148         do not check for strerror.
92149         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
92150         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
92151         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
92152         do not check for doprnt or vprintf.
92153         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
92154         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
92155
92156 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92157
92158         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
92159         getversion.c should have been removed then, but was accidentally
92160         preserved.
92161
92162         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
92163         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
92164
92165 2003-09-08  Karl Berry  <karl@gnu.org>
92166
92167         * config/config.sub, config.guess, srclistvars.sh: update from savannah
92168                 config, forget about prep.
92169
92170         * config/depcomp, missing: update from automake.
92171
92172 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92173
92174         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
92175         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92176
92177 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92178
92179         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
92180         copy_tm_result.  Bug reported by Simon Josefsson in
92181         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92182
92183 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92184
92185         * m4/time_r.m4: New file.
92186         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
92187         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
92188         is. Check for timegm declaration.
92189         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
92190         Do not check for gmtime_r.
92191         Replace mktime if __mktime_internal does not exist and if mktime
92192         hasn't been replaced already.
92193
92194 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92195
92196         * lib/time_r.c, lib/time_r.h: New files.
92197
92198         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
92199         __localtime_r.
92200         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
92201         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
92202
92203         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
92204         __gmtime_r.
92205         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
92206         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
92207         Include <time_r.h>.
92208
92209         * lib/timegm.c: Switch to glibc implementation, with the following
92210         changes:
92211         [defined HAVE_CONFIG_H]: Include <config.h>.
92212         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
92213         (__mktime_internal) [!defined _LIBC]: New decl.
92214         (__gmtime_r) [!defined _LIBC]: New macro and function.
92215         (timegm): Use a prototype, since gnulib assumes C89.
92216         Do not bother declaring tmp to be const, as it's not really usefu.
92217         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
92218         (timegm): Declare only if HAVE_DECL_TIMEGM.
92219
92220 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92221
92222         * MODULES.html.sh (func_all_modules): Add time_r.
92223         * modules/time_r: New file.
92224         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
92225         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
92226
92227 2003-09-03  Paul Eggert  <eggert@twinsun.com>
92228
92229         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
92230         Bug reported by Lute Kamstra in
92231         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
92232
92233         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
92234         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
92235         course with correspondingly smaller numbers for tomorrow and
92236         yesterday.  From Tadayoshi Funaba.  Originally installed into
92237         sh-utils on 1999-08-07, but the patch got lost (I guess during the
92238         coreutils merge?).
92239
92240 2003-08-31  Simon Josefsson  <jas@extundo.com>
92241
92242         * modules/timegm: New file.
92243         * MODULES.html.sh (func_all_modules): Add timegm.
92244
92245 2003-08-31  Simon Josefsson  <jas@extundo.com>
92246
92247         * m4/timegm.m4: New file.
92248
92249 2003-08-31  Simon Josefsson  <jas@extundo.com>
92250
92251         * lib/timegm.h: New file.
92252         * lib/timegm.c: New file.  Based on
92253         wget-1.8.2/src/http.c:mktime_from_utc.
92254
92255 2003-08-31  Karl Berry  <karl@gnu.org>
92256
92257         * lib/argp.h: update from libc.
92258
92259 2003-08-28  Bruno Haible  <bruno@clisp.org>
92260
92261         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
92262         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
92263         followed by '#define fnmatch fnmatch_posix' gives an error.
92264
92265 2003-08-28  Bruno Haible  <bruno@clisp.org>
92266
92267         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
92268         warning on QNX, which defines O_BINARY to 000000.
92269
92270 2003-08-27  Jim Meyering  <jim@meyering.net>
92271
92272         * m4/mkstemp.m4: Require that the system mkstemp be able to create
92273         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
92274         would fail after 32.  Reported by Danny Levinson.  Details here:
92275         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
92276
92277 2003-08-24  Bruno Haible  <bruno@clisp.org>
92278
92279         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
92280         MSVC7 <stdio.h> is included later.
92281
92282 2003-08-22  Simon Josefsson  <jas@extundo.com>
92283
92284         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
92285
92286 2003-08-20  Karl Berry  <karl@gnu.org>
92287
92288         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
92289
92290 2003-08-20  Bruno Haible  <bruno@clisp.org>
92291
92292         * modules/progname: New file.
92293         * MODULES.html.sh (func_all_modules): Add progname.
92294
92295 2003-08-20  Bruno Haible  <bruno@clisp.org>
92296
92297         * lib/progname.h: New file, from GNU gettext.
92298         * lib/progname.c: New file, from GNU gettext.
92299         * lib/progreloc.c: New file, from GNU gettext.
92300
92301 2003-08-19  Jim Meyering  <jim@meyering.net>
92302
92303         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
92304         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
92305
92306 2003-08-19  Bruno Haible  <bruno@clisp.org>
92307
92308         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
92309         more.
92310
92311 2003-08-19  Bruno Haible  <bruno@clisp.org>
92312
92313         * lib/xstrdup.c: Assume <string.h> exists.
92314
92315 2003-08-18  Paul Eggert  <eggert@twinsun.com>
92316
92317         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
92318         in makefile rules.
92319
92320 2003-08-18  Jim Meyering  <jim@meyering.net>
92321
92322         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
92323         * m4/lib-ld.m4: Likewise.
92324
92325 2003-08-18  Jim Meyering  <jim@meyering.net>
92326
92327         * lib/setenv.h: Indent nested cpp directive.
92328         * lib/vasnprintf.c: Remove trailing blanks.
92329
92330 2003-08-17  Simon Josefsson  <jas@extundo.com>
92331
92332         * modules/xstrndup: New file.
92333         * MODULES.html.sh (func_all_modules): Add xstrndup.
92334
92335 2003-08-17  Simon Josefsson  <jas@extundo.com>
92336
92337         * modules/argp: Fix autoconf macro name. Add more dependencies.
92338
92339 2003-08-17  Simon Josefsson  <jas@extundo.com>
92340
92341         * m4/xstrndup.m4: New file.
92342
92343 2003-08-17  Simon Josefsson  <jas@extundo.com>
92344
92345         * m4/argp.m4: New file.
92346
92347 2003-08-17  Simon Josefsson  <jas@extundo.com>
92348             Bruno Haible  <bruno@clisp.org>
92349
92350         * lib/xstrndup.h: New file.
92351         * lib/xstrndup.c: New file.
92352
92353 2003-08-17  Bruno Haible  <bruno@clisp.org>
92354
92355         * modules/strndup (Files, Include): Add lib/strndup.h.
92356
92357 2003-08-17  Bruno Haible  <bruno@clisp.org>
92358
92359         * modules/euidaccess (Files): Add lib/euidaccess.h.
92360
92361 2003-08-17  Bruno Haible  <bruno@clisp.org>
92362
92363         * lib/strndup.h: New file.
92364
92365 2003-08-17  Bruno Haible  <bruno@clisp.org>
92366
92367         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
92368         like AC_GNU_SOURCE.
92369         * modules/extensions (configure.ac): Comment out the invocation of
92370         gl_USE_SYSTEM_EXTENSIONS.
92371
92372 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92373
92374         Merges from coreutils, etc.
92375         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
92376         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
92377         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
92378         fixing a typo.
92379         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
92380         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
92381
92382 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92383
92384         Document merge from coreutils.
92385         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
92386         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
92387         * modules/utime: Add m4/utimes-null.m4.
92388
92389 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92390
92391         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
92392         space, undoing this 2003-08-12 change:
92393         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92394
92395 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92396
92397         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
92398         strtoul.c from libc, undoing this 2003-08-12 change:
92399         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92400
92401 2003-08-16  Jim Meyering  <jim@meyering.net>
92402
92403         Merges from coreutils.
92404         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
92405         prefix.  Adjust cache variables similarly.  Create 500 rather than
92406         just 300 files, to exercise bug on Darwin6.5, too.
92407         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
92408         $missing_dir.
92409         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
92410         AM_SYS_POSIX_TERMIOS.
92411         Reported by mkc@mathdogs.com.
92412         Also change use of $am_cv_sys_posix_termios
92413         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
92414         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
92415         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
92416         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
92417         in /proc/mounts until it finds one with matching device number.  This
92418         is unnecessary when the FILE argument *is* a mount point.  No stat call
92419         is necessary in that case.  So, disable the statvfs-testing code on
92420         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
92421         as RedHat bug# 84846.
92422         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92423         to 1MB, so as not to render systems with no stack size limit (e.g.,
92424         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92425         Include <unistd.h>.  On some systems,
92426         it is required for the definition of _SC_PAGESIZE.
92427
92428 2003-08-16  Jim Meyering  <jim@meyering.net>
92429
92430         Merge from coreutils.
92431         * lib/xstrtoimax.c: #else #if -> #elif.
92432         * lib/xstrtoumax.c: Likewise.
92433
92434 2003-08-16  Jim Meyering  <jim@meyering.net>
92435
92436         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
92437         * m4/utimes.m4: Removed.
92438         * m4/utimes-null.m4: Renamed from utimes.m4.
92439
92440         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92441         to 1MB, so as not to render systems with no stack size limit (e.g.,
92442         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92443         Include <unistd.h>.  On some systems,
92444         it is required for the definition of _SC_PAGESIZE.
92445
92446 2003-08-16  Jim Meyering  <jim@meyering.net>
92447         and Paul Eggert  <eggert@cs.ucla.edu>
92448
92449         Merges from coreutils, etc.
92450
92451         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
92452         using the latest version from cvs.  This avoids problems with #line
92453         directives using a vendor (Sun) compiler.
92454         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
92455         Don't set GETGROUPS_LIB here; now it's
92456         done via getgroups.m4's wrapper function.
92457         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
92458         rather than just in sh-util/configure.in, so that the
92459         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
92460         same.
92461         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
92462         AC_FUNC_GETLOADAVG where to find getloadavg.c.
92463         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
92464         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
92465         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
92466         Remove code that is now done by the newly-required macros.
92467         Append $(EXEEXT) to DF_PROG.
92468         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
92469         Do not invoke or require the following here,
92470         since prereq.m4 or some gnulib .m4 now does this for us:
92471         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
92472         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
92473         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
92474         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
92475         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
92476         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
92477         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
92478         AC_FUNC_OBSTACK.
92479         Do not replace the following functions, as this is now the job
92480         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
92481         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
92482         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
92483         atexit getpass, strdup, getpagesize.
92484         Replace 'raise'.
92485         Do not check for the following functions, as this is now the job
92486         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
92487         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
92488         setregid.
92489         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
92490         Check for sys/sysctl.h.
92491         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
92492         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
92493         of checking for ssize_t ourselves.
92494
92495         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
92496         Require every macro that gnulib/modules/* suggests for us.
92497         (jm_PREREQ_ADDEXT): New macro.
92498         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
92499         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
92500
92501         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
92502         (gl_PHYSMEM): Use it.
92503         Also check for `table' function.
92504         Check for new headers and functions.
92505         Add check for sys/sysmp.h.
92506         With suggestions from Kaveh Ghazi.
92507         Ignore headers that are present but cannot be compiled.  This
92508         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
92509         C 5.4.
92510
92511 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92512
92513         Document merge from coreutils.
92514         * modules/userspec: Depend on posixver.
92515         * modules/strftime: Depend on tzset.
92516
92517 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92518
92519         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
92520         rather than tab, after '#' in shell-script copyright notices.
92521         Suggested by Bruno Haible.
92522
92523 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92524
92525         * config/srclist-update: Use three spaces, rather than tab, after '#'
92526         in shell-script copyright notices.  Suggested by Bruno Haible.
92527         Remove unnecessary parenthesization in regular expression.
92528
92529 2003-08-15  Jim Meyering  <jim@meyering.net>
92530
92531         Merge from coreutils.
92532         * lib/xgethostname.c: Include <stdlib.h>.
92533         (xghostname): Don't exit for anything other than memory-related
92534         failure; just return NULL.
92535         * lib/userspec.c: Include "posixver.h".
92536         (parse_user_spec): Accept `.' as a separator only
92537         in pre-POSIX-200112 mode.
92538         * lib/strtoimax.c: Use #elif rather than #else #if.
92539         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
92540         Remove function, now that we can rely on a working tzset function.
92541         [!_LIBC]: Ensure that the required autoconf test has been run.
92542         [!defined _NL_CURRENT && HAVE_STRFTIME]:
92543         Use underlying_strftime for %r.
92544         * lib/sha.c: Merge in some clean-up and optimization changes from
92545         glibc.
92546         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
92547         Ensure that it is a multiple of 64.
92548         Rearrange loop exit tests so as to avoid performing an
92549         additional fread after encountering an error or EOF.
92550         * lib/realloc.c: Update copyright date.
92551
92552 2003-08-15  Jim Meyering  <jim@meyering.net>
92553         and Paul Eggert  <eggert@twinsun.com>
92554
92555         Merge from coreutils.
92556         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
92557         member but strut utmpx does not.  Needed for AIX 4.3.3.
92558         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
92559
92560 2003-08-15  Jim Meyering  <jim@meyering.net>
92561         and Paul Eggert  <eggert@cs.ucla.edu>
92562
92563         Merges from coreutils, etc.
92564         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
92565         Require gl_FUNC_TZSET_CLOBBER.
92566         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
92567         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
92568         members.
92569
92570 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92571
92572         Help the merge from coreutils.
92573         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
92574         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
92575         * m4/tzset.m4: Use it too.
92576
92577 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92578
92579         * modules/tzset: New file.
92580
92581 2003-08-14  Jim Meyering  <jim@meyering.net>
92582
92583         Merges from coreutils.
92584         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
92585         variable names, rather than @FNMATCH_H@.
92586         * modules/alloca: Likewise for $(ALLOCA_H).
92587
92588         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
92589         the three copies of the literal target, `fnmatch.h'.
92590         * modules/alloca (alloca.h): Likewise.
92591
92592 2003-08-14  Jim Meyering  <jim@meyering.net>
92593
92594         Merge from coreutils.
92595         * m4/tzset.m4: New file.
92596         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
92597         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
92598         otherwise, AIX 5.1 systems would end up using the latter.
92599         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
92600         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
92601         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
92602         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
92603
92604 2003-08-14  Jim Meyering  <jim@meyering.net>
92605
92606         Merge from coreutils.
92607         * lib/obstack.h: Whitespace changes.
92608         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
92609         and xcalloc return values.
92610         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
92611         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
92612         hang on OSF/1 5.1 for DIR on both local and remote file systems.
92613         Reported by (and fix confirmed by) Nelson H. F. Beebe.
92614         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
92615         error from mntctl.
92616         Use mntctl's return value to drive the entry-processing loop, since
92617         we can't rely on the value of the vmt_length member in the last
92618         entry.  On some systems doing so could result in exhausting
92619         virtual memory.  Based in part on a patch from Mike Jetzer.
92620
92621 2003-08-14  Jim Meyering  <jim@meyering.net>
92622         and Paul Eggert  <eggert@twinsun.com>
92623
92624         Merges from coreutils, plus other fixes.
92625         * lib/physmem.c: Merge in portability changes from gcc/libiberty
92626         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
92627         for credits and details.  Thanks to Kaveh Ghazi for helping
92628         to keep these files in sync.
92629         (ARRAY_SIZE): Define it.
92630         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
92631         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
92632         (memcasecmp): Don't assume size_t fits in unsigned int.
92633         Remove casts and duplicate code.
92634         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
92635         (memcpy): Remove definition.
92636         Merge in some clean-up and optimization changes from glibc.
92637         [BLOCKSIZE]: Move definition to top of file.
92638         Ensure that it is a multiple of 64.
92639         Rearrange loop exit tests so as to avoid performing an
92640         additional fread after encountering an error or EOF.
92641         * lib/md5.h (md5_uintptr): Define.
92642         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
92643         return to the initial working directory.  Preserve errno
92644         for caller.
92645         * lib/idcache.c: Include "xalloc.h".
92646         (xmalloc, xrealloc): Remove decls.
92647         (getuser): Remove casts no longer required in C89.
92648         * lib/human.c: Include stdio.h, for sprintf.
92649         * lib/group-member.c: Include "xalloc.h".
92650         (xmalloc, xrealloc): Remove decls.
92651         (get_group_info): Remove casts no longer required in C89.
92652         * lib/getusershell.c (readname): Remove casts no longer required in
92653         C89.
92654         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
92655         * lib/getline.c: Whitespace fix, from coreutils.
92656
92657 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92658
92659         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
92660         Check for isascii.
92661
92662         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92663         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92664         Undo previous (whitespace-only) change.
92665
92666 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92667
92668         * lib/exclude.c: Include <ctype.h>
92669         (IN_CTYPE_DOMAIN): New macro.
92670         (is_space): New fn.
92671         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
92672         and empty lines.
92673
92674         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92675         Undo previous (whitespace-only) change.
92676
92677 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92678
92679         * config/srclist-update: Change update back to the old behavior,
92680         leaving whitespace alone.  Use one 'sed' command rather than a
92681         pipeline.
92682         (fixlicense): Now a variable, not a function.
92683         (remove_trailing_blanks): Remove.
92684         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
92685         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92686         Undo previous (whitespace-only) change.
92687
92688 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92689
92690         Merge from coreutils.
92691         * modules/euidaccess: Add lib_SOURCES, include for new
92692         file euidaccess.h
92693
92694 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92695
92696         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92697         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92698         Normalize leading white space and remove trailing white space.
92699
92700         Merge from coreutils
92701         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
92702
92703         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
92704         0.12.1.  These files are now being upgraded automatically by
92705         ../config/srclist-update.
92706
92707 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92708
92709         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92710         Normalize leading white space and remove trailing white space.
92711         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
92712         notice, as per ../config/srclist-update.
92713
92714         Merge from coreutils.
92715         * lib/euidaccess.h: New file.
92716         * lib/euidaccess.c: Include it.
92717         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
92718         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
92719         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
92720
92721 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92722
92723         * config/srclist-update: Add copyright notice.
92724         (remove_id_lines, remove_trailing_blanks): New constants.
92725         (fixfile): Use them to normalize spacing a bit in copied files.
92726         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92727         Normalize leading white space and remove trailing white space.
92728
92729         * config/texinfo.tex: Sync with texinfo.
92730
92731         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
92732         strtoul.c from libc, to merge coreutils whitespace changes.
92733
92734         * config/srclist.txt: Get the following m4 files from gettext:
92735         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
92736         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
92737         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
92738         wint_t.m4.
92739
92740 2003-08-12  Karl Berry  <karl@gnu.org>
92741
92742         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
92743         been made.
92744
92745 2003-08-11  Paul Eggert  <eggert@twinsun.com>
92746
92747         * modules/gnu-source, m4/gnu-source.m4:
92748         Remove; we're assuming Autoconf 2.54 or later now.
92749         Suggested by Bruno Haible.
92750         * MODULES.html.sh (func_all_modules): Remove gnu-source.
92751
92752 2003-08-11  Bruno Haible  <bruno@clisp.org>
92753
92754         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
92755
92756 2003-08-11  Bruno Haible  <bruno@clisp.org>
92757
92758         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
92759         (vasnprintf): Use it instead of wcslen.
92760
92761 2003-08-11  Bruno Haible  <bruno@clisp.org>
92762
92763         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
92764         value to ensure that _Bool promotes to int. Use #define for _Bool when
92765         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
92766
92767 2003-08-10  Karl Berry  <karl@gnu.org>
92768
92769         * lib/regex.h: update from libc (whitespace fix).
92770
92771 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92772
92773         Merge some files from coreutils.  These changes were
92774         originally made by Jim Meyering.
92775         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
92776         many older Unixes require this.
92777         * lib/alloca.c (alloca): Remove cast to argument of free;
92778         no longer needed in C89.
92779         * lib/alloca_.h, regex.h: Fix white space to match
92780         what GNU indent does.
92781
92782 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92783
92784         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
92785         apparently Emacs's Unicode mode got confused before my 2003-08-05
92786         checkin.
92787
92788 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92789
92790         * m4/extensions.m4: New file.
92791         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
92792         Require gl_USE_SYSTEM_EXTENSIONS.
92793         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
92794         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
92795
92796 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92797
92798         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
92799         * modules/extensions, modules/gnu-source: New files.
92800         * modules/timespec, modules/unlocked-io: Depend on extensions.
92801
92802 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92803
92804         * modules/restrict: New file.
92805         * MODULES.html.sh (func_all_modules): Add restrict.
92806         * modules/regex: Depend on restrict.
92807
92808 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92809
92810         * m4/restrict.m4: New file.
92811         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
92812
92813 2003-08-07  Bruno Haible  <bruno@clisp.org>
92814
92815         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
92816         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
92817
92818 2003-08-07  Bruno Haible  <bruno@clisp.org>
92819
92820         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
92821         makes the module 'getndelim2' compatible with the module 'getline'.
92822
92823 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92824
92825         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
92826         byte with "\201" to avoid glitches when editing that source file
92827         with multi-gnome-terminal.
92828
92829 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92830
92831         * lib/bumpalloc.h: Remove.
92832
92833 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92834
92835         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
92836         * modules/bumpalloc: Remove.
92837
92838 2003-08-04  Paul Eggert  <eggert@twinsun.com>
92839
92840         * lib/getloadavg.c: Change copyright notice and spacing to conform to
92841         GNU coding style.
92842
92843         Merge from coreutils.
92844         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
92845         1. From glibc.
92846         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
92847         from Karl Berry, implemented by Jim Meyering.
92848         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
92849         from Dmitry V. Levin.
92850         Remove anachronistic cast of xrealloc.
92851         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
92852         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
92853         type. Otherwise, it wouldn't compile with at least /bin/cc on
92854         ymp-cray-unicos9.0.2.X.
92855         Combine two mostly-identical uses of alloca into one.
92856         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
92857
92858 2003-08-04  Dave Love  <d.love@dl.ac.uk>
92859
92860         [From Emacs.]
92861
92862         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
92863         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
92864         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
92865         obsolete NLIST_NAME_UNION.
92866         [__GNU__]: Undef BSD and FSCALE.
92867         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
92868
92869 2003-08-03  Paul Eggert  <eggert@twinsun.com>
92870
92871         * lib/stdbool_.h (_Bool): Make it signed char, instead of
92872         an enum type, so that it's guaranteed to promote to int.  See:
92873         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
92874
92875 2003-08-03  Karl Berry  <karl@gnu.org>
92876
92877         * config/depcomp: update from automake.
92878
92879 2003-07-31  Paul Eggert  <eggert@twinsun.com>
92880
92881         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
92882         (strerror): Don't assume that a printable int fits in 14 bytes.
92883
92884 2003-07-31  Bruno Haible  <bruno@clisp.org>
92885
92886         * modules/getpass-gnu: New file.
92887         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
92888
92889 2003-07-31  Bruno Haible  <bruno@clisp.org>
92890
92891         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
92892
92893 2003-07-24  Karl Berry  <karl@gnu.org>
92894
92895         * config/missing: update from automake.
92896
92897 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
92898             Bruno Haible  <bruno@clisp.org>
92899
92900         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
92901         * lib/getline.c (getline, getdelim): Likewise.
92902         Remove _GNU_SOURCE define; now it's defined in config.h through
92903         m4/getline.m4.
92904
92905 2003-07-23  Karl Berry  <karl@gnu.org>
92906
92907         * config/config.sub: update from prep.
92908
92909 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92910
92911         * modules/xalloc (Depends-on): Add exitfail.
92912         * modules/xmemcoll: Likewise.
92913
92914 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92915
92916         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
92917         over-parenthesization in macros.
92918
92919         Sync with coreutils.
92920
92921         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
92922         required by C99.
92923
92924         Use `exit_failure' for xalloc and xmemcoll instead of their own
92925         private exit-failure variables.
92926         * lib/xalloc.h (xalloc_exit_failure): Remove.
92927         * lib/xmalloc.c: Likewise.  Include exitfail.h.
92928         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
92929         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
92930         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
92931         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
92932
92933 2003-07-20  Jim Meyering  <jim@meyering.net>
92934
92935         * modules/closeout (Depends-on): Add exitfail.
92936         Suggestion from Bruno Haible.
92937
92938 2003-07-19  Karl Berry  <karl@gnu.org>
92939
92940         * config/config.sub: update from prep.
92941
92942 2003-07-18  Paul Eggert  <eggert@twinsun.com>
92943
92944         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
92945         Remove.
92946         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
92947         to test that it can stand by itself.  Include "exitfail.h".
92948         Clients should set exit_failure instead.
92949         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
92950
92951 2003-07-18  Bruno Haible  <bruno@clisp.org>
92952
92953         * modules/getndelim2: New file.
92954         * modules/getline: Share files with module getndelim2.
92955         * modules/getnline: Depend on getndelim2 instead of sharing files with
92956         it. Add getnline.c to lib_SOURCES.
92957         * MODULES.html.sh (func_all_modules): Add getndelim2.
92958
92959 2003-07-18  Bruno Haible  <bruno@clisp.org>
92960
92961         * m4/getndelim2.m4: New file.
92962         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
92963         invoke gl_PREREQ_GETNDELIM2.
92964         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
92965         gl_PREREQ_GETNDELIM2.
92966         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
92967         gl_GETNDELIM2.
92968
92969 2003-07-18  Bruno Haible  <bruno@clisp.org>
92970
92971         * lib/getndelim2.h: New file.
92972         * lib/getndelim2.c: Make into a module of its own. Include config.h,
92973         getndelim2.h.
92974         (getndelim2): Make non-static. Change return type to ssize_t.
92975         * lib/getline.h: Change argument names.
92976         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
92977         * lib/getnline.c: Include getndelim2.h.
92978
92979 2003-07-18  Andreas Schwab  <schwab@suse.de>
92980
92981         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
92982
92983 2003-07-17  Karl Berry  <karl@gnu.org>
92984
92985         * config/config.sub: update from prep.
92986
92987 2003-07-17  Bruno Haible  <bruno@clisp.org>
92988
92989         * modules/getnline: New file.
92990         * modules/getline: Add lib/getndelim2.c to source file list.
92991         * MODULES.html.sh (func_all_modules): Add getnline.
92992
92993 2003-07-17  Bruno Haible  <bruno@clisp.org>
92994
92995         * m4/getnline.m4: New file.
92996
92997 2003-07-17  Bruno Haible  <bruno@clisp.org>
92998
92999         * m4/Makefile.am.in: Remove file.
93000         * m4/Makefile.am: Remove file.
93001         * m4/Makefile.in: Remove file.
93002
93003 2003-07-17  Bruno Haible  <bruno@clisp.org>
93004
93005         * lib/getnline.h: New file.
93006         * lib/getnline.c: New file.
93007         * lib/getndelim2.c: New file, extracted from getline.c.
93008         (getndelim2): Renamed from getdelim2, with added nmax argument.
93009         * lib/getline.c: Include getndelim2.c.
93010         (getdelim2): Moved out to getndelim2.c.
93011         (getline, getdelim): Update.
93012
93013 2003-07-17  Bruno Haible  <bruno@clisp.org>
93014
93015         * lib/Makefile.am: Remove file.
93016         * lib/Makefile.in: Remove file.
93017
93018 2003-07-17  Bruno Haible  <bruno@clisp.org>
93019
93020         * configure.in: Remove file.
93021         * Makefile.in: Remove file.
93022
93023 2003-07-17  Bruno Haible  <bruno@clisp.org>
93024
93025         * MODULES.html.sh: Put the </BODY> right before </HTML>.
93026
93027 2003-07-16  Karl Berry  <karl@gnu.org>
93028
93029         * config/srclist-update: was running fixlicense twice, which caused
93030                 texinfo.tex to be nullified for some reason.  Simplify,
93031                 $gplsrc is no longer needed as far as I can see?
93032
93033 2003-07-16  Jim Meyering  <jim@meyering.net>
93034
93035         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
93036
93037 2003-07-15  Paul Eggert  <eggert@twinsun.com>
93038
93039         * config/srclist.txt: Get the following files from gettext-runtime/intl
93040         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
93041         ref-del.sin.  From Bruno Haible.
93042         * config/srclist-update (fixfile): Change grep pattern again, since the
93043         previous fix didn't work (there was another trailing $).  Use
93044         '[$]' to escape the $s.
93045
93046 2003-07-15  Karl Berry  <karl@gnu.org>
93047
93048         * lib/vasnprintf.c: update from gettext.
93049
93050 2003-07-15  Karl Berry  <karl@gnu.org>
93051
93052         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
93053         gets expanded when surrounded by '$'.
93054
93055 2003-07-15  Jim Meyering  <jim@meyering.net>
93056
93057         * modules/save-cwd: Don't depend on error.  From Derek Price.
93058
93059 2003-07-15  Jim Meyering  <jim@meyering.net>
93060
93061         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
93062
93063 2003-07-14  Simon Josefsson  <jas@extundo.com>
93064
93065         * modules/mempcpy: New file.
93066         * MODULES.html.sh (func_all_modules): Add mempcpy.
93067
93068 2003-07-14  Simon Josefsson  <jas@extundo.com>
93069
93070         * m4/mempcpy.m4: New file.
93071
93072 2003-07-14  Simon Josefsson  <jas@extundo.com>
93073
93074         * lib/mempcpy.h: New file.
93075         * lib/mempcpy.c: New file.
93076
93077 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93078
93079         * modules/getdate, modules/posixtm: Depend on mktime.
93080
93081 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93082
93083         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
93084         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
93085         unicodeio.c, unicodeio.h, unlocked-io.h:
93086         Switch from LGPL to GPL.
93087
93088 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93089
93090         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
93091         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
93092         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
93093         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
93094         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
93095         updated automatically by ../config/srclist-update.  This changes
93096         their license from LPGL to GPL.
93097
93098 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93099
93100         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
93101         assumed to refer to the root of the most recent stable gettext version.
93102         * config/srclistvars.sh: Add defaults for eggert.
93103         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
93104         Match "This program" as well as "The program".  This is needed
93105         for gettext.
93106
93107 2003-07-14  Jim Meyering  <jim@meyering.net>
93108
93109         Don't emit diagnostics.  Let callers do that.
93110         * lib/save-cwd.c: Don't include "error.h".
93111         (save_cwd): Don't call error.  Ensure that errno is valid
93112         when returning nonzero.
93113
93114         * lib/save-cwd.h (restore_cwd): Update prototype.
93115         * lib/save-cwd.c (restore_cwd): Remove two parameters.
93116         Simplify.  Don't call error upon failure.  Let callers do that.
93117         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
93118         when auditing is enabled.  But don't bother updating the #if.
93119
93120 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
93121
93122         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
93123         it breaks C++ compilation.
93124         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
93125
93126 2003-07-10  Simon Josefsson  <jas@extundo.com>
93127
93128         * modules/strchrnul (Makefile.am): Add strchrnul.h.
93129
93130 2003-07-10  Jim Meyering  <jim@meyering.net>
93131
93132         * m4/clock_time.m4: Remove trailing blank.
93133         * m4/intmax_t.m4: Likewise.
93134
93135 2003-07-10  Jim Meyering  <jim@meyering.net>
93136
93137         * lib/vasnprintf.c: Remove trailing blanks.
93138         Make cpp indentation consistent.
93139
93140 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93141
93142         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
93143         posixver.c, strftime.c, strnlen.c, strverscmp.c:
93144         Switch from LGPL to GPL.
93145
93146 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93147
93148         * config/srclist.txt: Sort sublists.  Add
93149         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
93150         that differ from gnulib for one reason or another; we'd like this list
93151         to be smaller but for now let's document what we have.
93152
93153 2003-07-08  Paul Eggert  <eggert@twinsun.com>
93154
93155         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
93156         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
93157         and sweeter "eval x=$x".
93158         * config/srclist.txt: Get lib/argp* from glibc.
93159
93160 2003-07-07  Paul Eggert  <eggert@twinsun.com>
93161
93162         * lib/mktime.c: Fix some boundary cases and remove need for floating
93163         point.
93164
93165         Issue a compile-time diagnostic if time_t is floating point, or if
93166         two's complement arithmetic is not in effect, or if arithmetic
93167         right shift does not propagate the sign.  These assumptions were
93168         all in the original code but they weren't checked.
93169
93170         (TIME_T_MIDPOINT, verify): New macros.
93171         (__isleap): Remove; it has integer overflow problems.
93172         (leapyear): New function, without those problems.
93173         (ydhms_tm_diff): Remove; splitting into two parts.
93174         (ydhms_diff): New function, containing the arithmetic part of
93175         the old ydhms_tm_diff function.  Issue a compile-time
93176         diagnostic if we are not using C99 integer division.
93177         Avoid casts when possible.
93178         (guess_time_tm): New function, containing the checking part of
93179         the old ydhms_tm_diff function.  Return the new value, rather than
93180         the difference between it and the old.  Accept a new argument T
93181         so that *T specifies the old value.  Check for overflow in the result.
93182
93183         (__mktime_internal): Use a time_t offset, not a long int offset.
93184         This undoes the 2003-06-04 change, which is no longer needed now
93185         that we have better overflow checking.
93186         (localtime_offset): Likewise.
93187
93188         (__mktime_internal): Avoid harmful overflow on hosts where time_t
93189         and long are 64-bit but int is only 32-bit.
93190         (ydhms_diff): Use long int to store year1 and yday1.
93191         Issue a compile-time diagnostic if long int is not wide enough.
93192
93193         (__mktime_internal): Use long int to store adjusted year and yday.
93194         Use plain C rather than preprocessor commands, if that doesn't
93195         affect efficiency.
93196         Check for overflow (and try to repair) after each probe
93197         rather than checking only at the very end.  This avoids some bugs
93198         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
93199         does not equal GMT offset at maximum time).
93200         Use integer to check for overflow rather than floating point; this
93201         is more portable to non-IEEE hosts, and is a tad faster.
93202         When we detect that we are oscillating between two values,
93203         don't check whether tm_isdst has the requested value, since
93204         we already know the answer.  When tm_isdst has the wrong value,
93205         use a different heuristic to find the right one, based on the
93206         extreme values actually observed in practice in tz2003a,
93207         rather than the (overly optimistic) "previous 3 calendar quarters".
93208
93209         (not_equal_tm, print_tm, check_result): Use "const T" rather than
93210         "T const" to accommodate glibc style.
93211         (check_result): Use less-confusing report format.  "long" -> "long int.
93212         (main): Likewise.
93213         Don't loop if the iteration overflows time_t.
93214         Allow a negative step in the iteration.
93215
93216 2003-07-06  Karl Berry  <karl@gnu.org>
93217
93218         * config/depcomp: update from automake.
93219         * config/config.sub: update from prep.
93220
93221 2003-07-03  Karl Berry  <karl@gnu.org>
93222
93223         * config/config.guess: update from prep.
93224
93225 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93226
93227         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
93228         xreadlink.c now includes it unconditionally.
93229
93230 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93231
93232         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
93233         having it depend on HAVE_SYS_TYPES_H.
93234
93235 2003-07-01  Bruno Haible  <bruno@clisp.org>
93236
93237         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
93238         <sys/types.h> should be sufficient.
93239         Reported by Paul Eggert.
93240
93241 2003-06-26  Karl Berry  <karl@gnu.org>
93242
93243         * config/depcomp: update from automake.
93244
93245 2003-06-26  Bruno Haible  <bruno@clisp.org>
93246
93247         * modules/human: Depend on module stdbool.
93248
93249 2003-06-25  Bruno Haible  <bruno@clisp.org>
93250
93251         * modules/readlink: New file.
93252         * modules/xreadlink: Depend on it.
93253         * MODULES.html.sh (func_all_modules): Add readlink.
93254
93255 2003-06-25  Bruno Haible  <bruno@clisp.org>
93256
93257         * m4/readlink.m4: New file.
93258
93259 2003-06-25  Bruno Haible  <bruno@clisp.org>
93260
93261         * lib/readlink.c: New file.
93262
93263 2003-06-22  Karl Berry  <karl@gnu.org>
93264
93265         * config/srclist.txt: update mkinstalldirs from automake.
93266         * config/mkinstalldirs: update.
93267
93268 2003-06-22  Bruno Haible  <bruno@clisp.org>
93269
93270         Portability to mingw32.
93271         * m4/ssize_t.m4: New file, from GNU gettext.
93272         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
93273         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
93274
93275 2003-06-22  Bruno Haible  <bruno@clisp.org>
93276
93277         * modules/safe-read: Add m4/ssize_t.m4.
93278         * modules/xreadlink: Add m4/ssize_t.m4.
93279
93280 2003-06-20  Bruno Haible  <bruno@clisp.org>
93281
93282         Assume C89, so PARAMS isn't needed.
93283         * lib/unicodeio.h (PARAMS): Remove.
93284         * lib/unicodeio.c: Don't use PARAMS.
93285
93286 2003-06-18  Karl Berry  <karl@gnu.org>
93287
93288         * config/config.{guess,sub}: update from prep.
93289
93290 2003-06-18  Jim Meyering  <jim@meyering.net>
93291
93292         Merge changes from coreutils.
93293         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
93294         Remove explicit declarations of xmalloc and realloc.
93295         Include xalloc.h.
93296         (read_utmp): Remove anachronistic cast of xmalloc.
93297
93298 2003-06-17  Paul Eggert  <eggert@twinsun.com>
93299
93300         Assume C89, so PARAMS isn't needed.
93301         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
93302         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
93303         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
93304         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
93305         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
93306         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
93307         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
93308         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
93309         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
93310         lib/xstrtod.h, lib/xstrtol.h: Likewise.
93311         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
93312         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
93313         no longer needed. Anyway, config.h should always be included before any
93314         other file.
93315
93316 2003-06-11  Simon Josefsson  <jas@extundo.com>
93317
93318         * modules/sysexits: New file.
93319         * MODULES.html.sh (func_all_modules): Add sysexits.
93320
93321 2003-06-11  Simon Josefsson  <jas@extundo.com>
93322
93323         * lib/sysexit_.h: New file.
93324
93325 2003-06-11  Derek Price  <derek@ximbiot.com>
93326
93327         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
93328         necessary.
93329
93330 2003-06-11  Bruno Haible  <bruno@clisp.org>
93331
93332         * m4/sysexits.m4: New file.
93333
93334 2003-06-10  Simon Josefsson  <jas@extundo.com>
93335
93336         * lib/argp.h: New file, from glibc.
93337         * lib/argp-ba.c: New file, from glibc.
93338         * lib/argp-eexst.c: New file, from glibc.
93339         * lib/argp-fmtstream.c: New file, from glibc.
93340         * lib/argp-fmtstream.h: New file, from glibc.
93341         * lib/argp-fs-xinl.c: New file, from glibc.
93342         * lib/argp-help.c: New file, from glibc.
93343         * lib/argp-namefrob.h: New file, from glibc.
93344         * lib/argp-parse.c: New file, from glibc.
93345         * lib/argp-pv.c: New file, from glibc.
93346         * lib/argp-pvh.c: New file, from glibc.
93347         * lib/argp-xinl.c: New file, from glibc.
93348
93349 2003-06-10  Simon Josefsson  <jas@extundo.com>
93350
93351         * modules/strchrnul: New file.
93352
93353 2003-06-10  Simon Josefsson  <jas@extundo.com>
93354
93355         * modules/argp: New file.
93356
93357 2003-06-10  Simon Josefsson  <jas@extundo.com>
93358
93359         * m4/strchrnul.m4: New file.
93360
93361 2003-06-10  Simon Josefsson  <jas@extundo.com>
93362
93363         * lib/strchrnul.h: New file.
93364         * lib/strchrnul.c: New file.
93365
93366 2003-06-10  Bruno Haible  <bruno@clisp.org>
93367
93368         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
93369
93370 2003-06-07  Karl Berry  <karl@gnu.org>
93371
93372         * config/config.{guess,sub}: update from prep.
93373
93374 2003-06-07  Jim Meyering  <jim@meyering.net>
93375
93376         * modules/strtod: Use $(...) notation, not @...@ for
93377         AC_REPLACE'd variables.
93378         * modules/localcharset: Likewise.
93379
93380 2003-06-07  Jim Meyering  <jim@meyering.net>
93381
93382         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
93383         in place of my name in the copyright comment.
93384         Remove definition and uses of __P.
93385
93386         From coreutils.
93387         * lib/stat.c: Don't declare xmalloc explicitly.
93388         Instead, include "xalloc.h".
93389         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
93390         xrealloc, and xcalloc return values.
93391         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
93392         Improve comment.
93393         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
93394
93395 2003-06-07  Bruno Haible  <bruno@clisp.org>
93396
93397         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
93398         avoid AC_CONFIG_LINKS.
93399         * modules/fnmatch (Makefile.am): Use explicit creation rule for
93400         fnmatch.h, to avoid AC_CONFIG_LINKS.
93401         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
93402
93403 2003-06-07  Bruno Haible  <bruno@clisp.org>
93404
93405         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
93406         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
93407         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93408         directory.
93409         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
93410         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93411         directory.
93412
93413 2003-06-06  Jim Meyering  <jim@meyering.net>
93414
93415         Merge from coreutils.
93416         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
93417         Consolidate declarations and initializations of *_base* locals.
93418
93419         Merge from coreutils.
93420         This avoids a core dump on systems without GNU putenv,
93421         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
93422         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
93423         (unsetenv): New static function, from GNU libc.
93424         (rpl_putenv): Use it.
93425
93426         * lib/modechange.c: Remove trailing blanks.
93427
93428         Merge from coreutils.
93429         * lib/fsusage.c: Remove declaration of statfs.
93430         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
93431
93432         * lib/posixtm.c: Include <stdbool.h> unconditionally.
93433
93434 2003-06-06  Jim Meyering  <jim@meyering.net>
93435
93436         * lib/stdbool_.h: Renamed from stdbool.h.in.
93437
93438 2003-06-06  Jim Meyering  <jim@meyering.net>
93439             Bruno Haible  <bruno@clisp.org>
93440
93441         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
93442         Adjust Makefile.am snippet not to redirect directly to target.
93443         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
93444
93445 2003-06-05  Paul Eggert  <eggert@twinsun.com>
93446
93447         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
93448         mismatch, look in future quarters as well as past.  This fixes a
93449         bug when processing fall-backwards gaps immediately after a long
93450         period of daylight-saving time.
93451
93452         * lib/mktime.c: Assume freestanding C89 or better.
93453         (HAVE_LIMITS_H): Remove.  Assume it's 1.
93454         (__P): Remove; not used.
93455         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
93456         (mktime, not_equal_tm, print_tm, check_result,
93457         main): Use prototypes.  Use const * where appropriate.
93458         (main): Fix typo in testing code that uncovered by above changes.
93459         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
93460
93461 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93462
93463         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
93464         locale.h, localeconv.  This merges changes from coreutils.
93465
93466         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
93467         It can be removed after the next Autoconf is released.
93468         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
93469         needed.
93470
93471 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93472
93473         * lib/mktime.c: Fix Debian bug 177940
93474         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
93475         (localtime_offset): Now long int, not time_t, because we want it
93476         to be guaranteed to be signed.  All uses changed.
93477         (__mktime_internal): If overflow would occur when adding offset,
93478         don't add it.
93479
93480         Merge 'human' changes from coreutils.  Rewrite to support
93481         locale-specific notations like thousands separators.
93482         * lib/human.c: Simplify authorship notice.
93483         Include human.h immediately after config.h.
93484         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
93485         <limits.h>: Do not include, since human.h does.
93486         (SIZE_MAX, UINTMAX_MAX): New macros.
93487         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
93488         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
93489         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
93490         (power_letter): Renamed from suffixes.
93491         (generate_suffix_backwards): Remove.
93492         (adjust_value): Now takes int style (because of human.h changes)
93493         and long double value (for greater precision on some platforms).
93494         (group_number): New function.
93495         (human_readable): Use it.  Use integer options, not enum.
93496         Put the options before the sizes in the arg list.
93497         Support all the new options.
93498         The old human_readable function has been removed;
93499         use inttostr.h instead.
93500         (human_readable, default_block_size, humblock):
93501         Use uintmax_t, not int, for block sizes.
93502         (human_readable_inexact, block_size_types): Remove.
93503         (block_size_opts): New constant.
93504         (human_options): Renamed from human_block_size, with new signature
93505         that allows block sizes up to UINTMAX_MAX.  All callers changed.
93506         * lib/human.h: Add copyright and authorship notice.
93507         Include <limits.h> and <stdbool.h> unconditionally.
93508         (PARAMS): Remove.  All uses removed.
93509         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
93510         (enum human_inexact_style): Remove tag; now a nameless enum.
93511         (human_floor, human_ceiling, human_round_to_even): Now have
93512         values 2, 0, 1 rather than -1, 1, 0.
93513         (human_group_digits, human_suppress_point_zero, human_autoscale,
93514         human_base_1024, human_SI, human_B): New constants.
93515         (human_readable_inexact, human_block_size): Remove.
93516         (human_readable): Size args are now uintmax_t, not int.
93517         (human_options): New decl.
93518
93519         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
93520         unnecessary now that we assume C89 or better.  This change
93521         imported from coreutils.
93522
93523         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93524         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
93525         in the 2003-05-30 sync from glibc.
93526
93527         .h files should stand alone, but we shouldn't include <sys/types.h>
93528         if we can get away with just <stddef.h>.
93529
93530         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
93531         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
93532         rather than <sys/types.h>, as we merely need size_t.
93533         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
93534         to get size_t.
93535         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
93536         Include <stdio.h>, to get FILE.
93537         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
93538         memcasecmp.h has included <stddef.h> and all we need is size_t.
93539         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
93540         our interface, instead of including <sys/types.h>
93541
93542 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93543
93544         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
93545         now, as glibc mktime is buggy on non-glibc systems.
93546
93547 2003-06-03  Karl Berry  <karl@gnu.org>
93548
93549         * config/config.sub: update from prep.
93550
93551 2003-06-02  Paul Eggert  <eggert@twinsun.com>
93552
93553         [from coreutils]
93554         Fix some minor time-related bugs with POSIX time arguments.
93555         Some valid time stamps were being rejected (notably -1, and
93556         time stamps before 1900 on 64-bit hosts).  And some invalid
93557         time stamps were being accepted, e.g. September 31.
93558
93559         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
93560         that we can return (time_t) -1 successfully.
93561         * lib/posixtm.c: Likewise.
93562         [HAVE_STDBOOL_H]: Include <stdbool.h>.
93563         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
93564         (t): Remove static var.
93565         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
93566         of static var.  All uses changed.
93567         (year): Do not reject years before 1900; they can occur with
93568         64-bit time_t.
93569         (posix_time_parse): Do not check for out-of-range components;
93570         that is now the caller's responsibility, since our checks were
93571         only approximations.
93572         (posixtime): Use mktime to check for out-of-range components,
93573         since it knows them exactly.
93574         If mktime returns (time_t) -1, check whether an error actually occurred
93575         by invoking localtime on -1.
93576         (main) [TEST_POSIXTIME]: Check for input data errors, and report
93577         posixtime failures better.
93578         Improve the test data (in comments only).
93579
93580 2003-06-02  Karl Berry  <karl@gnu.org>
93581
93582         * config/mkinstalldirs (version): new variable.
93583         (--version): new option.
93584         (usage): improve message.
93585
93586 2003-05-30  Karl Berry  <karl@gnu.org>
93587
93588         * lib/mktime.c: update from libc.
93589
93590 2003-05-30  Bruno Haible  <bruno@clisp.org>
93591
93592         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
93593         * config/config.rpath: Upgrade to gettext-0.12.1.
93594
93595 2003-05-30  Bruno Haible  <bruno@clisp.org>
93596
93597         * m4/gettext.m4: Upgrade to gettext-0.12.1.
93598         * m4/nls.m4: New file, from gettext-0.12.1.
93599         * m4/po.m4: New file, from gettext-0.12.1.
93600         * m4/progtest.m4: Upgrade to gettext-0.12.1.
93601
93602 2003-05-30  Bruno Haible  <bruno@clisp.org>
93603
93604         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
93605         * lib/localcharset.h: Likewise.
93606         * lib/localcharset.c: Likewise.
93607
93608 2003-05-29  Karl Berry  <karl@gnu.org>
93609
93610         * config/config.rpath: update from gettext.
93611
93612 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93613
93614         Assume the headers required for C89 freestanding compilers.
93615         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
93616         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
93617         * m4/human.m4 (gl_HUMAN): Likewise.
93618         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
93619         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
93620         * m4/userspec.m4 (gl_USERSPEC): Likewise.
93621         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
93622         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
93623         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
93624
93625 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93626
93627         Assume the headers required for C89 freestanding compilers.
93628         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
93629         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
93630         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
93631         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
93632         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
93633         define, since <limits.h> is guaranteed to do that.
93634         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
93635         * lib/exclude.c: Include <stdbool.h> unconditionally.
93636         * lib/tempname.c: Include <stddef.h> unconditionally.
93637         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
93638         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
93639         <stddef.h> does that.
93640         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
93641         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
93642         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
93643         needed.
93644         * lib/xstrtol.c: Likewise.
93645         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
93646         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
93647
93648         * lib/addext.c (addext): Use assignment rather than cast, to avoid
93649         warnings on some platforms.
93650
93651         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93652         arbitrarily.
93653
93654 2003-05-26  Jim Meyering  <jim@meyering.net>
93655
93656         Merge in a change from coreutils:
93657         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
93658         that is guaranteed to be `no'.  Use `no_such_member' to indicate
93659         that condition, rather than `-1' which is slightly misleading.
93660         Change the name of the cache variable to have the gl_ prefix.
93661         Prompted by a patch from Richard Dawe for DJGPP.
93662
93663 2003-05-24  Karl Berry  <karl@gnu.org>
93664
93665         * config/config.guess: update from prep.
93666
93667 2003-05-22  Karl Berry  <karl@gnu.org>
93668
93669         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
93670
93671 2003-05-20  Karl Berry  <karl@gnu.org>
93672
93673         * config/config.guess: update from prep.
93674
93675 2003-05-18  Karl Berry  <karl@gnu.org>
93676
93677         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
93678         might actually be set by the user.
93679
93680         * config/depcomp, install-sh, mdate-sh: update from automake.
93681
93682 2003-05-17  Bruno Haible  <bruno@clisp.org>
93683
93684         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
93685         invalid expansion for AC_EGREP_CPP.
93686         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
93687         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
93688         Suggested by Akim Demaille <akim@epita.fr> in
93689         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
93690
93691 2003-05-12  Jim Meyering  <jim@meyering.net>
93692
93693         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
93694         the space-padded-by-default conversion specifiers, %e, %k, %l.
93695
93696 2003-05-12  Bruno Haible  <bruno@clisp.org>
93697
93698         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
93699         the string is longer than 4 KB.
93700
93701 2003-05-11  Karl Berry  <karl@gnu.org>
93702
93703         * config/config.{guess,sub}: update from prep.
93704
93705 2003-05-09  Bruno Haible  <bruno@clisp.org>
93706
93707         * modules/error: Add m4/strerror_r.m4 to file list.
93708
93709 2003-05-03  Bruno Haible  <bruno@clisp.org>
93710
93711         Upgrade to Unicode-4.0.
93712         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
93713         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
93714         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
93715         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
93716         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
93717         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
93718         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
93719         Change width of U+E0100..U+E01EF from 1 to 0.
93720
93721 2003-04-25  Jim Meyering  <jim@meyering.net>
93722
93723         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
93724         of type size_t, not int.
93725
93726 2003-04-25  Bruno Haible  <bruno@clisp.org>
93727
93728         * lib/copy-file.c: Include <stddef.h>, for size_t.
93729
93730 2003-04-21  Paul Eggert  <eggert@twinsun.com>
93731
93732         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
93733         code which expansion is under static control.  Patch imported from
93734         Akim Demaille's patch to Bison; see
93735         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
93736
93737 2003-04-14  Bruno Haible  <bruno@clisp.org>
93738
93739         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
93740
93741 2003-04-11  Jim Meyering  <jim@meyering.net>
93742
93743         Merge changes from Coreutils.
93744
93745         2003-03-22  Jim Meyering  <jim@meyering.net>
93746
93747         * lib/strftime.c (widen): Cast alloca return value to proper type.
93748
93749         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
93750
93751         From GNU libc.
93752         * lib/strftime.c (my_strftime): Handle very large width
93753         specifications for numeric values correctly.  Improve checks for
93754         overflow.
93755
93756         2003-01-19  Jim Meyering  <jim@meyering.net>
93757
93758         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
93759         definitions.
93760         (nl_get_alt_digit) [! defined my_strftime]: Define.
93761         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
93762         _nl_get_alt_digit and _nl_get_walt_digit.
93763
93764         * lib/strftime.c (my_strftime): Merge in locale-related changes from
93765         libc. These changes have no effect outside of _LIBC.
93766
93767 2003-04-10  Bruno Haible  <bruno@clisp.org>
93768
93769         * modules/findprog: New file.
93770         * MODULES.html.sh (func_all_modules): Add it.
93771
93772 2003-04-10  Bruno Haible  <bruno@clisp.org>
93773
93774         * m4/findprog.m4: New file.
93775         * m4/eaccess.m4: New file.
93776
93777 2003-04-10  Bruno Haible  <bruno@clisp.org>
93778
93779         * lib/findprog.h: New file, from GNU gettext.
93780         * lib/findprog.c: New file, from GNU gettext.
93781
93782 2003-04-05  Jim Meyering  <jim@meyering.net>
93783
93784         Merge changes from Coreutils.
93785
93786         * lib/exclude.h (PARAMS): Remove definition and uses.
93787         * lib/exclude.c: Remove uses of `PARAMS'.
93788
93789         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
93790         Add test-cases for DOS filenames. Declare program_name.
93791         (main): Set up program_name.  Patch by Rich Dawe.
93792
93793         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
93794         error from mntctl.
93795         Use mntctl's return value to drive the entry-processing loop, since
93796         we can't rely on the value of the vmt_length member in the last
93797         entry.  On some systems doing so could result in exhausting
93798         virtual memory.  Based in part on a patch from Mike Jetzer.
93799
93800 2003-04-04  Bruno Haible  <bruno@clisp.org>
93801
93802         * modules/linebreak: New file.
93803         * MODULES.html.sh (func_all_modules): Add it.
93804
93805 2003-04-04  Bruno Haible  <bruno@clisp.org>
93806
93807         * m4/linebreak.m4: New file.
93808
93809 2003-04-04  Bruno Haible  <bruno@clisp.org>
93810
93811         * lib/linebreak.h: New file, from GNU gettext.
93812         * lib/linebreak.c: New file, from GNU gettext with slight
93813         modifications.
93814         * lib/lbrkprop.h: New file, from GNU gettext.
93815
93816 2003-04-03  Bruno Haible  <bruno@clisp.org>
93817
93818         * modules/utf8-ucs4: New file.
93819         * modules/utf16-ucs4: New file.
93820         * modules/ucs4-utf8: New file.
93821         * modules/ucs4-utf16: New file.
93822         * MODULES.html.sh (func_all_modules): Add them.
93823
93824 2003-04-03  Bruno Haible  <bruno@clisp.org>
93825
93826         * m4/utf-ucs4.m4: New file.
93827         * m4/ucs4-utf.m4: New file.
93828
93829 2003-04-03  Bruno Haible  <bruno@clisp.org>
93830
93831         * lib/utf8-ucs4.h: New file, from GNU gettext.
93832         * lib/utf16-ucs4.h: New file, from GNU gettext.
93833         * lib/ucs4-utf8.h: New file, from GNU gettext.
93834         * lib/ucs4-utf16.h: New file, from GNU gettext.
93835
93836 2003-04-02  Bruno Haible  <bruno@clisp.org>
93837
93838         * modules/binary-io: New file.
93839         * MODULES.html.sh (func_all_modules): Add it.
93840
93841 2003-04-02  Bruno Haible  <bruno@clisp.org>
93842
93843         * lib/binary-io.h: New file, from GNU gettext.
93844
93845 2003-04-01  Bruno Haible  <bruno@clisp.org>
93846
93847         * modules/pathname: New file.
93848         * MODULES.html.sh (func_all_modules): Add it.
93849
93850 2003-04-01  Bruno Haible  <bruno@clisp.org>
93851
93852         * lib/pathname.h: New file, from GNU gettext.
93853         * lib/concatpath.c: New file, from GNU gettext.
93854
93855 2003-03-30  Bruno Haible  <bruno@clisp.org>
93856
93857         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
93858
93859 2003-03-30  Bruno Haible  <bruno@clisp.org>
93860
93861         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
93862         function chown() doesn't exist.
93863
93864 2003-03-28  Bruno Haible  <bruno@clisp.org>
93865
93866         * modules/copy-file: New file.
93867         * MODULES.html.sh (func_all_modules): Add it.
93868
93869 2003-03-28  Bruno Haible  <bruno@clisp.org>
93870
93871         * m4/copy-file.m4: New file.
93872
93873 2003-03-28  Bruno Haible  <bruno@clisp.org>
93874
93875         * lib/copy-file.h: New file, from GNU gettext.
93876         * lib/copy-file.c: New file, from GNU gettext.
93877
93878 2003-03-18  Jim Meyering  <jim@meyering.net>
93879
93880         * lib/quote.c (quote_n): Fix typo in comment.
93881
93882 2003-03-18  Bruno Haible  <bruno@clisp.org>
93883
93884         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
93885         checking.
93886         * m4/onceonly_2_57.m4: Likewise.
93887
93888 2003-03-17  Bruno Haible  <bruno@clisp.org>
93889
93890         * m4/onceonly.m4: Require autoconf 2.54 or newer.
93891         (m4_quote): Remove macro.
93892         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
93893
93894 2003-03-14  Jim Meyering  <jim@meyering.net>
93895
93896         Merge changes from Coreutils.
93897         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
93898         to be const, in order to avoid warnings.
93899         (obstack_room): Likewise.
93900         (obstack_empty_p): Likewise.
93901
93902 2003-03-14  Bruno Haible  <bruno@clisp.org>
93903
93904         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
93905         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
93906
93907 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93908
93909         Merge changes from Bison.
93910         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
93911         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
93912         when compiling Bison 1.875's `bitset bset = obstack_alloc
93913         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
93914         * lib/hash.c: Include <stdbool.h> unconditionally.
93915
93916 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93917
93918         * m4/onceonly.m4 (m4_quote): New macro.
93919         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
93920         Quote AC_FOREACH variable-expansions properly.
93921
93922 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93923
93924         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
93925
93926 2003-03-09  Paul Eggert  <eggert@twinsun.com>
93927
93928         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
93929         Reported by Bruce Becker; see:
93930         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
93931
93932 2003-03-03  Paul Eggert  <eggert@twinsun.com>
93933             Bruno Haible  <bruno@clisp.org>
93934
93935         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
93936         Reported by John Hughes, see
93937         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
93938
93939 2003-02-20  Bruno Haible  <bruno@clisp.org>
93940
93941         * MODULES.html.sh (func_all_modules): Add poll.
93942
93943 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93944
93945         * modules/poll: New file.
93946
93947 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93948
93949         * lib/poll_.h: New file.
93950         * lib/poll.c: New file.
93951
93952 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93953
93954         * m4/poll.m4: New file.
93955
93956 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93957
93958         * modules/mathl: New file.
93959
93960 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93961
93962         * lib/mathl.h: New file.
93963         * lib/acosl.c: New file.
93964         * lib/asinl.c: New file.
93965         * lib/atanl.c: New file.
93966         * lib/ceill.c: New file.
93967         * lib/cosl.c: New file.
93968         * lib/expl.c: New file.
93969         * lib/floorl.c: New file.
93970         * lib/frexpl.c: New file.
93971         * lib/ldexpl.c: New file.
93972         * lib/logl.c: New file.
93973         * lib/sincosl.c: New file.
93974         * lib/sinl.c: New file.
93975         * lib/sqrtl.c: New file.
93976         * lib/tanl.c: New file.
93977         * lib/trigl.c: New file.
93978         * lib/trigl.h: New file.
93979
93980 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93981
93982         * m4/mathl.m4: New file.
93983
93984 2003-02-18  Bruno Haible  <bruno@clisp.org>
93985
93986         * MODULES.html.sh (func_all_modules): Add mathl.
93987
93988 2003-02-17  Bruno Haible  <bruno@clisp.org>
93989
93990         * modules/mkdtemp: New module.
93991         * MODULES.html.sh (func_all_modules): Add it.
93992
93993 2003-02-17  Bruno Haible  <bruno@clisp.org>
93994
93995         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
93996
93997 2003-02-17  Bruno Haible  <bruno@clisp.org>
93998
93999         * lib/mkdtemp.h: New file, from GNU gettext.
94000         * lib/mkdtemp.c: New file, from GNU gettext.
94001
94002 2003-02-02  Jim Meyering  <jim@meyering.net>
94003
94004         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
94005         e.g. glibc-2.2.93.
94006
94007 2003-01-31  Bruno Haible  <bruno@clisp.org>
94008
94009         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
94010         'rpl_rename'.
94011         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
94012         'rpl_strnlen'.
94013         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
94014         'rpl_strtod'.
94015         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
94016         'rpl_utime'.
94017
94018 2003-01-31  Bruno Haible  <bruno@clisp.org>
94019
94020         * lib/rename.c: #undef rename before defining rpl_rename.
94021         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
94022
94023 2003-01-30  Bruno Haible  <bruno@clisp.org>
94024
94025         * modules/vasnprintf, modules/vasprintf: New modules.
94026         * MODULES.html.sh (func_all_modules): Add them.
94027
94028 2003-01-30  Bruno Haible  <bruno@clisp.org>
94029
94030         * m4/signed.m4: New file, from GNU gettext.
94031         * m4/longdouble.m4: New file, from GNU gettext.
94032         * m4/wchar_t.m4: New file, from GNU gettext.
94033         * m4/wint_t.m4: New file, from GNU gettext.
94034         * m4/vasnprintf.m4: New file.
94035         * m4/vasprintf.m4: New file.
94036
94037 2003-01-30  Bruno Haible  <bruno@clisp.org>
94038
94039         * lib/printf-args.h: New file, from GNU gettext.
94040         * lib/printf-args.c: New file, from GNU gettext.
94041         * lib/printf-parse.h: New file, from GNU gettext.
94042         * lib/printf-parse.c: New file, from GNU gettext.
94043         * lib/vasnprintf.h: New file, from GNU gettext.
94044         * lib/vasnprintf.c: New file, from GNU gettext.
94045         * lib/asnprintf.c: New file, from GNU gettext.
94046         * lib/vasprintf.h: New file, from GNU gettext with modifications.
94047         * lib/vasprintf.c: New file, from GNU gettext.
94048         * lib/asprintf.c: New file, from GNU gettext.
94049
94050 2003-01-29  Bruno Haible  <bruno@clisp.org>
94051
94052         * modules/stpncpy: New module.
94053         * MODULES.html.sh (func_all_modules): Add it.
94054
94055 2003-01-29  Bruno Haible  <bruno@clisp.org>
94056
94057         * m4/stpncpy.m4: New file.
94058
94059 2003-01-29  Bruno Haible  <bruno@clisp.org>
94060
94061         * lib/stpncpy.h: New file, from GNU gettext with modifications.
94062         * lib/stpncpy.c: New file, from GNU gettext with modifications.
94063
94064 2003-01-28  Bruno Haible  <bruno@clisp.org>
94065
94066         * modules/c-ctype: New module.
94067         * MODULES.html.sh (func_all_modules): Add it.
94068
94069 2003-01-28  Bruno Haible  <bruno@clisp.org>
94070
94071         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
94072         Paul Eggert.
94073         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
94074         Paul Eggert.
94075
94076 2003-01-27  Bruno Haible  <bruno@clisp.org>
94077
94078         * modules/xsetenv: New module.
94079         * MODULES.html.sh (func_all_modules): Add it.
94080
94081 2003-01-27  Bruno Haible  <bruno@clisp.org>
94082
94083         * lib/xsetenv.h: New file, from GNU gettext.
94084         * lib/xsetenv.c: New file, from GNU gettext.
94085
94086 2003-01-23  Jim Meyering  <jim@meyering.net>
94087
94088         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
94089         from working on systems without dirfd (at least Irix and OSF1/Tru64).
94090
94091 2003-01-23  Bruno Haible  <bruno@clisp.org>
94092
94093         * modules/minmax: New module.
94094         * MODULES.html.sh (func_all_modules): Add it.
94095
94096 2003-01-23  Bruno Haible  <bruno@clisp.org>
94097
94098         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
94099         Eggert.
94100
94101 2003-01-22  Bruno Haible  <bruno@clisp.org>
94102
94103         * modules/exit: New module.
94104         * MODULES.html.sh (func_all_modules): Add it.
94105
94106 2003-01-22  Bruno Haible  <bruno@clisp.org>
94107
94108         * lib/exit.h: New file, from GNU gettext.
94109
94110 2003-01-19  Bruno Haible  <bruno@clisp.org>
94111
94112         * gnulib-tool: Recognize option --extract-maintainer.
94113         (func_get_maintainer): New function.
94114         * modules/*: Add Maintainer entry.
94115
94116 2003-01-16  Jim Meyering  <jim@meyering.net>
94117
94118         * m4/regex.m4: The `regex' struct is both input and output.
94119         Initialize it before each use.  Patch by Tim Waugh.
94120
94121 2003-01-16  Bruno Haible  <bruno@clisp.org>
94122
94123         * MODULES.html.sh: Add a table of contents. Add the module name as
94124         leftmost column. Add hyperlinks.
94125
94126 2003-01-15  Bruno Haible  <bruno@clisp.org>
94127
94128         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
94129
94130 2003-01-15  Bruno Haible  <bruno@clisp.org>
94131
94132         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
94133         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
94134         suffix.
94135
94136 2003-01-15  Bruno Haible  <bruno@clisp.org>
94137
94138         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
94139
94140 2003-01-15  Bruno Haible  <bruno@clisp.org>
94141
94142         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
94143         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
94144
94145 2003-01-14  Jim Meyering  <jim@meyering.net>
94146
94147         * lib/same.c (same_name): Tweak a comment.
94148
94149 2003-01-14  Bruno Haible  <bruno@clisp.org>
94150
94151         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
94152         when a string comparison is sufficient.
94153
94154 2003-01-14  Bruno Haible  <bruno@clisp.org>
94155
94156         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
94157         'unsigned int'.
94158
94159 2003-01-14  Bruno Haible  <bruno@clisp.org>
94160
94161         * lib/hash-pjw.c: Add comment about low quality of this function.
94162
94163 2003-01-13  Bruno Haible  <bruno@clisp.org>
94164
94165         * modules/stpcpy: Distribute lib/stpcpy.h.
94166         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
94167
94168 2003-01-13  Bruno Haible  <bruno@clisp.org>
94169
94170         * modules/*: Add a description.
94171         * modules/strpbrk: Fix Makefile.am snippet.
94172         * modules/strtoimax: Fix dependencies.
94173         * modules/strtoumax: Likewise.
94174
94175 2003-01-13  Bruno Haible  <bruno@clisp.org>
94176
94177         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
94178         * modules/alloca (Makefile.am): All object files depend on alloca.h.
94179         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
94180
94181 2003-01-13  Bruno Haible  <bruno@clisp.org>
94182
94183         * gnulib-tool (func_create_testdir): Store config/* files in the main
94184         directory.
94185         * config.rpath: Move to ...
94186         * config/config.rpath: ... here.
94187         * modules/gettext: Contains config/config.rpath, not config.rpath.
94188         * modules/iconv: Likewise.
94189
94190 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94191
94192         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94193         to avoid collisions with libcurses and libreadline.
94194
94195         * m4/getstr.m4: Remove.
94196         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
94197
94198 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94199
94200         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94201         to avoid collisions with libcurses and libreadline.
94202
94203         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
94204         * lib/getstr.h, getstr.c: Remove.
94205         * lib/getline.c: Include "getline.h", to check interface.
94206         Move body of old getstr.c here: this defines MIN_CHUNK and
94207         declares getdelim2, which is renamed from getstr.
94208         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
94209
94210         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
94211         All uses changed.
94212         * lib/linebuffer.h: Likewise.
94213         (readline): Remove backward-compatibility macro.
94214
94215 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94216
94217         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94218         to avoid collisions with libcurses and libreadline.
94219         * getstr: Remove.
94220         * MODULES.html.sh: Remove getstr.
94221         * modules/getline: Depend on unlocked-io, not getstr.
94222
94223 2003-01-12  Jim Meyering  <jim@meyering.net>
94224
94225         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
94226
94227 2003-01-10  Bruno Haible  <bruno@clisp.org>
94228
94229         * modules/alloca: Change Makefile.am requirements. Simplify Include
94230         requirements. Add lib/alloca_.h to file list.
94231
94232 2003-01-10  Bruno Haible  <bruno@clisp.org>
94233
94234         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
94235
94236 2003-01-10  Bruno Haible  <bruno@clisp.org>
94237
94238         * lib/alloca_.h: New file.
94239         * lib/getdate.y: Unconditionally include alloca.h.
94240         * lib/makepath.c: Likewise.
94241         * lib/setenv.c: Likewise.
94242         * lib/userspec.c: Likewise.
94243
94244 2003-01-09  Karl Berry  <karl@gnu.org>
94245
94246         * MODULES.html.sh: include `dirname $0` in PATH, to find
94247         gnulib-tool.
94248
94249 2003-01-09  Bruno Haible  <bruno@clisp.org>
94250
94251         * modules/stdbool: Change configure.ac, Makefile.am requirements.
94252         Simplify Include requirements. Add lib/stdbool.h.in to file list.
94253
94254 2003-01-09  Bruno Haible  <bruno@clisp.org>
94255
94256         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
94257
94258 2003-01-09  Bruno Haible  <bruno@clisp.org>
94259
94260         * lib/stdbool.h.in: New file.
94261
94262 2003-01-09  Bruno Haible  <bruno@clisp.org>
94263
94264         * gnulib-tool (func_all_modules): Ignore files ending in ~.
94265         * MODULES.html.sh: Likewise.
94266
94267 2003-01-08  Jim Meyering  <jim@meyering.net>
94268
94269         * lib/full-write.c: Undefine and define-away `const' after inclusion
94270         of errno.h, not before.  Suggestion from Bruno Haible.
94271
94272 2003-01-08  Bruno Haible  <bruno@clisp.org>
94273
94274         * modules/full-read: Depend on full-write.
94275
94276 2003-01-08  Bruno Haible  <bruno@clisp.org>
94277
94278         * lib/safe-read.c: Include specification header first, to ensure its
94279         selfcontainedness.
94280         * lib/full-write.c: Likewise.
94281
94282 2003-01-07  Jim Meyering  <jim@meyering.net>
94283
94284         * lib/full-write.c: Rework so that it may serve to define full_read,
94285         too.
94286         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
94287
94288 2003-01-07  Bruno Haible  <bruno@clisp.org>
94289
94290         * lib/strtoimax.c: Include <stdint.h> as an alternative to
94291         <inttypes.h>.
94292         * lib/xstrtol.h: Likewise.
94293         * lib/xstrtoimax.c: Likewise.
94294         * lib/xstrtoumax.c: Likewise.
94295         * lib/human.h: Likewise.
94296
94297         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
94298         on systems that have <inttypes.h> but not <stdint.h>.
94299
94300 2003-01-07  Bruno Haible  <bruno@clisp.org>
94301
94302         * MODULES.html.sh: Add copyright notice.
94303         (missed_files): Omit CVS directory entries.
94304         (func_module): Make it work with sed-3.02.
94305         * MODULES.txt: Remove file.
94306
94307 2003-01-06  Jim Meyering  <jim@meyering.net>
94308
94309         * lib/version-etc.c: Update year in translatable copyright string.
94310
94311 2003-01-03  Karl Berry  <karl@gnu.org>
94312
94313         * config/config.{guess,sub}: update from prep.
94314
94315 2003-01-02  Karl Berry  <karl@gnu.org>
94316
94317         * doc/COPYING.DOC: belatedly updated to 1.2.
94318
94319 2003-01-01  Karl Berry  <karl@gnu.org>
94320
94321         * gnulib-tool (func_verify_module): report module name $module in
94322         error message, not $1.
94323         * gnulib-tool (create-testdir): don't complain if destdir couldn't
94324         be created, only if it doesn't exist.
94325         * gnulib-tool (last_checkin_date): don't expand the $Date here.
94326
94327 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94328
94329         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
94330
94331 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94332
94333         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
94334         memcmp if strcoll doesn't work.
94335
94336 2002-12-31  Bruno Haible  <bruno@clisp.org>
94337
94338         * lib/utime.c (utime_null): No need to call ftruncate if the file was
94339         nonempty.
94340
94341 2002-12-31  Bruno Haible  <bruno@clisp.org>
94342
94343         * lib/memcoll.c (STRCOLL): New macro.
94344         (memcoll): Use it.
94345
94346 2002-12-31  Bruno Haible  <bruno@clisp.org>
94347
94348         * lib/localcharset.h: New file.
94349         * lib/localcharset.c: Include it.
94350         * lib/unicodeio.c: Likewise.
94351
94352 2002-12-31  Bruno Haible  <bruno@clisp.org>
94353
94354         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
94355         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
94356
94357 2002-12-31  Bruno Haible  <bruno@clisp.org>
94358
94359         * lib/getline.h: Include <stddef.h>, for size_t.
94360
94361         * lib/unicodeio.h: Include <stddef.h>, for size_t.
94362         * lib/unicodeio.c: Don't include <stddef.h>.
94363
94364 2002-12-31  Bruno Haible  <bruno@clisp.org>
94365
94366         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
94367         HAVE_TM_ZONE.
94368
94369 2002-12-24  Karl Berry  <karl@gnu.org>
94370
94371         * config/config.guess: update from prep.
94372
94373 2002-12-24  Bruno Haible  <bruno@clisp.org>
94374
94375         General infrasructure.
94376         * m4/README: Rewritten.
94377         * m4/onceonly.m4: New file.
94378         * m4/onceonly_2_57.m4: New file.
94379
94380         Module atexit.
94381         * m4/atexit.m4: New file.
94382
94383         Module strtod.
94384         * m4/strtod.m4: New file.
94385
94386         Module strtol.
94387         * m4/strtol.m4: New file.
94388
94389         Module strtoul.
94390         * m4/strtoul.m4: New file.
94391
94392         Module memchr.
94393         * m4/memchr.m4: New file.
94394
94395         Module memcmp.
94396         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
94397         (jm_FUNC_MEMCMP): Invoke it.
94398
94399         Module memcpy.
94400         * m4/memcpy.m4: New file.
94401
94402         Module memmove.
94403         * m4/memmove.m4: New file.
94404
94405         Module memset.
94406         * m4/memset.m4: New file.
94407
94408         Module strcspn.
94409         * m4/strcspn.m4: New file.
94410
94411         Module strpbrk.
94412         * m4/strpbrk.m4: New file.
94413
94414         Module strstr.
94415         * m4/strstr.m4: New file.
94416
94417         Module strerror.
94418         * m4/strerror.m4: New file.
94419
94420         Module mktime.
94421         * m4/mktime.m4: Renamed from jm-mktime.m4.
94422         (gl_PREREQ_MKTIME): New macro.
94423         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
94424
94425         Module malloc.
94426         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
94427         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
94428         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
94429
94430         Module realloc.
94431         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
94432         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
94433         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
94434
94435         Module strftime.
94436         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
94437         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
94438         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
94439         gl_TM_GMTOFF.
94440         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
94441
94442         Module xalloc.
94443         * m4/xalloc.m4: New file.
94444
94445         Module alloca.
94446         * m4/alloca.m4: New file.
94447
94448         Module putenv.
94449         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
94450         (jm_FUNC_PUTENV): Invoke it.
94451
94452         Module setenv.
94453         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
94454         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
94455         when invoked twice.
94456         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
94457         gt_FUNC_SETENV.
94458
94459         Module memrchr.
94460         * m4/memrchr.m4: New file.
94461
94462         Module stpcpy.
94463         * m4/stpcpy.m4: New file.
94464
94465         Module strcase.
94466         * m4/strcase.m4: New file.
94467
94468         Module strdup.
94469         * m4/strdup.m4: New file.
94470
94471         Module strnlen.
94472         * m4/strnlen.m4: New file.
94473
94474         Module strndup.
94475         * m4/strndup.m4: New file.
94476
94477         Module xstrtod.
94478         * m4/xstrtod.m4: New file.
94479
94480         Module xstrtol.
94481         * m4/xstrtol.m4: New file.
94482
94483         Module getdate.
94484         * m4/getdate.m4: New file.
94485
94486         Module unlocked-io.
94487         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
94488         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
94489         * m4/jm-glibc-io.m4n: Remove file.
94490
94491         Module long-options.
94492         * m4/long-options.m4: New file.
94493
94494         Module md5.
94495         * m4/md5.m4: New file.
94496
94497         Module sha.
94498         * m4/sha.m4: New file.
94499
94500         Module getstr.
94501         * m4/getstr.m4: New file.
94502
94503         Module getline.
94504         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
94505         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
94506         <sys/types.h>, for size_t. Use the function name gnu_getline, not
94507         simply getline. Infoke gl_PREREQ_GETLINE.
94508
94509         Module obstack.
94510         * m4/obstack.m4: New file.
94511
94512         Module hash.
94513         * m4/hash.m4: New file.
94514
94515         Module readtokens.
94516         * m4/readtokens.m4: New file.
94517
94518         Module strverscmp.
94519         * m4/strverscmp.m4: New file.
94520
94521         Module stdbool.
94522         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
94523         OSF/1.
94524
94525         Module strtoll.
94526         * m4/strtoll.m4: New file.
94527
94528         Module strtoull.
94529         * m4/strtoull.m4: New file.
94530
94531         Module strtoimax.
94532         * m4/strtoimax.m4: New file.
94533
94534         Module strtoumax.
94535         * m4/strtoumax.m4: New file.
94536
94537         Module xstrtoimax.
94538         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
94539         jm_AC_PREREQ_XSTRTOIMAX.
94540         Moved the strtol prerequisites to strtol.m4.
94541         Moved the strtoll prerequisites to strtoll.m4.
94542         Moved the strtoimax prerequisites to strtoimax.m4.
94543
94544         Module xstrtoumax.
94545         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
94546         jm_AC_PREREQ_XSTRTOUMAX.
94547         Moved the strtoul prerequisites to strtoul.m4.
94548         Moved the strtoull prerequisites to strtoull.m4.
94549         Moved the strtoumax prerequisites to strtoumax.m4.
94550
94551         Module chown.
94552         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
94553         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
94554
94555         Module dup2.
94556         * m4/dup2.m4: New file.
94557
94558         Module ftruncate.
94559         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
94560         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
94561
94562         Module getgroups.
94563         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
94564         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
94565
94566         Module gettimeofday.
94567         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
94568         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
94569         gl_PREREQ_GETTIMEOFDAY.
94570
94571         Module mkdir.
94572         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
94573         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
94574
94575         Module mkstemp.
94576         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
94577         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
94578         jm_AC_TYPE_UINTMAX_T.
94579         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
94580
94581         Module stat.
94582         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
94583         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
94584
94585         Module lstat.
94586         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
94587         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
94588
94589         Module timespec.
94590         * m4/timespec.m4 (gl_TIMESPEC): New macro.
94591         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
94592         * m4/st_mtim.m4: Indentation.
94593
94594         Module nanosleep.
94595         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
94596         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
94597         gl_PREREQ_NANOSLEEP.
94598
94599         Module regex.
94600         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
94601         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
94602         (gl_REGEX): New macro.
94603
94604         Module rename.
94605         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
94606         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
94607
94608         Module rmdir.
94609         * m4/rmdir.m4: New file.
94610
94611         Module utime.
94612         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
94613         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
94614         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
94615
94616         Module dirname.
94617         * m4/dirname.m4: New file.
94618
94619         Module getopt.
94620         * m4/getopt.m4: New file.
94621
94622         Module unistd-safer.
94623         * m4/unistd-safer.m4: New file.
94624
94625         Module fnmatch.
94626         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
94627         declaration.
94628         (gl_PREREQ_FNMATCH_EXTRA): New macro.
94629         (gl_FUNC_FNMATCH_POSIX): New macro.
94630         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
94631         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
94632         simply fnmatch.
94633
94634         Module exclude.
94635         * m4/exclude.m4: New file.
94636
94637         Module human.
94638         * m4/human.m4: New file.
94639
94640         Module acl.
94641         * m4/acl.m4: Nop.
94642
94643         Module backupfile.
94644         * m4/backupfile.m4: New file.
94645         * m4/d-ino.m4: Indentation.
94646
94647         Module fsusage.
94648         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
94649         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
94650         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
94651
94652         Module dirfd.
94653         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
94654         requirements.
94655
94656         Module euidaccess.
94657         * m4/euidaccess.m4: New file.
94658
94659         Module file-type.
94660         * m4/file-type.m4: New file.
94661
94662         Module fileblocks.
94663         * m4/fileblocks.m4: New file.
94664
94665         Module filemode.
94666         * m4/filemode.m4: New file.
94667
94668         Module isdir.
94669         * m4/isdir.m4: New file.
94670
94671         Module lchown.
94672         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
94673         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
94674
94675         Module makepath.
94676         * m4/makepath.m4: New file.
94677
94678         Module modechange.
94679         * m4/modechange.m4: New file.
94680
94681         Module mountlist.
94682         * m4/mountlist.m4: New file.
94683         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
94684         Indentation.
94685
94686         Module path-concat.
94687         * m4/path-concat.m4: New file.
94688
94689         Module pathmax.
94690         * m4/pathmax.m4: New file.
94691
94692         Module same.
94693         * m4/same.m4: New file.
94694
94695         Module save-cwd.
94696         * m4/save-cwd.m4: New file.
94697
94698         Module savedir.
94699         * m4/savedir.m4: New file.
94700
94701         Module xgetcwd.
94702         * m4/xgetcwd.m4: New file.
94703         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
94704
94705         Module xreadlink.
94706         * m4/xreadlink.m4: New file.
94707
94708         Module safe-read.
94709         * m4/safe-read.m4: New file.
94710
94711         Module safe-write.
94712         * m4/safe-write.m4: New file.
94713
94714         Module closeout.
94715         * m4/closeout.m4: New file.
94716
94717         Module stdio-safer.
94718         * m4/stdio-safer.m4: New file.
94719
94720         Module getpass.
94721         * m4/getpass.m4: New file.
94722
94723         Module getugroups.
94724         * m4/getugroups.m4: New file.
94725
94726         Module group-member.
94727         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
94728         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
94729
94730         Module idcache.
94731         * m4/idcache.m4: New file.
94732
94733         Module userspec.
94734         * m4/userspec.m4: New file.
94735
94736         Module gettime.
94737         * m4/clock_time.m4: New file.
94738         * m4/gettime.m4: New file.
94739
94740         Module settime.
94741         * m4/settime.m4: New file.
94742
94743         Module posixtm.
94744         * m4/posixtm.m4: New file.
94745
94746         Module gethostname.
94747         * m4/gethostname.m4: New file.
94748
94749         Module canon-host.
94750         * m4/canon-host.m4: New file.
94751
94752         Module gettext.
94753         * m4/codeset.m4: New file, from gettext-0.11.5.
94754         * m4/gettext.m4: New file, from gettext-0.11.5.
94755         * m4/glibc21.m4: New file, from gettext-0.11.5.
94756         * m4/iconv.m4: New file, from gettext-0.11.5.
94757         * m4/intdiv0.m4: New file, from gettext-0.11.5.
94758         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
94759         * m4/inttypes.m4: New file, from gettext-0.11.5.
94760         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
94761         * m4/isc-posix.m4: New file, from gettext-0.11.5.
94762         * m4/lcmessage.m4: New file, from gettext-0.11.5.
94763         * m4/lib-ld.m4: New file, from gettext-0.11.5.
94764         * m4/lib-link.m4: New file, from gettext-0.11.5.
94765         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
94766         * m4/progtest.m4: New file, from gettext-0.11.5.
94767         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
94768         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
94769         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
94770
94771         Module localcharset.
94772         * m4/localcharset.m4: New file.
94773
94774         Module hard-locale.
94775         * m4/hard-locale.m4: New file.
94776
94777         Module mbswidth.
94778         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
94779         onceonly macros.
94780         * m4/mbrtowc.m4: Add comment.
94781
94782         Module memcasecmp.
94783         * m4/memcasecmp.m4: New file.
94784
94785         Module memcoll.
94786         * m4/memcoll.m4: New file.
94787
94788         Module unicodeio.
94789         * m4/unicodeio.m4: New file.
94790
94791         Module rpmatch.
94792         * m4/rpmatch.m4: New file.
94793
94794         Module yesno.
94795         * m4/yesno.m4: New file.
94796
94797         Module exitfail.
94798         * m4/exitfail.m4: New file.
94799
94800         Module c-stack.
94801         * m4/c-stack.m4 (gl_C_STACK): New macro.
94802         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
94803
94804         Module error.
94805         * m4/error.m4 (gl_ERROR): New macro.
94806         (jm_PREREQ_ERROR): Use onceonly macros.
94807
94808         Module fatal.
94809         * m4/fatal.m4: New file.
94810
94811         Module getloadavg.
94812         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
94813         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
94814
94815         Module getpagesize.
94816         * m4/getpagesize.m4: New file.
94817
94818         Module getusershell.
94819         * m4/getusershell.m4: New file.
94820
94821         Module physmem.
94822         * m4/physmem.m4: New file.
94823
94824         Module posixver.
94825         * m4/posixver.m4: New file.
94826
94827         Module quotearg.
94828         * m4/quotearg.m4: New file.
94829
94830         Module quote.
94831         * m4/quote.m4: New file.
94832
94833         Module readutmp.
94834         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
94835
94836         Module sig2str.
94837         * m4/sig2str.m4: New file.
94838
94839         Other.
94840         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
94841         ulonglong.m4.
94842         * m4/intmax_t.m4: New file.
94843         * m4/d-type.m4: Indentation.
94844         * m4/jm-macros.m4: Update.
94845         * m4/prereq.m4 (jm_PREREQ): Update.
94846         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
94847         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
94848         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
94849         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
94850         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
94851         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
94852         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
94853         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
94854         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
94855         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
94856         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
94857         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
94858         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
94859         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
94860         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
94861         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
94862         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
94863         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
94864         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
94865
94866 2002-12-24  Bruno Haible  <bruno@clisp.org>
94867
94868         * MODULES.txt: Update according to m4/ changes.
94869
94870         Module gettext.
94871         * config.rpath: New file, from gettext-0.11.5.
94872
94873         * modules/*: New module descriptions.
94874         * gnulib-tool: New file.
94875         * MODULES.html.sh: New file.
94876
94877 2002-12-21  Karl Berry  <karl@gnu.org>
94878
94879         * doc/fdl.texi: update to version 1.2.
94880
94881 2002-12-19  Karl Berry  <karl@gnu.org>
94882
94883         * config/config.guess: update from prep.
94884
94885 2002-12-18  Bruno Haible  <bruno@clisp.org>
94886
94887         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
94888         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
94889
94890 2002-12-17  Bruno Haible  <bruno@clisp.org>
94891
94892         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
94893         stdlib.h, string.h.
94894
94895 2002-12-17  Bruno Haible  <bruno@clisp.org>
94896
94897         * lib/canon-host.c (strdup): Remove unused declaration.
94898
94899         * lib/fsusage.c: Include full_read.h.
94900         (get_fs_usage): Use full_read instead of safe_read.
94901
94902         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
94903
94904 2002-12-12  Karl Berry  <karl@gnu.org>
94905
94906         * config/config.guess: update from prep.
94907
94908 2002-12-11  Bruno Haible  <bruno@clisp.org>
94909
94910         * m4/setenv.m4: New file, from gettext-0.11.5.
94911
94912 2002-12-11  Bruno Haible  <bruno@clisp.org>
94913
94914         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
94915         not unsetenv().
94916         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
94917         modifications:
94918
94919         2002-12-11  Bruno Haible  <bruno@clisp.org>
94920
94921                 * setenv.c (alloca): Fall back to malloc.
94922                 (freea): New macro.
94923                 (setenv): Use freea() to free memory allocated with alloca().
94924
94925         2002-11-13  Bruno Haible  <bruno@clisp.org>
94926
94927                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
94928                 function declarations.
94929                 * unsetenv.c (unsetenv): Likewise.
94930
94931         2002-03-04  Bruno Haible  <bruno@clisp.org>
94932
94933                 Portability to AIX 4.3.3.
94934                 * unsetenv.c: New file, extracted from setenv.c.
94935                 * setenv.c: Move the unsetenv() function to unsetenv.c.
94936
94937         2001-12-20  Bruno Haible  <bruno@clisp.org>
94938
94939                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
94940                 use malloc instead. For SunOS 4.
94941
94942         2001-12-11  Bruno Haible  <bruno@clisp.org>
94943
94944                 * setenv.c: Declare alloca.
94945                 (compar_fn_t): New typedef.
94946                 (KNOWN_VALUE, STORE_VALUE): Use it.
94947
94948         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
94949         setenv.h.
94950
94951 2002-12-10  Paul Eggert  <eggert@twinsun.com>
94952
94953         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
94954         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
94955         Choose values that are less likely to collide with system fnmatch
94956         options.
94957         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
94958         defined (e.g., a pure POSIX system).
94959         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
94960         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
94961
94962 2002-12-06  Paul Eggert  <eggert@twinsun.com>
94963
94964         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
94965         a pain in practice to deal with generated m4 files.  This change
94966         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
94967
94968         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
94969         and jm-glibc-io.m4, as they are no longer a special case.
94970         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
94971         kludge and the auto-generation stuff.  Check only whether the
94972         functions are declared, not whether they exist, since older hosts
94973         that don't declare the functions can't use the optimization anyway.
94974
94975 2002-12-06  Jim Meyering  <jim@meyering.net>
94976
94977         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
94978
94979         Merge in changes from libc's misc/error.c, in preparation
94980         for the merge of gnulib's changes back into libc.
94981
94982         * lib/error.c (_): Define only if not already defined.
94983         Move definition to follow all #include directives.
94984         Include unlocked-io.h only if !_LIBC.
94985         [_LIBC]: Include <libio/libioP.h>.
94986         [USE_IN_LIBIO]: Include <libio/iolibio.h>
94987         (fflush): Tweak definition to use INTUSE.
94988         (putc): Define.
94989
94990 2002-12-05  Paul Eggert  <eggert@twinsun.com>
94991
94992         * lib/alloca.c [defined emacs]: Include "lisp.h".
94993         (xalloc_die) [defined emacs]: New macro.
94994         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
94995         [! defined emacs]: Include <xalloc.h>.
94996         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
94997         (pointer): Typedef to POINTER_TYPE *.
94998         (malloc): Remove decl; we now always use xmalloc.
94999         (alloca): Use old-style definition, since Emacs needs this.
95000         Check for arithmetic overflow when computing combined size.
95001
95002 2002-12-04  Paul Eggert  <eggert@twinsun.com>
95003
95004         Do not generate unlocked-io.h automatically, since it's easier to
95005         maintain it by hand.
95006
95007         * lib/unlocked-io.h: New file, from GNU diffutils,
95008         but with proper copyright notice and attribution.
95009         * lib/gen-uio: Remove.
95010         * lib/Makefile.am: Add copyright notice.
95011         (libfetish_a_SOURCES): Add unlocked-io.h.
95012         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
95013         (DISTCLEANFILES, io_functions): Remove macros.
95014         (EXTRA_DIST): Remove gen_uio.
95015         (unlocked-io.h): Remove rule.
95016
95017 2002-12-04  Jim Meyering  <jim@meyering.net>
95018
95019         Reflect the fact that stat.c and lstat.c are no longer generated.
95020         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
95021         (DISTCLEANFILES): Likewise.
95022         (EXTRA_DIST): Likewise.
95023         (all_local): Don't depend on stat.c or lstat.c.
95024         (stat.c, lstat.c): Remove rules.
95025         (EXTRA_DIST): Remove xstat.in.
95026
95027         * lib/xstat.in: Remove file.  Contents moved into stat.c.
95028         * lib/stat.c: New file.  Contents mostly from xstat.in.
95029         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
95030         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
95031
95032         * lib/safe-read.c: Rework so that it may serve to define safe_write,
95033         too.
95034         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
95035
95036 2002-12-03  Jim Meyering  <jim@meyering.net>
95037
95038         * lib/safe-read.c, safe-write.c: Change variable names and comments,
95039         but not semantics, to minimize the differences between these two files.
95040         (safe_read): Change comment to mention SAFE_READ_ERROR.
95041
95042         * lib/safe-read.c (IS_EINTR): Define.
95043         (safe_read): Use IS_EINTR in place of in-function cpp directives.
95044
95045 2002-12-02  Jim Meyering  <jim@meyering.net>
95046
95047         * lib/safe-read.c (EINTR): Define.
95048         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95049         (INT_MAX): Provide fallback.
95050         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
95051
95052         * lib/safe-read.h (SAFE_READ_ERROR): Define.
95053
95054 2002-12-02  Bruno Haible  <bruno@clisp.org>
95055
95056         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
95057         Define, taken from safe-read.c.
95058         (INT_MAX): Provide fallback.
95059         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
95060         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
95061
95062         * lib/safe-read.c (EINTR): Remove definition.
95063         (safe_read): Don't use EINTR if it is absent.
95064
95065 2002-12-01  Jim Meyering  <jim@meyering.net>
95066
95067         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
95068         zero.
95069         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
95070
95071 2002-11-27  Paul Eggert  <eggert@twinsun.com>
95072
95073         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
95074         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
95075         with `if (! (value < limit)) abort ();', for readability.
95076
95077 2002-11-26  Karl Berry  <karl@gnu.org>
95078
95079         * lib/strdup.c: copy from libc again, with jim's ok.
95080         * lib/.cppi-disable: re-add strdup.c
95081
95082 2002-11-25  Karl Berry  <karl@gnu.org>
95083
95084         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
95085         instead of "strtol.c".
95086
95087 2002-11-25  Karl Berry  <karl@gnu.org>
95088
95089         * config/install-sh: update from automake for variable quoting, $0 in
95090         error msgs, etc.
95091
95092         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
95093         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
95094         entry.
95095
95096 2002-11-25  Jim Meyering  <jim@meyering.net>
95097
95098         * lib/mktime.c: Sync from libc, now that it has the latest fix.
95099
95100 2002-11-24  Karl Berry  <karl@gnu.org>
95101
95102         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
95103         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
95104
95105 2002-11-24  Jim Meyering  <jim@meyering.net>
95106
95107         Update from coreutils:
95108
95109         * lib/mktime.c: Merge in changes from libc.
95110
95111         Avoid a link-time failure on some Linux systems.
95112         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
95113         (otherwise).
95114         (__mon_yday): Declare with the STATIC attribute.
95115         (__mktime_internal): Likewise.
95116         Based on a report from Greg Schafer.
95117
95118 2002-11-23  Jim Meyering  <jim@meyering.net>
95119
95120         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
95121         Use `unsigned', not `int', as type of index.
95122
95123         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
95124
95125         * lib/fsusage.c: Remove unneeded parentheses around operands of
95126         `defined'.
95127
95128 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95129
95130         * lib/quotearg.h: Allow multiple inclusion by surrounding with
95131         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
95132         so that we can be included first.
95133         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
95134         * lib/quotearg.c: Include quotearg.h immediately after config.h.
95135         No need to include stddef.h or sys/types.h any more.
95136         Surround local include files with "", not "<>".
95137         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
95138         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
95139         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
95140         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
95141         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
95142         (ISPRINT): Remove; no longer needed now that we assume C89.
95143
95144         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
95145         Preserve errno.
95146
95147         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
95148         quotearg_char): Use SIZE_MAX rather than
95149         (size_t) -1 when we are talking about "infinity".
95150
95151         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
95152
95153 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95154
95155         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
95156         hint that one should use `if (! x) abort ();' rather than `assert
95157         (x);', and anyway it's one less thing to worry about configuring.
95158         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
95159         hash_rehash, hash_insert): Use abort rather than assert.
95160
95161 2002-11-22  Bruno Haible  <bruno@clisp.org>
95162
95163         * lib/safe-read.h: Assume C89. Add comments.
95164         (safe_read): Change return type to size_t.
95165         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
95166         byte counts > SSIZE_MAX correctly.
95167         * lib/safe-write.h: New file.
95168         * lib/safe-write.c: New file.
95169         * lib/full-read.h: New file.
95170         * lib/full-read.c: New file.
95171         * lib/full-write.h: Assume C89. Add comments.
95172         * lib/full-write.c: Include safe-write.h.
95173         (full_write): Rewritten to use safe_write.
95174         Suggested by Jim Meyering and Paul Eggert.
95175
95176 2002-11-21  Jim Meyering  <jim@meyering.net>
95177
95178         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
95179
95180         Merge in changes from the coreutils.
95181
95182         2002-09-25  Paul Eggert  <eggert@twinsun.com>
95183         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
95184         <stdint.h>.
95185         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
95186         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
95187         int.  Work more efficiently if X is the same width as uintmax_t.
95188         Do not compare X to -1, to avoid bogus compiler warning.
95189         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
95190         Don't assume that f_frsize and f_bsize are the same type.
95191
95192         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
95193         warning on FreeBSD.
95194
95195         * lib/makepath.c (make_path): Restore umask *before* creating the final
95196         component.
95197         (make_path): Minor reformatting.
95198
95199         * lib/xmalloc.c: Adjust to work with new autoconf macros,
95200         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
95201         HAVE_MALLOC/HAVE_REALLOC.
95202
95203         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
95204         dummy ones.  At least on GNU/Linux systems, `auto' means something
95205         else.
95206         From Michael Stone.
95207
95208 2002-11-21  Bruno Haible  <bruno@clisp.org>
95209
95210         Remove case insensitive option matching.
95211         * lib/argmatch.h (argcasematch): Remove declaration.
95212         (ARGCASEMATCH): Remove macro.
95213         (__xargmatch_internal): Remove case_sensitive argument.
95214         (XARGMATCH): Update.
95215         (XARGCASEMATCH): Remove macro.
95216         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
95217         case_sensitive argument.
95218         (argcasematch): Remove function.
95219         (__xargmatch_internal): Remove case_sensitive argument.
95220         (main): Use XARGMATCH instead of XARGCASEMATCH.
95221
95222         * lib/xmalloc.c: Change compile-time error message. Add comment about
95223         required autoconf version.
95224
95225 2002-11-20  Paul Eggert  <eggert@twinsun.com>
95226
95227         Merge argmatch cleanups from Bison.  Assume C89.
95228
95229         * lib/argmatch.c: Include config.h here, not in argmatch.h.
95230         Include stdlib.h, for EXIT_FAILURE.
95231         Always include <string.h>, since we assume C89.
95232         (EXIT_FAILURE): Remove pre-C89 bug workaround.
95233         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
95234         Include <stddef.h> instead, since it's all we need for size_t.
95235         (PARAMS): Remove.  All uses removed.
95236         (ARRAY_CARDINALITY): Do not bother to #undef.
95237         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
95238         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95239         Remove unnecessary parentheses.
95240         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95241         Insert necessary parentheses.
95242         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
95243         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
95244
95245 2002-11-19  Bruno Haible  <bruno@clisp.org>
95246
95247         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
95248         * lib/mbswidth.h: Include <stddef.h>, for size_t.
95249
95250         * lib/mbswidth.h (PARAMS): Remove macro.
95251         (mbswidth, mbsnwidth): Use ANSI C function declarations.
95252         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
95253
95254         * lib/gcd.h (PARAMS): Remove macro.
95255         (gcd): Use ANSI C function declarations.
95256         * lib/gcd.c (gcd): Likewise.
95257
95258 2002-11-15  Bruno Haible  <bruno@clisp.org>
95259
95260         * lib/strcspn.c: Include <stddef.h>.
95261         (strcspn): Use ANSI C function declaration. Change return type to
95262         size_t. Use NULL.
95263         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
95264         (strpbrk): Use NULL.
95265         * lib/strpbrk.h (PARAMS): Remove macro.
95266         (strpbrk): Use ANSI C function declaration.
95267         * lib/strstr.c: Don't include <sys/types.h>.
95268         * lib/strstr.h (PARAMS): Remove macro.
95269         (strstr): Use ANSI C function declarations.
95270
95271 2002-11-14  Karl Berry  <karl@gnu.org>
95272
95273         * config/mkinstalldirs: `do' on separate line, instead of
95274         `for var; do'.
95275
95276 2002-11-06  Bruno Haible  <bruno@clisp.org>
95277
95278         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
95279         * lib/gcd.c (gcd): Likewise.
95280
95281 2002-11-05  Bruno Haible  <bruno@clisp.org>
95282
95283         * lib/gcd.h: New file, from gettext-0.11.5.
95284         * lib/gcd.c: New file, from gettext-0.11.5.
95285
95286 2002-11-05  Bruno Haible  <bruno@clisp.org>
95287
95288         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95289         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95290         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95291         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95292
95293         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
95294         <libintl.h>.
95295         * lib/makepath.c: Include gettext.h instead of <locale.h> and
95296         <libintl.h>.
95297
95298         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
95299         * lib/human.c: Include gettext.h instead of <libintl.h>.
95300         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
95301         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
95302         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
95303         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
95304         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
95305         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
95306         (textdomain): Remove definition.
95307         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
95308
95309         * lib/long-options.c: Remove include of <libintl.h> and definition of
95310         _.
95311         * lib/same.c: Remove include of <libintl.h> and definition of _.
95312
95313 2002-11-04  Owen Taylor  <otaylor@redhat.com>
95314
95315         * lib/config.charset: A few additions for Solaris.
95316
95317 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95318
95319         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
95320         * lib/localcharset.c (locale_charset): Declare as extern "C".
95321
95322 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95323
95324         * lib/config.charset: msdos in uk_UA uses CP1125.
95325
95326 2002-11-04  Bruno Haible  <bruno@clisp.org>
95327
95328         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
95329         * lib/strcase.h: New file, from GNU gettext-0.11.5.
95330         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
95331         * lib/strstr.h: New file, from GNU gettext-0.11.5.
95332         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
95333
95334 2002-11-04  Bruno Haible  <bruno@clisp.org>
95335
95336         * lib/localcharset.c (locale_charset): Don't return an empty string.
95337
95338 2002-11-04  Bruno Haible  <bruno@clisp.org>
95339
95340         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
95341         aliases.
95342
95343 2002-11-04  Bruno Haible  <bruno@clisp.org>
95344
95345         * lib/config.charset: Update for newest glibc. Add canonical names
95346         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
95347
95348 2002-11-04  Bruno Haible  <bruno@clisp.org>
95349
95350         * lib/config.charset: Add support for NetBSD.
95351
95352 2002-11-04  Bruno Haible  <bruno@clisp.org>
95353
95354         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
95355
95356 2002-11-01  Bruno Haible  <bruno@clisp.org>
95357
95358         * configure.in: Add AC_CONFIG_AUX_DIR call.
95359         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
95360         test/Makefile.
95361         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
95362
95363 2002-09-28  Karl Berry  <karl@gnu.org>
95364
95365         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
95366         installed automake until the next release, since changes have been
95367         made.
95368
95369 2002-09-25  Karl Berry  <karl@gnu.org>
95370
95371         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
95372         * lib/getopt*: copy from libc/posix.
95373         * lib/gettext.h: copy from gettext.
95374         * lib/.cppi-disable: add strdup.c, gettext.h.
95375
95376 2002-09-25  Karl Berry  <karl@gnu.org>
95377
95378         * config/srclist.txt: enable gettext.h check.
95379         * config/config.{guess,sub}: update from prep.
95380         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
95381                 from automake 1.6.3.
95382         See srclist*.
95383
95384 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
95385
95386         * regex.c (PATFETCH): Remove the translating fetch.
95387         (PATFETCH_RAW): Rename to PATFETCH.
95388         (set_image_of_range): New fun.
95389         (SET_RANGE_TABLE_WORK_AREA): Use it.
95390         (regex_compile): Don't translate the pattern chars so eagerly.
95391         Only do it when inserting an `exactn' bytecode or when handling
95392         a char-range.
95393         (mutually_exclusive_p): Avoid empty statement.
95394
95395 2002-07-06  Jim Meyering  <meyering@lucent.com>
95396
95397         * m4/README: Don't mention Makefile.am.in.
95398         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
95399
95400 2002-07-01  Jim Meyering  <meyering@lucent.com>
95401
95402         * lib/c-stack.c: Include sys/time.h.
95403         From Volker Borchert.
95404
95405 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95406
95407         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
95408
95409 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95410
95411         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
95412         New macro.  Use it uniformly instead of
95413         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
95414         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
95415         reported by Vin Shelton.
95416
95417 2002-06-22  Paul Eggert  <eggert@twinsun.com>
95418
95419         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
95420         Do not assume SA_SIGINFO behavior.
95421         Bug reported by Jim Meyering on NetBSD 1.5.2.
95422
95423 2002-06-22  Jim Meyering  <meyering@lucent.com>
95424
95425         * m4/c-stack.m4: New file, from diffutils-2.8.2.
95426         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
95427
95428         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
95429         now that configure.ac uses AC_GNU_SOURCE.
95430         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
95431         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
95432
95433         Update to latest tools.  Suggestions from Paul Eggert.
95434         * m4/stdbool.m4: New file, from diffutils-2.8.2.
95435         * m4/gnu-source.m4: Update from diffutils-2.8.2.
95436         * m4/fnmatch.m4: Likewise.
95437         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
95438         to AC_HEADER_STDBOOL
95439
95440 2002-06-22  Jim Meyering  <meyering@lucent.com>
95441
95442         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
95443         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
95444
95445 2002-06-22  Jim Meyering  <meyering@lucent.com>
95446
95447         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
95448
95449         * lib/exitfail.c, exitfail.h: Likewise.
95450         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
95451
95452         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
95453         of fnmatch.h.
95454         (EXTRA_DIST): Add fnmatch_loop.c.
95455         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
95456
95457         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
95458         * lib/fnmatch.c: Update from diffutils-2.8.2.
95459         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
95460         * lib/fnmatch.h: Remove file.
95461
95462 2002-06-21  Jim Meyering  <meyering@lucent.com>
95463
95464         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
95465         * m4/mbrtowc.m4: Likewise.
95466
95467         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
95468         * m4/mbswidth.m4: Reflect name change:
95469         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
95470         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
95471
95472         * m4/lib-link.m4: Update from gettext-0.11.2.
95473         * m4/gettext.m4: Likewise.
95474
95475         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
95476         From Alfred M. Szmidt.
95477
95478 2002-06-18  Paul Eggert  <eggert@twinsun.com>
95479
95480         * lib/file-type.h: Report an error if neither S_ISREG nor
95481         S_IFREG is defined, instead of using a test specific to glibc
95482         2.2.  This should be safe, since POSIX requires S_ISREG and
95483         Unix Version 7 had S_IFREG.  We don't need to check for
95484         <sys/types.h> since we don't use any symbols that it defines.
95485
95486 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
95487
95488         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
95489         $@-t, so that each temporary file name is unique and valid in the first
95490         8 characters, for operation under DOS.
95491
95492 2002-06-15  Paul Eggert  <eggert@twinsun.com>
95493
95494         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
95495
95496 2002-06-15  Jim Meyering  <meyering@lucent.com>
95497
95498         Work even with DJGPP 2.03, which lacks support for symlinks.
95499         From Richard Dawe.
95500         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
95501         is defined.
95502         * lib/lchown.c (S_ISLNK): Likewise.
95503
95504 2002-06-15  Jim Meyering  <meyering@lucent.com>
95505
95506         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
95507         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
95508         have been included before this file.
95509
95510 2002-06-14  Jim Meyering  <meyering@lucent.com>
95511
95512         * lib/file-type.h: Use the version from diffutils-2.8.2.
95513         * lib/file-type.c: Likewise.
95514
95515 2002-06-07  Jim Meyering  <meyering@lucent.com>
95516
95517         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
95518         They're needed at least for NetBSD 1.5.2.
95519         ($statxfs_includes): Include those same headers.
95520         ($statxfs_includes): Include sys/vfs.h if available.
95521         ($statxfs_includes): Likewise for sys/statvfs.h.
95522         Check for the following members in both structs statfs and statvfs:
95523         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
95524
95525 2002-06-01  Jim Meyering  <meyering@lucent.com>
95526
95527         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
95528         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
95529
95530 2002-05-28  Jim Meyering  <meyering@lucent.com>
95531
95532         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
95533         Reported by Volker Borchert.
95534
95535 2002-05-27  Jim Meyering  <meyering@lucent.com>
95536
95537         Fix a problem seen only on nonconforming systems whereby ls.c's
95538         use of localtime, and then of gettimeofday would cause trouble:
95539         the localtime call used to initialize rpl_gettimeofday's save
95540         mechanism would clobber ls's current local time information so
95541         that in any long listing the first file would always be listed
95542         with date 1970-01-01.  Analysis by Volker Borchert.
95543
95544         * lib/gettimeofday.c (localtime): Undefine.
95545         (rpl_localtime): New function.
95546
95547 2002-05-27  Jim Meyering  <meyering@lucent.com>
95548
95549         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
95550         localtime.
95551
95552         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
95553         use the replacement function; it wouldn't resolve at link time.
95554         Reported by Volker Borchert.
95555
95556 2002-05-22  Jim Meyering  <meyering@lucent.com>
95557
95558         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
95559         file-type.h.
95560         * lib/file-type.h: New file.
95561         * lib/file-type.c (file_type): New file/function.  Extracted from
95562         diffutils.
95563
95564 2002-04-30  Jim Meyering  <meyering@lucent.com>
95565
95566         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
95567
95568 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95569
95570         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
95571
95572 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95573
95574         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
95575         Do not check for alloca.h (no longer used) or stdbool.h (was never
95576         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
95577
95578 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95579
95580         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
95581
95582 2002-04-29  Jim Meyering  <meyering@lucent.com>
95583
95584         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
95585         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
95586         Use AC_FUNC_STRNLEN here instead.
95587
95588         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
95589         With autoconf-2.53a, it's part of AC_PROG_CC.
95590
95591 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95592
95593         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
95594         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
95595
95596 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95597
95598         * lib/sig2str.h, lib/sig2str.c: New files.
95599         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
95600
95601 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95602
95603         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
95604         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
95605         of 127, since 64 is the largest conceivable number for ancient
95606         nonstandard hosts.
95607         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
95608
95609 2002-04-28  Jim Meyering  <meyering@lucent.com>
95610
95611         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
95612
95613 2002-04-24  Jim Meyering  <meyering@lucent.com>
95614
95615         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
95616         (jm_PREREQ): Use it.
95617
95618         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
95619         mach/mach.h fcntl.h.
95620         Check for this function: setlocale.
95621
95622 2002-04-24  Jim Meyering  <meyering@lucent.com>
95623
95624         * lib/gettext.h: New file, from Gettext.
95625         * lib/Makefile.am (INCLUDES): Remove -I../intl.
95626         (libfetish_a_SOURCES): Add gettext.h.
95627
95628 2002-04-16  Jim Meyering  <meyering@lucent.com>
95629
95630         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
95631         ut_pid, ut_id, ut_exit.
95632
95633 2002-04-16  Jim Meyering  <meyering@lucent.com>
95634
95635         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
95636         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
95637         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
95638
95639 2002-04-12  Jim Meyering  <meyering@lucent.com>
95640
95641         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
95642         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
95643         existence of the getmntinfo function.  Needed for Darwin 5.3.
95644
95645         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
95646         This is necessary at least on Darwin 5.3.
95647
95648         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
95649         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
95650         strnlen.o in the library, and that makes some versions of ranlib
95651         object.
95652
95653 2002-04-12  Jim Meyering  <meyering@lucent.com>
95654
95655         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
95656
95657 2002-04-09  Jim Meyering  <meyering@lucent.com>
95658
95659         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
95660         to be more precise.  Rather than saying we're checking whether the
95661         function `works', say what we're testing.
95662         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
95663         Reported by Bruno Haible.
95664
95665 2002-03-10  Jim Meyering  <meyering@lucent.com>
95666
95667         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
95668         Suggestion from Santiago Vila.
95669
95670 2002-03-08  Jim Meyering  <meyering@lucent.com>
95671
95672         * lib/rename.c: Mention that this wrapper is needed also on
95673         mips-dec-ultrix4.4 systems.
95674
95675 2002-03-02  Jim Meyering  <meyering@lucent.com>
95676
95677         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
95678         not HAVE_CLOCK_SETTIME.
95679
95680 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95681
95682         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
95683         Check for clock_settime.
95684
95685 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95686
95687         * lib/nanosleep.h: Rename to....
95688         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
95689
95690         * lib/gettime.c: New file.
95691         * lib/settime.c: New file.
95692         * lib/stime.c: Remove.
95693
95694         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
95695         timespec.h.  Remove nanosleep.h.
95696
95697 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95698
95699         * m4/acl.m4: New file.
95700         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
95701         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
95702
95703 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95704
95705         * lib/acl.c, lib/acl.h: New files.
95706         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
95707
95708 2002-02-24  Jim Meyering  <meyering@lucent.com>
95709
95710         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
95711         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
95712         cause trouble.  Reported by Nelson Beebe.
95713
95714 2002-02-23  Paul Eggert  <eggert@twinsun.com>
95715
95716         * lib/path-concat.c (xpath_concat): Reorder code to pacify
95717         compilers that don't know that xalloc_die never returns.
95718
95719 2002-02-20  Jim Meyering  <meyering@lucent.com>
95720
95721         * lib/getdate.c: Regenerate using bison-1.33.
95722
95723 2002-02-17  Jim Meyering  <meyering@lucent.com>
95724
95725         * config/config.guess (main): Don't use `head -1'; it's no longer
95726         portable. Use `sed 1q' instead.
95727
95728 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
95729
95730         * m4/codeset.m4: Upgrade to gettext-0.11.
95731         * m4/gettext.m4: Upgrade to gettext-0.11.
95732         * m4/glibc21.m4: Upgrade to gettext-0.11.
95733         * m4/iconv.m4: Upgrade to gettext-0.11.
95734         * m4/isc-posix.m4: Upgrade to gettext-0.11.
95735         * m4/lcmessage.m4: Upgrade to gettext-0.11.
95736         * m4/lib-ld.m4: New file, from gettext-0.11.
95737         * m4/lib-link.m4: New file, from gettext-0.11.
95738         * m4/lib-prefix.m4: New file, from gettext-0.11.
95739         * m4/progtest.m4: Upgrade to gettext-0.11.
95740
95741 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95742
95743         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
95744         (jm_PREREQ): Use it.
95745
95746 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95747
95748         * lib/posixver.c, lib/posixver.h: New files.
95749         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95750
95751 2002-02-02  Paul Eggert  <eggert@twinsun.com>
95752             Bruno Haible  <bruno@clisp.org>
95753
95754         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
95755         (fwrite_success_callback): New declaration.
95756         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
95757         print_unicode_char. Call failure callback instead of error.
95758         (fwrite_success_callback): New function.
95759         (exit_failure_callback): New function.
95760         (fallback_failure_callback): New function.
95761         (print_unicode_char): Call unicode_to_mb.
95762
95763 2002-01-26  Jim Meyering  <meyering@lucent.com>
95764
95765         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
95766         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
95767
95768 2002-01-26  Jim Meyering  <meyering@lucent.com>
95769
95770         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
95771
95772 2002-01-22  Paul Eggert  <eggert@twinsun.com>
95773
95774         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
95775
95776 2002-01-22  Jim Meyering  <meyering@lucent.com>
95777
95778         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
95779         Otherwise, some versions of automake would omit the rule that makes
95780         Makefile from Makefile.in.
95781
95782 2002-01-21  Paul Eggert  <eggert@twinsun.com>
95783
95784         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
95785         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95786         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
95787         (memcoll): Set errno to zero if there is no error.
95788
95789         * lib/quotearg.c (quotearg_buffer_restyled):
95790         Fix bug with quoting buffers containing NUL when backslashing escapes.
95791         This bug was exposed by the other changes in this patch.
95792         (quotearg_n_options): New arg ARGSIZE.
95793         All callers changed.
95794         (quoting_options_from_style): New function.
95795         (quotearg_n_style): Use it.
95796         (quotearg_n_style_mem): New function.
95797
95798         * lib/quotearg.h (quotearg_n_style_mem): New function.
95799
95800 2002-01-19  Jim Meyering  <meyering@lucent.com>
95801
95802         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
95803         Remove useless quotes: DF_PROG="df".
95804         * m4/strnlen.m4: New file.
95805
95806 2002-01-16  Paul Eggert  <eggert@twinsun.com>
95807
95808         * lib/backupfile.c (ISDIGIT): Comment fix.
95809         * lib/getdate.y (ISDIGIT): Likewise.
95810         * lib/posixtm.c (ISDIGIT, year): Likewise.
95811         * lib/strverscmp.c (ISDIGIT): Likewise.
95812         * lib/userspec.c (ISDIGIT): Likewise.
95813
95814 2002-01-16  Jim Meyering  <meyering@lucent.com>
95815
95816         * lib/getdate.y: Add three semicolons, each just before a closing
95817         brace. Bison (as of version 1.31) no longer papers over that mistake.
95818
95819 2002-01-05  Jim Meyering  <meyering@lucent.com>
95820
95821         * lib/version-etc.c (version_etc_copyright): Update copyright year.
95822
95823 2001-12-19  Paul Eggert  <eggert@twinsun.com>
95824
95825         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
95826         not silently exit merely because the output buffer happens to
95827         have nothing pending.
95828
95829 2001-12-18  Paul Eggert  <eggert@twinsun.com>
95830
95831         See the big note in ../ChangeLog.
95832         * lib/human.c (suffixes): Prefer K to k for 1024.
95833         (generate_suffix_backwards): New function.
95834         (human_readable_inexact): Use it.
95835         * lib/xstrtol.c (__xstrtol): If there is no number but there
95836         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
95837         Accept 'K' as well as 'k'.
95838
95839 2001-12-15  Jim Meyering  <meyering@lucent.com>
95840
95841         * lib/regex.h (__restrict_arr): Update from libc.
95842
95843         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
95844         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
95845         (STREQ): Define.
95846
95847 2001-12-14  Jim Meyering  <meyering@lucent.com>
95848
95849         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
95850         Suggestion from Bruno Haible.
95851
95852 2001-12-10  Jim Meyering  <meyering@lucent.com>
95853
95854         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
95855         xrealloc, Instead, include "xalloc.h".
95856         (initbuffer): Don't cast xmalloc return value to char*.
95857         (readline): Reword comment.
95858         Don't cast xrealloc return value to char*
95859         Return NULL, not 0.
95860
95861 2001-12-09  Jim Meyering  <meyering@lucent.com>
95862
95863         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
95864         about `signed and unsigned type in conditional expression'.
95865         * lib/posixtm.c (posix_time_parse): Likewise.
95866
95867         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
95868
95869         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
95870         to avoid a pedantic warning.
95871
95872         * lib/getstr.c: Don't include assert.h.
95873         (getstr): Remove warning-evoking assertions.
95874         Return -1 if offset parameter is out of bounds.
95875         Change the type of a local from int to size_t.
95876
95877         * lib/strftime.c (my_strftime_localtime_r): Include this function
95878         definition in the `#if ! HAVE_TM_GMTOFF' block.
95879
95880         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
95881         Include xalloc.h instead.
95882
95883 2001-12-02  Jim Meyering  <meyering@lucent.com>
95884
95885         * lib/tempname.c: Don't declare getenv, thus reverting the change of
95886         2001-11-18.  It's no longer necessary, now that stdlib.h is always
95887         included.
95888
95889         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
95890         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
95891
95892 2001-11-30  Akim Demaille  <akim@epita.fr>
95893
95894         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
95895         before being defined.
95896
95897 2001-11-27  Paul Eggert  <eggert@twinsun.com>
95898
95899         * lib/quotearg.h (quotearg_n, quotearg_n_style):
95900         First arg is int, not unsigned.
95901         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
95902         (SIZE_MAX, UINT_MAX): New macros.
95903         (quotearg_n_options): Abort if N is negative.
95904         Avoid overflow check on hosts where size_t is 64 bits and int
95905         is 32 bits, as overflow is impossible there.
95906         Fix off-by-one typo that caused unnecessary reallocation.
95907
95908 2001-11-27  Jim Meyering  <meyering@lucent.com>
95909
95910         * lib/tempname.c: Merge with version from libc.
95911         * lib/regex.c: Likewise.
95912
95913         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
95914         systems for which STDC_HEADERS is 0, it was not included, resulting in
95915         a warning about an integer-to-pointer conversion problem with getenv.
95916         Reported by Volker Borchert.
95917
95918 2001-11-26  Jim Meyering  <meyering@lucent.com>
95919
95920         * lib/gtod.h: Remove file.
95921         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
95922         * lib/gettimeofday.c: Don't include gtod.h.
95923         (GTOD_init): Remove function.
95924         (rpl_gettimeofday): Do its job here instead, rather than aborting.
95925         Suggestion from Volker Borchert.
95926
95927 2001-11-23  Jim Meyering  <meyering@lucent.com>
95928
95929         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
95930         it.
95931         * lib/hash.c (struct hash_table): Define it here instead.
95932
95933 2001-11-22  Jim Meyering  <meyering@lucent.com>
95934
95935         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
95936
95937 2001-11-20  Jim Meyering  <meyering@lucent.com>
95938
95939         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
95940         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
95941
95942 2001-11-19  Jim Meyering  <meyering@lucent.com>
95943
95944         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
95945         directory.  Use "conftestXXXXXX" as the template.
95946         Suggestion from Paul Eggert.
95947
95948         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
95949         immediately, so the test doesn't mistakenly hit the max-open-files
95950         limit.
95951
95952 2001-11-18  Paul Eggert  <eggert@twinsun.com>
95953
95954         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
95955         (TEMPORARIES): New macro.
95956         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
95957         removes an artificial limitation (e.g. HP-UX 10.20, where
95958         TMP_MAX is 17576).
95959
95960 2001-11-18  Jim Meyering  <meyering@lucent.com>
95961
95962         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
95963
95964 2001-11-18  Jim Meyering  <meyering@lucent.com>
95965
95966         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
95967         on SunOS 4.
95968
95969         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
95970         files will be created before anything else.
95971
95972 2001-11-17  Paul Eggert  <eggert@twinsun.com>
95973
95974         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
95975         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
95976
95977 2001-11-17  Jim Meyering  <meyering@lucent.com>
95978
95979         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
95980         Prompted by a report from Bob Proulx.
95981
95982         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
95983         Instead, require UTILS_FUNC_MKSTEMP.
95984
95985 2001-11-17  Jim Meyering  <meyering@lucent.com>
95986
95987         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
95988         Now, that's done as part of AC_FUNC_STRTOD.
95989
95990 2001-11-17  Jim Meyering  <meyering@lucent.com>
95991
95992         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
95993         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
95994         rather than group writable.  Patch by Juan F. Codagnone.
95995
95996         * lib/readtokens.c: Remove explicit declarations of xmalloc and
95997         xrealloc, Instead, include "xalloc.h".
95998
95999         * lib/mountlist.c: Include unlocked-io.h after all system headers.
96000         Remove explicit declarations of xmalloc, xrealloc,
96001         and xstrdup.  Instead, include "xalloc.h".
96002
96003         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
96004         unlocked-io.h.
96005         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
96006         Likewise.
96007         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
96008
96009         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
96010         Reported by Padraig Brady.
96011
96012         * lib/mkstemp.c: #undef mkstemp.
96013         Include config.h.
96014         (rpl_mkstemp): Rename from mkstemp.
96015         Protoize.
96016
96017 2001-11-16  Jim Meyering  <meyering@lucent.com>
96018
96019         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
96020         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
96021         determine the amount of total physical memory, use pstat_getstatic.
96022         HPUX-11 doesn't define _SC_PHYS_PAGES.
96023         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
96024         If sysconf couldn't be used to determine the amount of available
96025         physical memory, use both pstat_getstatic and pstat_getdynamic.
96026         Based on a patch from Bob Proulx.
96027
96028 2001-11-10  Jim Meyering  <meyering@lucent.com>
96029
96030         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
96031         (jm_PREREQ): Use it.
96032
96033 2001-11-09  Jim Meyering  <meyering@lucent.com>
96034
96035         * m4/jm-macros.m4: Require autoconf-2.52f.
96036         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
96037         Use these AC_-prefixed names, not the AM_-prefixed ones.
96038
96039         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
96040
96041 2001-11-05  Jim Meyering  <meyering@lucent.com>
96042
96043         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
96044
96045 2001-11-04  Jim Meyering  <meyering@lucent.com>
96046
96047         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
96048         $DEFS.
96049
96050 2001-11-03  Jim Meyering  <meyering@lucent.com>
96051
96052         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
96053         of AC_DEFUN.
96054
96055         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
96056         know the name of the variable in the macro definition.
96057
96058 2001-11-03  Jim Meyering  <meyering@lucent.com>
96059
96060         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
96061         in argmatch_to_argument call.
96062
96063         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
96064         argument.
96065
96066         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
96067         e.g., a fault due to an attempt to free a NULL pointer.
96068
96069 2001-11-01  Jim Meyering  <meyering@lucent.com>
96070
96071         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
96072         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
96073
96074 2001-11-01  Jim Meyering  <meyering@lucent.com>
96075
96076         * lib/dirfd.c, lib/dirfd.h: New files.
96077         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
96078
96079         * lib/hash.c (hash_print) [TESTING]: Clean up.
96080
96081 2001-10-22  Paul Eggert  <eggert@twinsun.com>
96082
96083         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
96084         to avoid a warning if -Wall.
96085
96086 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
96087
96088         * README: New file
96089         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
96090         (per RMS's instructions, this is now the canonical source)
96091         * lgpl/, gpl/: New directories.
96092
96093 2001-10-21  Paul Eggert  <eggert@twinsun.com>
96094
96095         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
96096
96097 2001-10-21  Jim Meyering  <meyering@lucent.com>
96098
96099         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
96100         this code would end up calling gettext even in packages built
96101         with --disable-nls.
96102         * lib/getopt.c (_): Likewise.
96103         * lib/regex.c (_): Likewise.
96104
96105 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96106
96107         * m4/error.m4 (jm_PREREQ_ERROR):
96108         Do not invoke AC_CHECK_FUNCS with strerror_r, as
96109         AC_FUNC_STRERROR_R does that.
96110         Check for strerror declaration.
96111
96112         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
96113         are supposed to have them these days.
96114         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
96115         Merge changes from latest Autoconf CVS.
96116         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
96117         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
96118         POSIX decided to standardize on the int flavor of strerror_r.
96119
96120 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96121
96122         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
96123         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
96124         Use strerror_r that is only a macro, even if it is not a function.
96125         (strerror): Check for HAVE_DECL_STRERROR before declaring.
96126         (private_strerror): Use prototypes, not old-style function definition.
96127         (print_errno_message): New function.
96128         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
96129         char*-flavored one.
96130         (error_tail, error, error_at_line): Use it.
96131
96132 2001-10-11  Jim Meyering  <meyering@lucent.com>
96133
96134         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
96135         and quote_n (1, ... to avoid clobbering a buffer.
96136
96137 2001-10-05  Jim Meyering  <meyering@lucent.com>
96138
96139         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
96140         hash-pjw.h.
96141         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
96142         * lib/hash-pjw.h: New file.
96143
96144 2001-09-30  Jim Meyering  <meyering@lucent.com>
96145
96146         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
96147         `struct fsstat' has the `f_fstypename' member.
96148         Use that to define FS_TYPE, which is now used to make
96149         the getfsstat link test tighter.
96150
96151 2001-09-30  Jim Meyering  <meyering@lucent.com>
96152
96153         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
96154         Include <sys/ucred.h>, for Apple Darwin.
96155         Include sys/mount.h and sys/fs_types.h only if available.
96156         (FS_TYPE): Define.
96157         (read_filesystem_list): Use FS_TYPE.
96158
96159 2001-09-29  Paul Eggert  <eggert@twinsun.com>
96160
96161         * lib/exclude.c (excluded_filename): 0 -> false, since it's
96162         a boolean context.
96163
96164 2001-09-29  Jim Meyering  <meyering@lucent.com>
96165
96166         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96167         [one-argument getmntent function]): Include stdio.h before mntent.h.
96168         SunOS 4.1.x needs it for the declaration of `FILE'.
96169         Patch by Volker Borchert.
96170
96171         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96172         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
96173         sys/fs_types.h, and make the link-test for getfsstat guard #include
96174         directives with appropriate #if HAVE_*_H tests so that we can
96175         detect getfsstat on Apple Darwin1.3.7 systems.
96176         Reported by Nelson Beebe.
96177         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
96178
96179 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96180
96181         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96182         #defines strtoimax.  Also treat the other strto* functions
96183         like strtoimax.
96184
96185         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96186         Check for strtoul and strtoumax,
96187         as those declarations are made even in the signed case.
96188         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
96189         Likewise, for strtol and strtoimax.
96190
96191 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96192
96193         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96194         #defines strtoimax.  Also treat the other strto* functions
96195         like strtoimax.
96196
96197         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
96198         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
96199         (strtoimax, strtoumax): Do not declare if already defined as a macro.
96200
96201 2001-09-26  Jim Meyering  <meyering@lucent.com>
96202
96203         Most macros in unlocked-io.h had the wrong number of arguments.
96204         * lib/gen-uio: New script.
96205         (USE_UNLOCKED_IO): Define to 1 if not already defined.
96206         * lib/unlocked-io.hin: Remove file.
96207         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
96208         rather than trying to embed it here.
96209         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
96210         Reported by Padraig Brady.
96211
96212 2001-09-25  Volker Borchert  <bt@teknon.de>
96213
96214         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
96215         `result'.
96216
96217 2001-09-24  Jim Meyering  <meyering@lucent.com>
96218
96219         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
96220
96221 2001-09-23  Jim Meyering  <meyering@lucent.com>
96222
96223         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
96224         instead of the mere test for existence of mntent.h.  The latter
96225         would get a false-positive on AIX 3.4 systems.
96226         In the outer getmntent if-block, don't die if neither of the getmntent
96227         tests succeeds.  Instead, just fall through and continue with the
96228         remaining tests.
96229
96230 2001-09-23  Jim Meyering  <meyering@lucent.com>
96231
96232         * lib/mountlist.c: Remove useless parentheses in #if directives.
96233         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
96234         the deprecated MOUNTED symbol is no longer defined in mntent.h.
96235
96236 2001-09-22  Jim Meyering  <meyering@lucent.com>
96237
96238         * m4/gettext.m4: New file.  From gettext.
96239         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
96240         * m4/progtest.m4: Likewise
96241         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
96242         * m4/glibc21.m4: Likewise.
96243
96244         * m4/libintl.m4: Remove.  No longer used.
96245
96246 2001-09-22  Jim Meyering  <meyering@lucent.com>
96247
96248         * lib/localcharset.c: Update from latest gettext.
96249         * lib/config.charset: Likewise.
96250
96251 2001-09-20  Jim Meyering  <meyering@lucent.com>
96252
96253         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
96254         strtoimax.
96255         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
96256         strtoumax.
96257
96258 2001-09-20  Jim Meyering  <meyering@lucent.com>
96259
96260         * lib/xstrtol.c (strtoimax): Guard declaration with
96261         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
96262         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
96263         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
96264         (strtoumax): Likewise, for completeness (it wasn't necessary).
96265
96266 2001-09-17  Paul Eggert  <eggert@twinsun.com>
96267
96268         * lib/strtoimax.c (HAVE_LONG_LONG):
96269         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
96270         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
96271         to work around bug in IBM C compiler.
96272
96273 2001-09-17  Jim Meyering  <meyering@lucent.com>
96274
96275         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
96276         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
96277         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
96278         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
96279         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
96280         whenever the right hand side need not be expanded by the shell.
96281
96282 2001-09-16  Paul Eggert  <eggert@twinsun.com>
96283
96284         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
96285         library.  It's not correct, as some older glibcs are buggy.
96286         fnmatch wasn't fixed until glibc 2.2.
96287
96288         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
96289         special shell magic here.
96290
96291 2001-09-16  Jim Meyering  <meyering@lucent.com>
96292
96293         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
96294         * m4/jm-macros.m4: Require it.
96295
96296 2001-09-16  Jim Meyering  <meyering@lucent.com>
96297
96298         * lib/mkdir.c: New file.
96299
96300 2001-09-15  Jim Meyering  <meyering@lucent.com>
96301
96302         * m4/jm-macros.m4: Check for help2man.
96303
96304 2001-09-11  Jim Meyering  <meyering@lucent.com>
96305
96306         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
96307         The body, by Paul Eggert, was moved here from configure.in.
96308         * m4/jm-macros.m4: Require UTILS_HOST_OS.
96309
96310 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96311
96312         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
96313         (jm_PREREQ): Use it.
96314
96315 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96316
96317         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
96318         Use ssize_t, not int, to store result of readlink.
96319         Check for ssize_t overflow as well as size_t overflow,
96320         as POSIX says the result of readlink is implementation-defined
96321         when ssize_t overflows.
96322         Remove unnecessary cast to char*.
96323         Use free+malloc instead of realloc, as the storage doesn't need
96324         to be preserved and it's clearer and can be more efficient that way.
96325         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
96326         * lib/xreadlink.h (xreadlink): Update prototype.
96327
96328 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96329
96330         * lib/xgetcwd.c: Revert some of the previous change; intead,
96331         fix the HAVE_GETCWD_NULL code to behave more like the
96332         !HAVE_GETCWD_NULL code used to.
96333
96334         Include "xalloc.h".
96335         (xgetcwd): Do not return NULL when memory is exhausted; instead,
96336         invoke xalloc_die.
96337
96338 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96339
96340         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
96341         sys/param.h, as pathmax.h includes them.
96342
96343 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96344
96345         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
96346         (jm_PREREQ_XGETCWD): New macro.
96347
96348         * m4/getcwd.m4: New file.
96349
96350 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96351
96352         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
96353         like the HAVE_GETCWD_NULL code.
96354         Include pathmax.h if not HAVE_GETCWD.
96355         Do not include xalloc.h.
96356         (INITIAL_BUFFER_SIZE): New symbol.
96357         Do not use xmalloc / xrealloc, since the caller is responsible for
96358         handling errors.  Preserve errno around `free' during failure.
96359         Do not overrun buffer when using getwd.
96360
96361 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96362
96363         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
96364         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
96365         getcwd (NULL, 0).
96366
96367 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96368
96369         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
96370         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
96371         spotted by Jim Meyering.
96372
96373 2001-09-03  Jim Meyering  <meyering@lucent.com>
96374
96375         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
96376         failure.
96377
96378 2001-09-02  Jim Meyering  <meyering@lucent.com>
96379
96380         * lib/error.c: Update from GNU libc.
96381
96382 2001-09-01  Jim Meyering  <meyering@lucent.com>
96383
96384         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
96385         Used by df.
96386
96387 2001-09-01  Jim Meyering  <meyering@lucent.com>
96388
96389         * lib/xreadlink.c: New file.
96390         * lib/xreadlink.h: New file.
96391         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
96392         xreadlink.h.
96393
96394         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
96395         doesn't conflict with sparc Solaris 7's definition in
96396         /usr/include/sys/int_types.h.
96397
96398         * lib/exclude.c: Use `""', not `<>' to #include non-system header
96399         files.
96400         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
96401         and strncasecmp as r-values.  Unixware didn't have declarations.
96402
96403 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96404
96405         * lib/xstrtol.h: Add copyright notice.
96406         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
96407         LONGINT_INVALID_SUFFIX_CHAR.
96408
96409 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96410
96411         * lib/xstrtol.c (strtoimax): New decl.
96412
96413 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96414
96415         * lib/xgetcwd.c: Don't include pathmax.h.
96416         Include stdlib.h and unistd.h if available.
96417         Include xalloc.h.
96418         (xmalloc, xstrdup, free): Remove decls.
96419         (xgetcwd): Don't assume sizes fit in unsigned.
96420         Check for overflow when computing sizes.
96421         Simplify reallocation code.
96422
96423 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96424
96425         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
96426         a directory's st_size can have an arbitrary value, so the old
96427         usage could waste an arbitrary amount of memory.  All uses
96428         changed.
96429         * lib/savedir.h: Update prototype.
96430
96431 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96432
96433         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
96434
96435         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
96436         old strtoimax.c.
96437
96438         Also, make the following further changes to make this file's
96439         configuration more similar to that of strtol.c:
96440         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
96441         (strtoumax, uintmax_t, strtoull, strtol): Remove.
96442         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
96443         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
96444         changed to signed values.
96445
96446         And make the following changes as well:
96447         Fix copyright notice, as 1999 was missing.
96448         (verify): New macro.
96449         (strtoimax): Check sizes at compile-time, not run-time.
96450         Prefer strtol to strtoll if both work.
96451         (main): Remove; it was not that useful and was a pain to maintain.
96452
96453         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
96454
96455 2001-08-31  Jim Meyering  <meyering@lucent.com>
96456
96457         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
96458         Use an initial, malloc'd, buffer of length 128 rather than
96459         a statically allocated one of length 1024.
96460
96461 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96462
96463         Simplify code, partly by assuming autoconf 2.52 semantics.
96464
96465         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
96466
96467         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
96468         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
96469         All uses removed.
96470         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
96471         Move AC_REQUIRE to next-to-top level, to avoid confusion.
96472         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
96473         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
96474         jm_AC_HEADER_INTTYPES_H.
96475         * m4/jm-macros.m4 (jm_MACROS): Likewise.
96476
96477         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
96478
96479         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96480         Quote first arg of AC_DEFUN.
96481         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
96482         since they are needed to parse the include file even if we need
96483         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
96484         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
96485         but with opposite signedness.
96486
96487 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96488
96489         Merge 'exclude' changes from tar 1.13.22.
96490         This fixes one or two unlikely storage allocation overflow bugs,
96491         but doesn't change user-visible behavior otherwise.
96492
96493 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96494
96495         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
96496         (jm_PREREQ_EXCLUDE): New macro.
96497
96498 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96499
96500         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
96501         tm to be declared.
96502
96503 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96504
96505         * lib/hash.c: Remove '2001' from copyright notice.
96506
96507 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96508
96509         * lib/full-write.h: New file.
96510         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
96511         * lib/full-write.c: Correct credits, as cccp.c no longer
96512         exists and anyway it was so heavily changed from the old cccp
96513         code as to be unrecognizable.  Include full-write.h.
96514         (full_write): Return size_t, with short writes meaning failure.
96515         All callers changed.  This fixes a bug with large buffers
96516         on 64-bit hosts.
96517         * lib/utime.c: Include full-write.h.
96518
96519 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96520
96521         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
96522         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
96523         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
96524         Include if available.
96525         (<xalloc.h>): Include
96526         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
96527         (verify): New macro.  Use it to verify that EXCLUDE macros do not
96528         collide with FNM macros.
96529         (struct patopts): New struct.
96530         (struct exclude): Use it, as exclude patterns now come with options.
96531         (new_exclude): Support above changes.
96532         (new_exclude, add_exclude_file):
96533         Initial size must now be a power of two to simplify overflow checking.
96534         (free_exclude, fnmatch_no_wildcards): New function.
96535         (excluded_filename): No longer requires options arg, as the options
96536         are determined by add_exclude.  Now returns bool, not int.
96537         (excluded_filename, add_exclude):
96538         Add support for the fancy new exclusion options.
96539         (add_exclude, add_exclude_file): Now takes int options arg.
96540         Check for arithmetic overflow when computing sizes.
96541         (add_exclude_file): xrealloc might modify errno, so don't
96542         realloc until after errno might be used.
96543
96544         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
96545         New macros.
96546         (free_exclude): New decl.
96547         (add_exclude, add_exclude_file): Now takes int options arg.
96548         (excluded_filename): No longer requires options arg, as the options
96549         are determined by add_exclude.  Now returns bool, not int.
96550
96551 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96552
96553         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
96554
96555 2001-08-27  Jim Meyering  <meyering@lucent.com>
96556
96557         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
96558
96559         * lib/version-etc.c (N_): Remove definition.
96560         Revert most of last change.
96561         Instead, simply don't mark the `Copyright...' string for translation.
96562         Based on advice from Paul Eggert.
96563
96564         * lib/strtoxmax.c: Tweak comment.
96565
96566 2001-08-26  Jim Meyering  <meyering@lucent.com>
96567
96568         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
96569
96570         * m4/xstrtoimax.m4: New file.
96571         * m4/xstrtoumax.m4: Add comments explaining why we
96572         AC_REPLACE_FUNCS(strtol).
96573
96574 2001-08-26  Jim Meyering  <meyering@lucent.com>
96575
96576         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
96577         of copyright with `%s' so translators don't get an untranslated
96578         message in 2002.
96579         (COPYRIGHT_YEAR): Define.
96580         (version_etc): Use fprintf rather than fputs.
96581         Suggestion from Ulrich Drepper.
96582
96583         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
96584
96585         * lib/strtoll.c: New file, from GNU libc.
96586         * lib/xstrtoimax.c: New file.
96587
96588         * lib/xstrtol.h: Add xstrtoimax.
96589         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
96590         * lib/strtoimax.c: New file.  Likewise, but first define
96591         STRTOUXMAX_SIGNED.
96592
96593         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
96594         ...
96595         * lib/strtoxmax.c: ... then renamed to this.
96596
96597 2001-08-18  Paul Eggert  <eggert@twinsun.com>
96598
96599         * m4/inttypes.m4: Add AC_PREREQ(2.13).
96600         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
96601         (jm_AC_TYPE_INTMAX_T): New macro.
96602         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
96603
96604         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
96605
96606         * m4/longlong.m4: Renamed from ulonglong.m4.
96607         * m4/inttypes.m4: Renamed from inttypes_h.m4.
96608         * m4/uintmax_t.m4: Removed.
96609
96610 2001-08-13  Paul Eggert  <eggert@twinsun.com>
96611
96612         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
96613         Port to Solaris 8, where 'sed' requires a space after the 'r'
96614         command, and where sh dislikes "$/".  Clean up the spacing a bit.
96615         Redirect output to $tmp just once.
96616
96617 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
96618
96619         * lib/addext.c (<errno.h>): Include.
96620         (errno): Declare if not defined.
96621         (addext): Work correctly when pathconf returns -1 and leaves
96622         errno alone because there is no limit.  Also, work even if
96623         pathconf returns a value greater than SIZE_MAX.
96624
96625 2001-08-12  Jim Meyering  <meyering@lucent.com>
96626
96627         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
96628         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
96629         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
96630         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
96631         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
96632         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
96633         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
96634         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
96635         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
96636         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
96637         utime.m4, utimes.m4, xstrtoumax.m4:
96638         Quote the first argument in each use of AC_DEFUN.
96639
96640 2001-08-12  Jim Meyering  <meyering@lucent.com>
96641
96642         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
96643         Simply `return getcwd (NULL, 0);'.
96644         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
96645         Use 1300 as initial value for length, not PATH_MAX.
96646
96647         * lib/pathmax.h: Clean up cpp syntax.
96648
96649 2001-08-12  Jim Meyering  <meyering@lucent.com>
96650
96651         * lib/gettimeofday.c: New file.
96652         * lib/gtod.h: New file.
96653         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
96654
96655 2001-08-05  Jim Meyering  <meyering@lucent.com>
96656
96657         * m4/jm-macros.m4: Require autoconf-2.52.
96658
96659 2001-08-04  Jim Meyering  <meyering@lucent.com>
96660
96661         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
96662         stmt, to get in sync with glibc.
96663
96664 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96665
96666         The following changes are from gettext 0.10.39 as maintained by
96667         Bruno Haible.
96668
96669         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
96670         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
96671         with inverted sense.  All uses changed.
96672
96673         * lib/mbswidth.c: Don't include <limits.h>.
96674         Include <stdlib.h> and <string.h> unconditionally.
96675         (iswcntrl, mbsinit, ISCNTRL): New macros.
96676         (mbsnwidth): Use K&R style function declarations.
96677         Don't bother checking for MB_LEN_MAX == 1, since the compiler
96678         can optimize it when MB_CUR_MAX == 1.
96679         The width of control characters is zero, not 1.
96680
96681 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96682
96683         The following changes are from gettext 0.10.39 as maintained by
96684         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
96685
96686         * m4/codeset.m4: Upgrade to serial AM1.
96687         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
96688         all uses changed.  Quote first arg of AC_DEFUN.
96689         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
96690
96691         * m4/iconv.m4: Upgrade to serial AM2.
96692         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
96693         Add --with-libconv-prefix.
96694         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
96695         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
96696         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
96697         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
96698         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
96699
96700         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
96701         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
96702         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
96703         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
96704         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
96705         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
96706         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
96707         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
96708         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
96709
96710         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
96711         string.h any more.
96712
96713         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
96714         not the default value.
96715
96716         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
96717         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
96718         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
96719         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
96720         Also check for iswcntrl, used for wcwidth fallback.
96721         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
96722         to Autoconf 2.13.
96723
96724 2001-08-03  Jim Meyering  <meyering@lucent.com>
96725
96726         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
96727         as it was in the original.  Reported by Paul Eggert.
96728
96729 2001-07-16  Jim Meyering  <meyering@lucent.com>
96730
96731         * m4/gettimeofday.m4: New file.
96732         Prompted by a report from Bernhard Baehr.
96733
96734 2001-07-15  Jim Meyering  <meyering@lucent.com>
96735
96736         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
96737         stuff. Now it's in ../Makefile.cfg.
96738
96739 2001-07-15  Jim Meyering  <meyering@lucent.com>
96740
96741         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
96742         (BUILT_SOURCES): Add unlocked-io.h.
96743         (io_functions): Define.
96744         (unlocked-io.h): New rule.
96745         (DISTCLEANFILES): Add unlocked-io.h.
96746         (all-local): Depend on unlocked-io.h, to ensure it is created.
96747
96748         * lib/unlocked-io.hin: New file
96749
96750         * lib/regex.c: Update from glibc.
96751
96752 2001-07-05  Jim Meyering  <meyering@lucent.com>
96753
96754         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
96755         recommendation.
96756         (libfetish_a_SOURCES): Put all .h files here instead.
96757         Remove a thus-exposed (better checks in automake) duplicate and
96758         two unnecessary .h files.
96759
96760 2001-07-04  Jim Meyering  <meyering@lucent.com>
96761
96762         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
96763         that generates jm-glibc-io.m4 so that it doesn't trigger any make
96764         distcheck failure.
96765
96766 2001-07-02  Jim Meyering  <meyering@lucent.com>
96767
96768         The following changes were prompted by suggestions from Bruno Haible.
96769
96770         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
96771         is now generated.
96772         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
96773         definition of EXTRA_DIST.
96774         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
96775         ensure that the generated file is created/updated whenever the list
96776         of $(unlocked_functions) is changed.
96777         (jm-glibc-io.m4): New rule.
96778         (unlocked-io.h): New rule -- currently unused.
96779
96780 2001-06-24  Jim Meyering  <meyering@lucent.com>
96781
96782         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
96783         unmatched right bracket, rather than kludging it with an extra,
96784         falsely-matching quote in a comment.  Patch by Akim Demaille.
96785
96786 2001-06-11  Jim Meyering  <meyering@lucent.com>
96787
96788         * lib/regex.c: Update from GNU libc.
96789
96790 2001-05-27  Jim Meyering  <meyering@lucent.com>
96791
96792         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
96793         Check for ut_type in struct utmp.
96794
96795 2001-05-27  Jim Meyering  <meyering@lucent.com>
96796
96797         * lib/readutmp.h (UT_TYPE): Define.
96798
96799 2001-05-24  Jim Meyering  <meyering@lucent.com>
96800
96801         * lib/argmatch.c: Include "quote.h".
96802         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
96803         quote function.  Reported by Göran Uddeborg.
96804
96805 2001-05-22  Jim Meyering  <meyering@lucent.com>
96806
96807         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
96808         now that we use the package-supplied version unconditionally.
96809         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
96810
96811 2001-05-21  Jim Meyering  <meyering@lucent.com>
96812
96813         * m4/regex.m4: Change a couple backticks to single quotes to avoid
96814         shell syntax errors.
96815
96816 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96817
96818         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
96819
96820 2001-05-20  Paul Eggert  <eggert@twinsun.com>
96821
96822         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
96823         Don't bother to check library strftime, since
96824         we'll be using our own my_strftime function anyway.
96825         Define my_strftime instead of strftime.
96826
96827 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
96828
96829         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
96830         which is not yet declared.
96831
96832 2001-05-15  Jim Meyering  <meyering@lucent.com>
96833
96834         * m4/regex.m4: Use proper quoting so brackets appear in the test
96835         program.
96836         Reported by, and with help from, Bruno Haible.
96837
96838 2001-05-13  Jim Meyering  <meyering@lucent.com>
96839
96840         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
96841         undefined.
96842
96843 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96844
96845         dirname code cleanup.  base_name now behaves more compatibly
96846         with POSIX basename when given file names that have trailing
96847         slashes, and similarly for dir_name.  Add new primitives
96848         base_len and dir_len.  Put the directory-name-related decls
96849         into dirname.h.
96850
96851         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
96852         * lib/backupfile.c (base_name): Likewise.
96853         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
96854         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
96855         * lib/makepath.c (strip_trailing_slashes): Likewise.
96856         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
96857         ISSLASH): Likewise.
96858         * lib/rename.c (strip_trailing_slashes): Likewise.
96859         * lib/same.c (base_name): Likewise.
96860         * lib/stripslash.c (ISSLASH): Likewise.
96861
96862         * lib/addext.c: Include <dirname.h> after size_t is defined.
96863         * lib/backupfile.c: Likewise.
96864
96865         * lib/addext.c (addext): Use base_len to trim redundant
96866         trailing slashes instead of doing it ourselves.
96867         But do not trim the last slash if it is not redundant.
96868
96869         * lib/backupfile.c (find_backup_file_name,
96870         max_backup_version): Use base_len instead of rolling it ourselves.
96871         Handle the case of "" and (on DOS) "C:" correctly.
96872
96873         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
96874         needed. Include <string.h>, <dirname.h>.
96875         (base_name): Allow file names ending in slashes, other than names
96876         that are all slashes.  In this case, return the basename followed
96877         by the slashes.  This is more general, and can be used in places
96878         where the original base_name purposely had an assertion failure.
96879         (base_len): New function.
96880
96881         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
96882         Do not include <assert.h>; no longer needed.
96883         Include xalloc.h.
96884         (memrchr): Remove decl.
96885         (dir_name_r): Remove.
96886         (dir_len): Renamed from dirlen.  All callers changed.
96887         Rewrite in terms of base_name, for simplicity and consistency.
96888         (dir_name): Never return NULL.  All callers changed.
96889         Do not include <stdlib.h> in test program; no longer needed.
96890         return 0; is fine for test program.
96891
96892         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
96893         New macros.
96894         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
96895
96896         * lib/path-concat.c (path_concat): Use base_len to compute
96897         base length, not strlen; this means we cannot rely on memcpy
96898         to null-terminate.
96899
96900         * lib/same.c (STREQ): Remove.
96901         (same_name): Handle the case where the basename ends in trailing '/'.
96902
96903         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
96904         a slash was stripped.  Do not strip the last slash after a
96905         file system prefix.
96906
96907 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96908
96909         * lib/Makefile.am (libfetish_a_SOURCES):
96910         Add strftime.c, since we now compile it on all hosts.
96911
96912         * lib/strftime.c (my_strftime):
96913         Define to nstrftime if emacs, but only if my_strftime is not defined.
96914         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
96915         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
96916         Add one more extra argument: a nanoseconds value.
96917         All uses changed.
96918         (ns): New macro.
96919         (my_strftime function): Add %N format.
96920         (emacs_strftimeu): Renamed from emacs_strftime,
96921         with extra ut argument.
96922
96923 2001-05-09  Paul Eggert  <eggert@twinsun.com>
96924
96925         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
96926
96927 2001-04-21  Jim Meyering  <meyering@lucent.com>
96928
96929         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
96930         doesn't interfere.
96931
96932 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96933
96934         * m4/ftruncate.m4: Check for chsize.
96935         Link with ftruncate.o unconditionally if ftruncate is missing.
96936         This was required when cross-compiling to i586-mingw32msvc.
96937
96938 2001-04-08  Jim Meyering  <meyering@lucent.com>
96939
96940         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
96941         recomputed; that's necessary when the offset spans a DST transition.
96942         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
96943
96944 2001-04-02  Jim Meyering  <meyering@lucent.com>
96945
96946         * lib/regex.h, regex.c: Update from GNU libc.
96947
96948 2001-03-24  Jim Meyering  <meyering@lucent.com>
96949
96950         * m4/jm-macros.m4: Require autoconf-2.49d.
96951
96952 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
96953
96954         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
96955
96956 2001-03-19  Paul Eggert  <eggert@twinsun.com>
96957
96958         * lib/version-etc.c (version_etc_copyright): Update to 2001.
96959
96960 2001-03-17  Jim Meyering  <meyering@lucent.com>
96961
96962         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
96963         now that the version in autoconf is equivalent.
96964         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
96965
96966         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
96967         Suggestion from Akim Demaille.
96968
96969         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
96970         (jm_PREREQ_TEMPNAME): New function.
96971
96972 2001-03-16  Paul Eggert  <eggert@twinsun.com>
96973
96974         * lib/tempname.c (uint64_t): Define to uintmax_t if
96975         not defined, and if UINT64_MAX is not defined.
96976         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
96977         Reported by John David Anglin.
96978
96979 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
96980
96981         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
96982         resolve alias if codeset is empty.
96983         * lib/config.charset (BeOS): Use wildcard syntax.
96984
96985 2001-03-13  Jim Meyering  <meyering@lucent.com>
96986
96987         * lib/path-concat.c (path_concat)
96988         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
96989         concatenating e.g., `C:' and `foo'.
96990         From Bruno Haible.
96991
96992 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
96993
96994         * lib/localcharset.c (locale_charset): Don't use
96995         setlocale(LC_CTYPE,NULL). Don't return NULL.
96996         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
96997
96998 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
96999
97000         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
97001         support for DOS/DJGPP.
97002
97003 2001-03-01  Paul Eggert  <eggert@twinsun.com>
97004
97005         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
97006         lacks mkstemp.  Compile our own tempname.c if we compile our own
97007         mkstemp.c, as mkstemp relies on tempname.
97008
97009 2001-03-01  Jim Meyering  <meyering@lucent.com>
97010
97011         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
97012         AH_VERBATIM really does output its argument verbatim.
97013
97014 2001-02-28  Paul Eggert  <eggert@twinsun.com>
97015
97016         * lib/Makefile.am (libfetish_a_SOURCES):
97017         Add dup-safer.c, fopen-safer.c.
97018         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
97019
97020         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
97021         * lib/unistd-safer.h: New files.
97022
97023 2001-02-25  Paul Eggert  <eggert@twinsun.com>
97024
97025         The mkstemp replacement is taken from glibc 2.2.2, with some
97026         portability fixes for use outside glibc, as follows:
97027
97028         * lib/tempname.c (struct_stat64): New macro.
97029         (direxists, __gen_tempname): Use it.
97030         This avoids a portability problem with Solaris 8.
97031
97032         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
97033         (<stddef.h>, <stdint.h>, <string.h>):
97034         Include only if STDC_HEADERS || _LIBC.
97035         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
97036         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
97037         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
97038         (__set_errno): Define this macro if <errno.h> doesn't.
97039         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
97040         Define these macros if <stdio.h> doesn't.
97041         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
97042         Define these macros if <sys/stat.h>
97043         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
97044         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
97045         __xstat64): Define if not _LIBC.
97046         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
97047         (__gen_tempname): Invoke gettimeofday only if
97048         HAVE_GETTIMEOFDAY || _LIBC;
97049         otherwise, fall back on plain "time".
97050         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
97051
97052         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
97053
97054         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
97055
97056 2001-02-18  Paul Eggert  <eggert@twinsun.com>
97057
97058         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
97059
97060 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97061
97062         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
97063         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
97064         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
97065         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
97066
97067 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97068
97069         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
97070         Remove workaround macros for hosts that have mbrtowc but not
97071         mbstate_t, as we now insist on proper declarations for both
97072         before using mbrtowc.
97073
97074 2001-02-17  Jim Meyering  <meyering@lucent.com>
97075
97076         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
97077         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
97078         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
97079         UnixWare 7.1.1.
97080
97081         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
97082         rather than AC_CACHE_VAL.
97083
97084 2001-02-17  Jim Meyering  <meyering@lucent.com>
97085
97086         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
97087         around included file name.
97088
97089         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
97090
97091         * lib/strftime.c: Update from GNU libc (the only changes were to
97092         comments).
97093
97094 2001-02-17  Jim Meyering  <meyering@lucent.com>
97095
97096         * lib/regex.c: Update from libc.
97097
97098 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
97099
97100         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
97101         clash.
97102
97103 2001-02-16  Paul Eggert  <eggert@twinsun.com>
97104
97105         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
97106         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
97107         Reported by Mark Hounschell via Paul Eggert.
97108
97109 2001-02-07  Jim Meyering  <meyering@lucent.com>
97110
97111         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
97112
97113 2001-02-05  Jim Meyering  <meyering@lucent.com>
97114
97115         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
97116         it includes the patch required for `large file' support with at least
97117         HP-UX's 10.20 /bin/cc.
97118
97119 2001-02-03  Jim Meyering  <meyering@lucent.com>
97120
97121         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
97122         AS_IF, now that it works once again (mysteriously).
97123         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97124
97125 2001-01-30  Jim Meyering  <meyering@lucent.com>
97126
97127         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
97128         * m4/chown.m4: Rename conftestchown to conftest.chown.
97129         * m4/rename.m4: s/conftestdir/conftest.d1/ and
97130         s/conftestdir2/conftest.d2/.
97131         * m4/utimes.m4: s/conftestdata/conftest.data/
97132         Inspired by Pavel Roskin's change in autoconf.
97133
97134 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
97135
97136         * lib/config.charset: Update for FreeBSD 4.2.
97137
97138 2001-01-27  Jim Meyering  <meyering@lucent.com>
97139
97140         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
97141         a use of AS_IF.
97142         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97143
97144 2001-01-26  Jim Meyering  <meyering@lucent.com>
97145
97146         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
97147         quotearg.c includes it.
97148
97149 2001-01-26  Jim Meyering  <meyering@lucent.com>
97150
97151         * lib/quotearg.c: Include stddef.h.
97152         * lib/quote.c: Include stddef.h.
97153         Reported by Axel Kittenberger.
97154
97155         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
97156         line in double quotes so that it evokes a better diagnostic.
97157         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
97158         Reported by Axel Kittenberger.
97159
97160 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
97161
97162         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
97163         as if it was a `charset'.
97164
97165 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97166
97167         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
97168         has const.
97169
97170 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97171
97172         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
97173         to avoid a warning.  Add back 'const' to inptr.
97174
97175 2001-01-20  Jim Meyering  <meyering@lucent.com>
97176
97177         Be sure that headers are checked before used in code compiled
97178         for the type checks.
97179         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
97180         In place of that, invoke jm_CHECK_ALL_TYPES.
97181         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
97182         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
97183         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
97184         The check for ssize_t was mistakenly run before the test for unistd.h.
97185
97186         The configure-time check for stdbool.h was missing.
97187         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
97188         (jm_PREREQ_HASH): New function.
97189
97190 2001-01-17  Jim Meyering  <meyering@lucent.com>
97191
97192         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
97193         for autoconf-2.49c.
97194         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
97195
97196 2001-01-16  Jim Meyering  <meyering@lucent.com>
97197
97198         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
97199         From Bruno Haible.
97200
97201 2001-01-14  Jim Meyering  <meyering@lucent.com>
97202
97203         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
97204         foo and bar.  Create conftestdir/ in the script, not in the C code.
97205         Remove directories in the script, not in the C code.
97206         Remove conftestdir{,2} before trying to create the directory.
97207         Make the entire configure script fail if the mkdir fails.
97208
97209 2001-01-14  Jim Meyering  <meyering@lucent.com>
97210
97211         * lib/rename.c: New file.  From Volker Borchert.
97212         Include stdlib.h, string.h or strings.h, and xalloc.h.
97213         Use strip_trailing_slashes rather than open-coding it.
97214
97215 2001-01-03  Paul Eggert  <eggert@twinsun.com>
97216
97217         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
97218
97219 2001-01-03  Jim Meyering  <meyering@lucent.com>
97220
97221         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
97222         of local `inptr' to avoid warning with some system declarations of
97223         iconv.
97224
97225 2001-01-02  Volker Borchert  <bt@teknon.de>
97226
97227         * m4/rename.m4: New file.
97228         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
97229
97230 2001-01-01  Jim Meyering  <meyering@lucent.com>
97231
97232         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
97233         even on systems with utmpx.h.  It's necessary for the declaration of
97234         utmp's ut_user member.  Reported by Andreas Jaeger.
97235
97236         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
97237         available. They are required for the declarations of getgrgid and
97238         getpwuid resp.
97239         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
97240         Reported by Andreas Jaeger.
97241
97242 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
97243
97244         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
97245         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
97246         so `make install' also works in VPATH builds.
97247
97248 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
97249
97250         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
97251         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
97252         can be used in subdirectories.
97253
97254 2000-12-29  Paul Eggert  <eggert@twinsun.com>
97255
97256         * lib/modechange.c: Do not assume that mode_t uses the
97257         traditional octal encoding.  E.g. "chmod 1 FOO" should set
97258         the other-execute bit of FOO even if S_IXOTH != 1.
97259
97260         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
97261         WOTH, XOTH, ALLM): New macros.
97262         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
97263          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
97264         Use them.
97265         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
97266         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
97267         (mode_compile):
97268         No need to use uintmax_t; unsigned long is long enough.
97269         Don't bother to get suffix since we don't use it.
97270
97271 2000-12-26  Jim Meyering  <meyering@lucent.com>
97272
97273         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
97274         better with autoheader.
97275
97276 2000-12-24  Jim Meyering  <meyering@lucent.com>
97277
97278         * lib/hash.c (is_prime): Return explicit boolean values.
97279         (hash_get_first): Return NULL to appease Irix5.6's 89.
97280         Reported by Nelson Beebe.
97281
97282 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
97283
97284         * lib/localcharset.c (locale_charset): Add support for Win32.
97285
97286 2000-12-18  Paul Eggert  <eggert@twinsun.com>
97287
97288         * lib/physmem.h, lib/physmem.c: New files.
97289
97290         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
97291         (noinst_HEADERS): Add physmem.h.
97292
97293         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
97294         't' for compatibility with Solaris 8 sort.
97295
97296 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
97297
97298         * lib/config.charset: Add support for BeOS.
97299
97300 2000-12-17  Jim Meyering  <meyering@lucent.com>
97301
97302         * m4/dos.m4 (jm_AC_DOS): New file and macro.
97303         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
97304
97305 2000-12-16  Jim Meyering  <meyering@lucent.com>
97306
97307         This bug had a serious impact on chown: `chown N:M FILE' (for integer
97308         N and M) would have treated it like `chown N:N FILE'.
97309
97310         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
97311
97312 2000-12-16  Jim Meyering  <meyering@lucent.com>
97313
97314         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
97315         SHELLS_FILE to a file name that's useful on djgpp systems.
97316         Include stdlib.h.
97317         (ADDITIONAL_DEFAULT_SHELLS): Define.
97318         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
97319         Based mostly on a patch from Prashant TR.
97320
97321 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
97322
97323         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
97324         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
97325         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
97326
97327 2000-12-08  Andreas Schwab  <schwab@suse.de>
97328
97329         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
97330         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
97331
97332 2000-12-07  Jim Meyering  <meyering@lucent.com>
97333
97334         * lib/stripslash.c (ISSLASH): Define.
97335         (strip_trailing_slashes): Use ISSLASH rather than comparing against
97336         `/'.
97337         From Prashant TR.
97338
97339         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
97340         (dir_name_r): Declare this function as static.
97341         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
97342         manifest itself on a name containing a mix of slashes and
97343         backslashes.
97344         Make this function work with names starting with a DOS-style
97345         drive letter and colon prefix.
97346         (dir_name): Append `.' if necessary.
97347         Based mostly on patches from Prashant TR and Eli Zaretskii.
97348
97349         * lib/dirname.h (dir_name_r): Remove prototype.
97350
97351 2000-12-06  Paul Eggert  <eggert@twinsun.com>
97352
97353         * m4/off_t-format.m4: Remove this file.
97354         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
97355
97356 2000-12-06  Jim Meyering  <meyering@lucent.com>
97357
97358         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
97359         replacement strtoull, we may well need the replacement strtoul, too.
97360         Check for declarations of strtoul and strtoull.
97361         Check for strtol.  Mainly as a cue to cause automake to include
97362         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
97363         Check for limits.h -- strtol.c needs it.
97364
97365 2000-12-05  Jim Meyering  <meyering@lucent.com>
97366
97367         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
97368
97369 2000-12-04  Jim Meyering  <meyering@lucent.com>
97370
97371         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
97372         Also include memory.h, stdlib.h, unistd.h if appropriate.
97373         Reported by Andreas Jaeger (conflicting declaration of malloc).
97374
97375 2000-12-02  Jim Meyering  <meyering@lucent.com>
97376
97377         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
97378         * m4/jm-macros.m4 (jm_MACROS): require it.
97379
97380 2000-12-02  Jim Meyering  <meyering@lucent.com>
97381
97382         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
97383
97384 2000-12-01  Paul Eggert  <eggert@twinsun.com>
97385
97386         * lib/memrchr.c: Include <config.h> before any system include file.
97387
97388 2000-11-30  Jim Meyering  <meyering@lucent.com>
97389
97390         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
97391
97392 2000-11-30  Jim Meyering  <meyering@lucent.com>
97393
97394         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
97395
97396 2000-11-29  Paul Eggert  <eggert@twinsun.com>
97397
97398         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
97399
97400 2000-11-26  Jim Meyering  <meyering@lucent.com>
97401
97402         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
97403
97404 2000-11-22  Paul Eggert  <eggert@twinsun.com>
97405
97406         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
97407         size of (size_t) -1; it's not portable.
97408
97409 2000-11-17  Jim Meyering  <meyering@lucent.com>
97410
97411         * lib/strstr.c: Update from GNU libc.
97412
97413 2000-11-17  Akim Demaille  <akim@epita.fr>
97414
97415         * lib/obstack.h: Formatting changes.
97416         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
97417         prevent type checking.
97418         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
97419         cast the value to (void *): assigning a `foo *' to a `void *'
97420         variable is valid.
97421         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
97422
97423 2000-11-16  Jim Meyering  <meyering@lucent.com>
97424
97425         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
97426
97427 2000-11-11  Jim Meyering  <meyering@lucent.com>
97428
97429         * lib/error.c: Add a couple #includes, merging from GNU libc version.
97430
97431 2000-11-10  Jim Meyering  <meyering@lucent.com>
97432
97433         * lib/obstack.h: Update from GNU libc.
97434         * lib/obstack.c: Likewise.
97435
97436 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
97437
97438         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
97439
97440 2000-11-06  Paul Eggert  <eggert@twinsun.com>
97441
97442         * lib/getusershell.c (setusershell): Use rewind rather than
97443         fseek/fseeko, to avoid configuration hassles with fseeko.
97444         Don't bother opening SHELLS_FILE if shellstream is NULL;
97445         it's not necessary.
97446
97447 2000-11-05  Jim Meyering  <meyering@lucent.com>
97448
97449         * lib/makepath.h (make_dir): Declare.
97450         * lib/makepath.c (make_dir): Remove `static' attribute.
97451         Tweak a comment.
97452
97453 2000-11-04  Jim Meyering  <meyering@lucent.com>
97454
97455         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
97456
97457 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
97458
97459         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
97460         last one in a bucket, advance to the next bucket.
97461
97462 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
97463
97464         * lib/fnmatch.c: Do not comment out all the code if we are using
97465         the GNU C library, because in some cases we are replacing buggy
97466         code in the GNU C library itself.
97467
97468 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
97469
97470         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
97471         (regex_compile): Catch bogus \(\1\).
97472
97473 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97474
97475         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
97476         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
97477         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
97478
97479 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97480
97481         * lib/error.h, getline.h, modechange.h:
97482         Remove "2000" from Copyright line, as the file hasn't been
97483         changed this year other than in the copyright notice.
97484
97485         * lib/xalloc.h: Add "2000" to Copyright line, as this file
97486         was changed this year.
97487
97488 2000-10-29  Jim Meyering  <meyering@lucent.com>
97489
97490         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
97491         renaming.
97492         * m4/ls-mntd-fs.m4: Likewise
97493
97494 2000-10-29  Jim Meyering  <meyering@lucent.com>
97495
97496         * lib/xstat.in: Fix grammar in comment.
97497
97498 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
97499
97500         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
97501         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
97502         doesn't define __restrict_arr.
97503
97504 2000-10-28  Jim Meyering  <meyering@lucent.com>
97505
97506         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
97507         (jm_PREREQ_MEMCHR): New function.
97508
97509 2000-10-28  Jim Meyering  <meyering@lucent.com>
97510
97511         * lib/memchr.c: Update from libc.
97512         Adjust for portability:
97513         [HAVE_STDLIB_H]: Include stdlib.h.
97514         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
97515         Undef __memchr, too.
97516         [!weak_alias]: Define __memchr to memchr.
97517
97518         * lib/regex.c: Update from libc.
97519         * lib/regex.h: Likewise.
97520         * lib/getopt1.c: Likewise.
97521         * lib/memcmp.c: Likewise.
97522
97523         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
97524         Avoid using fseek, when possible -- it's broken by design.
97525         Patch by Ulrich Drepper.
97526
97527 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
97528
97529         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
97530         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
97531         Giving in to popular pressure to shut up the compiler with casts.
97532
97533 2000-10-26  Jim Meyering  <meyering@lucent.com>
97534
97535         * lib/strftime.c: Update from libc.
97536
97537 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
97538
97539         * regex.c: More `unsigned char' -> `re_char' changes.
97540         Also change several `int' into `re_wchar_t'.
97541         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
97542         (PUSH_FAILURE_POINTER): Don't cast any more.
97543         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
97544         We want GCC to complain, since this piece of code makes
97545         re_match non-reentrant, which *should* be fixed.
97546         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
97547         (EXTEND_BUFFER): Use RETALLOC.
97548         (SET_LIST_BIT): Don't cast.
97549         (re_wchar_t): New type.
97550         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
97551         that those two functions will always properly return.
97552         (IMMEDIATE_QUIT_CHECK): Cast to void.
97553         (analyse_first): Use recursion rather than an explicit stack.
97554         (re_compile_fastmap): Can't fail anymore.
97555         (re_search_2): Don't check re_compile_fastmap for failure.
97556         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
97557         Now also sets the new value (passed in a new argument).
97558         (re_match_2_internal): Use it.
97559         Also, use a new var `reg' of type size_t when looping through regs
97560         rather than reuse the inappropriate `mcnt'.
97561
97562 2000-10-25  Jim Meyering  <meyering@lucent.com>
97563
97564         * lib/obstack.c: Update from libc.
97565
97566 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
97567
97568         * regex.c (regex_compile): Change the way of handling a range from
97569         a char less than 256 to a char not less than 256.
97570
97571 2000-10-24  Andrew Innes  <andrewi@gnu.org>
97572
97573         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
97574         NT-Emacs only.
97575         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
97576         so that re_search functions only quit when callers expect them to.
97577
97578 2000-10-23  Jim Meyering  <meyering@lucent.com>
97579
97580         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
97581         wrong.  That set_locale call must not have any side effects.
97582         From Paul Eggert.
97583
97584 2000-10-22  Jim Meyering  <meyering@lucent.com>
97585
97586         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
97587         [CYCLIC]: Remove now-unused definition.
97588
97589         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
97590         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
97591         Suggestion from Ulrich Drepper.
97592
97593 2000-10-21  Jim Meyering  <meyering@lucent.com>
97594
97595         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
97596         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
97597         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
97598
97599 2000-10-21  Jim Meyering  <meyering@lucent.com>
97600
97601         * lib/dirname.c (memrchr): Declare if necessary.
97602         (dir_name): Remove the restriction that there be no
97603         trailing slashes.  Now, this code skips past them, effectively
97604         ignoring them.
97605         [TEST_DIRNAME] (main): New unit tests.
97606
97607         * lib/memrchr.c: New file from GNU libc.
97608         Undef __memrchr, too.
97609         [!weak_alias]: Define __memrchr to memrchr.
97610         Guard weak_alias use with `#ifdef weak_alias'.
97611
97612 2000-10-21  Jim Meyering  <meyering@lucent.com>
97613
97614         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
97615         (dir_name): Use dir_name_r.
97616         * lib/dirname.h (dir_name_r): Declare it.
97617
97618 2000-10-17  Jim Meyering  <meyering@lucent.com>
97619
97620         * lib/quote.h (PARAMS): Define and use.
97621         Reported by Akim Demaille.
97622
97623         * lib/getopt.c: Update from libc.
97624
97625 2000-10-16  Jim Meyering  <meyering@lucent.com>
97626
97627         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
97628         setlocale.
97629         From Jan Fedak.
97630
97631 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
97632
97633         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
97634
97635 2000-09-25  Jim Meyering  <meyering@lucent.com>
97636
97637         * lib/md5.h (rol): Define (from GnuPG).
97638
97639         * lib/sha.c: Give credit (GnuPG) where due.
97640         (M): Use rol rather than open-coding it.
97641         Add a FIXME comment.
97642
97643 2000-09-21  Jim Meyering  <meyering@lucent.com>
97644
97645         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
97646         Reported by Michael Stone.
97647
97648 2000-09-20  Jim Meyering  <meyering@lucent.com>
97649
97650         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
97651         (noinst_HEADERS): Add sha.h.
97652         Based on code from Scott G. Miller and from GnuPG.
97653
97654 2000-09-18  Jim Meyering  <meyering@lucent.com>
97655
97656         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
97657         LIBS. Otherwise, everyone ends up linking with -lelf for some
97658         configurations.
97659         Reported by Mike Stone.
97660
97661 2000-09-15  Jim Meyering  <meyering@lucent.com>
97662
97663         * lib/regex.c: Update from libc.
97664
97665 2000-09-10  Jim Meyering  <meyering@lucent.com>
97666
97667         * lib/getopt.c (_getopt_internal): Update from glibc.
97668
97669 2000-09-09  Jim Meyering  <meyering@lucent.com>
97670
97671         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
97672         think it should be used as a general replacement for isascii.
97673         * lib/fnmatch.c: Likewise.
97674         * lib/mbswidth.c: Likewise
97675         * lib/regex.c: Likewise.
97676
97677         Don't use atoi.
97678         * lib/userspec.c: Include sys/param.h and limits.h.
97679         Include xstrtol.h.
97680         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
97681         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
97682         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
97683         UID, GID.  Check range.
97684
97685 2000-09-06  Jim Meyering  <meyering@lucent.com>
97686
97687         * lib/getopt.c (_getopt_internal): Update from glibc.
97688
97689 2000-08-30  Jim Meyering  <meyering@lucent.com>
97690
97691         * lib/strftime.c: Merge in changes from GNU libc.
97692
97693 2000-08-26  Jim Meyering  <meyering@lucent.com>
97694
97695         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
97696         * m4/fpending.m4: New file.
97697
97698 2000-08-26  Jim Meyering  <meyering@lucent.com>
97699
97700         * lib/closeout.c: Include "__fpending.h".
97701         (close_stdout_status): Return right away if there's nothing to flush.
97702
97703         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
97704         * lib/__fpending.c: New file.
97705         * lib/__fpending.h: New file.
97706
97707 2000-08-20  Jim Meyering  <meyering@lucent.com>
97708
97709         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
97710         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
97711         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
97712
97713 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
97714
97715         Improve fileutils installation on systems where running
97716         programs (like install) can't be unlinked.
97717         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
97718         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
97719
97720 2000-08-07  Paul Eggert  <eggert@twinsun.com>
97721
97722         Standardize on "memory exhausted" instead of "Memory exhausted"
97723         or "virtual memory exhausted".
97724         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
97725         "virtual memory exhausted".
97726         * lib/same.c (same_name): Invoke xalloc_die instead of printing
97727         our own message.
97728         * lib/userspec.c (parse_user_spec): Likewise.
97729         * lib/bumpalloc.h: comment fix
97730         * lib/same.c, userspec.c: Include xalloc.h.
97731
97732         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
97733         not char *const and pointing to a constant array.
97734         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
97735         (xrealloc): Comment fix.
97736
97737         * lib/userspec.c (parse_user_spec):
97738         Don't translate a message until just before returning,
97739         to avoid unnecessary translation.
97740
97741 2000-08-07  Jim Meyering  <meyering@lucent.com>
97742
97743         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
97744         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
97745         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
97746         getgroups.c, gethostname.c, getopt.h, group-member.c,
97747         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
97748         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
97749         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
97750         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
97751         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
97752         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
97753         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
97754         yesno.c: Back out Copyright date changes for each file with no change
97755         this year.  This eases coordination with other programs using the same
97756         source code modules.  From Paul Eggert.
97757
97758 2000-08-06  Paul Eggert  <eggert@twinsun.com>
97759
97760         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
97761         not char, for compatibility with glibc 2.1.3 strftime.c.
97762
97763 2000-08-03  Greg McGary  <greg@mcgary.org>
97764
97765         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
97766         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
97767         (EXTEND_BUFFER): Use them.
97768
97769 2000-08-01  Jim Meyering  <meyering@lucent.com>
97770
97771         * lib/dirname.c (ISSLASH): Define.
97772         (BACKSLASH_IS_PATH_SEPARATOR): Define.
97773         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
97774         both `\' and `/' may be use as path separators.
97775         Based on a patch from Prashant TR.
97776
97777 2000-07-31  Paul Eggert  <eggert@twinsun.com>
97778
97779         * lib/quotearg.c (quotearg_n_options): Don't make the initial
97780         slot vector a constant, since it might get modified.
97781
97782 2000-07-31  Jim Meyering  <meyering@lucent.com>
97783
97784         * lib/xmalloc.c: Use `virtual memory exhausted', not
97785         `Memory exhausted'.
97786         * lib/obstack.c (print_and_abort): Likewise.
97787
97788 2000-07-30  Paul Eggert  <eggert@twinsun.com>
97789
97790         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
97791         buffer, so that the caller can always quote one small
97792         component of a "memory exhausted" message in slot 0.
97793         From a suggestion by Jim Meyering.
97794
97795 2000-07-30  Jim Meyering  <meyering@lucent.com>
97796
97797         * lib/makepath.c (make_path): Quote the other instance, too.
97798
97799         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
97800         (STATIC_BUF_SIZE): Define.
97801         (quotearg_n_options): Use only statically allocated storage when
97802         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
97803         than STATIC_BUF_SIZE.
97804
97805 2000-07-29  Jim Meyering  <meyering@lucent.com>
97806
97807         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
97808         * lib/dirname.c (dir_name): Likewise.
97809
97810         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
97811         `/'.
97812
97813         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
97814         (dir_name): Assert that there are no trailing slashes.
97815
97816 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
97817
97818         * lib/mbswidth.h (mbswidth): Add a flags argument.
97819         (mbswidth): New declaration.
97820         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
97821         * lib/mbswidth.c (mbswidth): Add a flags argument.
97822         (mbsnwidth): New function.
97823
97824 2000-07-24  Jim Meyering  <meyering@lucent.com>
97825
97826         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
97827
97828 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97829
97830         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
97831
97832 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97833
97834         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
97835         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
97836         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
97837         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
97838         invoke multibyte primitives.
97839
97840 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97841
97842         * lib/quotearg.c:
97843         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
97844         so that mbstate_t is always defined.
97845
97846         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
97847         be 1 in at least one GCC installation, and this configuration
97848         error is likely to be common.  Ignoring MB_LEN_MAX hurts
97849         performance on hosts that have mbrtowc but have only unibyte
97850         locales, but I assume these hosts are rare.
97851
97852 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97853
97854         * lib/mbswidth.c (_XOPEN_SOURCE):
97855         Don't define; this causes problems on Solaris 7.
97856         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
97857
97858 2000-07-23  Jim Meyering  <meyering@lucent.com>
97859
97860         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
97861         too: getgrgid, getpwuid, getuid.
97862
97863 2000-07-23  Jim Meyering  <meyering@lucent.com>
97864
97865         * lib/basename.c (base_name): Add an assertion.
97866
97867 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
97868
97869         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
97870         shadow its mbsinit function.
97871
97872 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97873
97874         * lib/mbswidth.h: New file.
97875         * lib/mbswidth.c: New file.
97876         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
97877         (noinst_HEADERS): Add mbswidth.h.
97878
97879 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97880
97881         * lib/config.charset: Add support for FreeBSD. Improve support for
97882         HP-UX and IRIX 6.
97883
97884 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
97885
97886         * m4/mbswidth.m4: New file.
97887         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
97888
97889 2000-07-15  Jim Meyering  <meyering@lucent.com>
97890
97891         * lib/makepath.c: Include quote.h.
97892         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
97893         corresponding argument in a `quote (...)' call.
97894         Give better diagnostics.
97895
97896         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
97897         (noinst_HEADERS): Add quote.h.
97898
97899         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
97900         from tar's src/misc.c.
97901         * lib/quote.h: New file.  Prototypes for same.
97902
97903 2000-07-14  Paul Eggert  <eggert@twinsun.com>
97904
97905         From a suggestion by Bruno Haible.
97906         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
97907         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
97908         to decide whether to define the BeOS workaround macro;
97909         this adjusts to the change to AC_MBSTATE_T.
97910
97911 2000-07-14  Jim Meyering  <meyering@lucent.com>
97912
97913         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
97914         jm_AC_TYPE_UINTMAX_T.
97915
97916 2000-07-13  Paul Eggert  <eggert@twinsun.com>
97917
97918         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
97919
97920         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
97921         quotearg_buffer_restyled): Add support for
97922         clocale_quoting_style.  Undo previous change to
97923         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
97924         and "{RIGHT QUOTATION MARK}" msgids.
97925
97926 2000-07-10  Paul Eggert  <eggert@twinsun.com>
97927
97928         From a suggestion by Bruno Haible.
97929         * m4/mbstate_t.m4 (AC_MBSTATE_T):
97930         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
97931         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
97932         and mbstate_t, to a single-part test that simply defines mbstate_t.
97933         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
97934         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
97935
97936 2000-07-10  Jim Meyering  <meyering@lucent.com>
97937
97938         * m4/strerror_r.m4: Mirror the correction made in autoconf.
97939
97940         * m4/gnu-source.m4: Output to confdefs.h directly.
97941         Suggestion from Akim Demaille.
97942
97943 2000-07-09  Paul Eggert  <eggert@twinsun.com>
97944
97945         The old behavior of quoting `like this' doesn't look good with
97946         newer, ISO-style fonts.  See:
97947         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
97948
97949         Instead, quote "like this" by default.  Let the translator
97950         tailor the locale-specific quoting behavior by providing
97951         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
97952
97953         * lib/quotearg.c (N_): New macro.
97954         (gettext_default): New function.
97955         (quotearg_buffer_restyled): Use
97956         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
97957         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
97958
97959 2000-07-09  Jim Meyering  <meyering@lucent.com>
97960
97961         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
97962         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
97963
97964         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
97965         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
97966
97967 2000-07-09  Jim Meyering  <meyering@lucent.com>
97968
97969         * lib/Most files: Update copyright dates to include 2000.
97970
97971 2000-07-08  Jim Meyering  <meyering@lucent.com>
97972
97973         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
97974         if not defined.
97975         (xgethostname): Remove now-unnecessary #ifdef.
97976         Move declaration of `err' into loop where it's used.
97977
97978 2000-07-05  Paul Eggert  <eggert@twinsun.com>
97979         and Bruno Haible  <haible@clisp.cons.org>
97980
97981         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
97982         only if the test for an object-type mbstate_t fails.  This
97983         prevents us from mistakenly reporting that mbstate_t is a
97984         system object type after we "#define mbstate_t int" to work
97985         around its lack.
97986
97987 2000-07-05  Paul Eggert  <eggert@twinsun.com>
97988         and Bruno Haible  <haible@clisp.cons.org>
97989
97990         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
97991
97992 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
97993
97994         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
97995         to strerror_r.
97996         Include <ctype.h> for use of isalpha.
97997
97998 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
97999
98000         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
98001         by allocating a larger buffer. Test the gethostname return value for
98002         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
98003         returns an error and ENAMETOOLONG isn't defined.
98004
98005 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98006
98007         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
98008         dimension.
98009
98010 2000-07-04  Jim Meyering  <meyering@lucent.com>
98011
98012         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
98013         of the deprecated AC_CHECKING.
98014
98015 2000-07-04  Jim Meyering  <meyering@lucent.com>
98016
98017         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
98018         Reported by Bruno Haible.
98019
98020 2000-07-04  Jim Meyering  <meyering@lucent.com>
98021
98022         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
98023         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
98024         lacks mbrtowc.
98025
98026 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98027
98028         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
98029         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
98030
98031 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98032         and Bruno Haible  <haible@clisp.cons.org>
98033
98034         * lib/quotearg.c (mbrtowc):
98035         Assign to *pwc, and return 1 only if result is nonzero.
98036         (iswprint): Use ISPRINT when substituting our own mbrtowc.
98037
98038 2000-07-03  Jim Meyering  <meyering@lucent.com>
98039
98040         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
98041
98042 2000-07-03  Jim Meyering  <meyering@lucent.com>
98043
98044         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
98045         This is necessary to get a definition of e.g., UTMP_FILE on
98046         HP-UX 10.20.
98047         From Bob Proulx.
98048
98049 2000-07-02  Jim Meyering  <meyering@lucent.com>
98050
98051         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
98052
98053         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
98054         AC_LIBOBJ(function_name).
98055         * m4/chown.m4: Likewise.
98056         * m4/fnmatch.m4: Likewise.
98057         * m4/ftruncate.m4: Likewise.
98058         * m4/getgroups.m4: Likewise.
98059         * m4/getline.m4: Likewise.
98060         * m4/group-member.m4: Likewise.
98061         * m4/jm-macros.m4: Likewise.
98062         * m4/lstat.m4: Likewise.
98063         * m4/malloc.m4: Likewise.
98064         * m4/memcmp.m4: Likewise.
98065         * m4/nanosleep.m4: Likewise.
98066         * m4/putenv.m4: Likewise.
98067         * m4/realloc.m4: Likewise.
98068         * m4/regex.m4: Likewise.
98069         * m4/stat.m4: Likewise.
98070         * m4/strftime.m4: Likewise.
98071
98072 2000-07-02  Jim Meyering  <meyering@lucent.com>
98073
98074         * lib/quotearg.c (mbstate_t): Don't define here.
98075
98076 2000-07-02  Jim Meyering  <meyering@lucent.com>
98077
98078         * lib/nanosleep.c (SIGCONT): Define if not already defined.
98079
98080 2000-07-01  Jim Meyering  <meyering@lucent.com>
98081
98082         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
98083
98084 2000-07-01  Jim Meyering  <meyering@lucent.com>
98085
98086         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
98087         problem.
98088
98089 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98090
98091         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
98092         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
98093
98094 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98095
98096         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
98097         per change in ../m4/ls-mntd-fs.m4.
98098         (read_filesystem_list): Ignore symbolic links.
98099
98100 2000-06-29  Jim Meyering  <meyering@lucent.com>
98101
98102         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
98103         for declaration of strcmp.
98104
98105         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
98106
98107         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
98108         Avoid warning by casting result to `char *' to remove `const'.
98109
98110 2000-06-28  Jim Meyering  <meyering@lucent.com>
98111
98112         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
98113         included by quotearg.c, for which we perform this test.  From
98114         Bruno Haible.
98115
98116 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98117
98118         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
98119         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
98120         <utmpx.h> exists, put readutmp.o into LIBOBJS.
98121
98122 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98123
98124         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
98125
98126 2000-06-26  Paul Eggert  <eggert@twinsun.com>
98127
98128         savedir now sets errno on failure and invokes xmalloc to get memory.
98129         Fix a couple of other minor bugs while we're at it.
98130
98131         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
98132         (NAMLEN): Remove macro.
98133         (malloc, realloc): Remove decls.
98134         (stpcpy): Likewise.
98135         ("xalloc.h"): Include.
98136         (NAME_SIZE_DEFAULT): New macro.
98137         (savedir): Use xmalloc / xrealloc to allocate memory.
98138         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
98139         Skip "" directory entries.
98140         Use strlen to calculate directory entry length, since the old method
98141         is rarely used these days and isn't worth supporting.
98142         Don't use a pointer after freeing it.
98143         Check for integer overflow when calculating allocation size.
98144         Use memcpy to copy entries, instead of stpcpy.
98145         Set errno properly when returning NULL.
98146         Check for readdir error.
98147
98148 2000-06-26  Jim Meyering  <meyering@lucent.com>
98149
98150         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
98151
98152 2000-06-25  Jim Meyering  <meyering@lucent.com>
98153
98154         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
98155         Linux header bug when _XOPEN_SOURCE is defined to 500.
98156
98157 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98158
98159         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
98160         deficiency.
98161
98162 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98163
98164         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
98165         Include xalloc.h.
98166         Don't include <stdlib.h>.  Don't declare malloc, realloc.
98167
98168 2000-06-24  Jim Meyering  <meyering@lucent.com>
98169
98170         * m4/strerror_r.m4: Revive this file -- to try out an experimental
98171         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
98172         for which strerror does return char*, but which lacks a conveniently
98173         accessible declaration of the function.  If the compile-test says
98174         strerror_r doesn't work, then resort to a `run'-test that works on
98175         BeOS and segfaults on DEC Unix.
98176
98177 2000-06-24  Jim Meyering  <meyering@lucent.com>
98178
98179         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
98180
98181 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98182
98183         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
98184         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
98185
98186 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98187
98188         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
98189         (mbrtowc, mbstate_t): Define substitutes if
98190         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
98191         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
98192         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
98193
98194 2000-06-23  Jim Meyering  <meyering@lucent.com>
98195
98196         * m4/afs.m4: Add missing AC_MSG_RESULT.
98197         Reported by Bruno Haible.
98198
98199         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
98200         Suggestion from Bruno Haible.
98201
98202 2000-06-23  Jim Meyering  <meyering@lucent.com>
98203
98204         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
98205
98206 2000-06-21  Jim Meyering  <meyering@lucent.com>
98207
98208         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
98209
98210 2000-06-21  Jim Meyering  <meyering@lucent.com>
98211
98212         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
98213         (noinst_HEADERS): Add getstr.h.
98214
98215         * lib/getline.c (getstr): Move into a separate file.
98216         * lib/getstr.c (getstr): New file, extracted from getline.c, with
98217         the following changes: new parameter, delim2; both delim[12]
98218         parameters have type `int', not `char'.  The latter would lose
98219         with 8-bit delimiters.
98220         * lib/getstr.h: New file.
98221
98222 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98223
98224         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
98225         than 1024, return a memory chunk of least possible size, instead
98226         of size PATH_MAX + 2. In the loop, increment the size proportionally.
98227         Use free/xmalloc instead of xrealloc to avoid copying for very long
98228         paths.
98229
98230 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98231
98232         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
98233         the empty string.
98234
98235 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98236
98237         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
98238         address, not strdup.  Include <stdlib.h> and don't declare free().
98239
98240 2000-06-19  Jim Meyering  <meyering@lucent.com>
98241
98242         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
98243
98244 2000-06-18  Jim Meyering  <meyering@lucent.com>
98245
98246         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
98247
98248         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
98249         `checking whether...' message to be consistent with that of the
98250         lstat test.
98251
98252 2000-06-18  Jim Meyering  <meyering@lucent.com>
98253
98254         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
98255         Besides, these days every porting target provides a mkdir function.
98256
98257         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
98258         needed. (this snippet comes from src/system.h).
98259
98260 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
98261
98262         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
98263
98264 2000-06-15  Paul Eggert  <eggert@twinsun.com>
98265
98266         * lib/human.c (adjust_value): New function.
98267         (human_readable_inexact): Apply rounding style even when
98268         printing approximate values.
98269
98270 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98271
98272         * lib/human.c (human_readable_inexact): Allow an input block
98273         size that is not a multiple of the output block size, and vice versa.
98274         Reported by Piergiorgio Sartor.
98275
98276 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98277
98278         * lib/getdate.y (get_date): Apply relative times after time
98279         zone indicator, not before.  Reported by Todd A. Jacobs.
98280
98281 2000-06-13  Jim Meyering  <meyering@lucent.com>
98282
98283         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
98284
98285         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
98286
98287 2000-06-12  Paul Eggert  <eggert@twinsun.com>
98288
98289         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
98290
98291 2000-06-12  Jim Meyering  <meyering@lucent.com>
98292
98293         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
98294         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
98295         optional argument.
98296         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
98297         the optional argument, `lib'.
98298
98299 2000-06-08  Jim Meyering  <meyering@lucent.com>
98300
98301         * m4/largefile.m4: Remove file (now that it's part of autoconf).
98302
98303 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98304
98305         Rewrite largefile configuration so that we don't need to run
98306         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
98307         AC_CANONICAL_HOST in configure.in -- jmm]
98308
98309         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
98310         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
98311         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
98312         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
98313         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
98314         All uses changed.
98315         Instead of inspecting the output of getconf, try to compile the
98316         test program without and with the macro definition.
98317         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
98318         for getconf.  Instead, check for the needed flags by compiling
98319         test programs.
98320
98321 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98322
98323         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
98324
98325 2000-06-04  Jim Meyering  <meyering@lucent.com>
98326
98327         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
98328         SunOS 4.1.4 for which gid_t is an unsigned type.
98329
98330 2000-06-03  Jim Meyering  <meyering@lucent.com>
98331
98332         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
98333         now that autoconf requires that.
98334
98335         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
98336         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
98337         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
98338
98339 2000-06-03  Jim Meyering  <meyering@lucent.com>
98340
98341         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
98342
98343 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98344
98345         * m4/glibc21.m4: New file.
98346         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
98347
98348 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98349
98350         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
98351         newer, don't install charset.alias.
98352         * lib/config.charset: Change the Linux/glibc rules so they become empty
98353         on glibc-2.1 or newer.
98354
98355 2000-06-02  Jim Meyering  <meyering@lucent.com>
98356
98357         * lib/mountlist.c: Back out last change.  Instead, do this...
98358         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
98359         me_dummy member using the same `ignore'-testing code.
98360         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
98361         fs_type strings.
98362         From Mark D. Roth.
98363
98364 2000-05-29  Jim Meyering  <meyering@lucent.com>
98365
98366         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
98367         mounts with the `ignore' attribute.  Based on a patch from
98368         Mark D. Roth.
98369
98370 2000-05-28  Jim Meyering  <meyering@lucent.com>
98371
98372         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
98373         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98374         * m4/stat.m4: Likewise.
98375         * m4/lstat.m4: Likewise.
98376         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
98377
98378         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
98379         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
98380
98381 2000-05-26  Jim Meyering  <meyering@lucent.com>
98382
98383         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
98384
98385 2000-05-24  Jim Meyering  <meyering@lucent.com>
98386
98387         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
98388         autoconf requires that.
98389         * m4/lib-check.m4: Likewise.
98390         * m4/jm-macros.m4: Likewise.
98391         * m4/strftime.m4: Likewise.
98392
98393         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
98394         AC_CHECK_DECLS, now that autoconf requires that.
98395
98396 2000-05-22  Jim Meyering  <meyering@lucent.com>
98397
98398         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98399         * m4/lstat.m4: Likewise.
98400
98401 2000-05-22  Jim Meyering  <meyering@lucent.com>
98402
98403         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
98404
98405 2000-05-20  Jim Meyering  <meyering@lucent.com>
98406
98407         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
98408         (jm_PREREQ): Use it.
98409
98410 2000-05-18  Jim Meyering  <meyering@lucent.com>
98411
98412         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
98413         back, too, since it may have been modified by allocate_entry.
98414         (hash_delete): Rewrite to use neither the assignment operator
98415         nor the comma operator in an if-expression.
98416
98417 2000-05-15  Paul Eggert  <eggert@twinsun.com>
98418
98419         * lib/closeout.c:
98420         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
98421         Remove; no longer needed.
98422         "quotearg.h": Add include.
98423         (file_name): Do not bother to explicitly initialize to NULL; it's less
98424         efficient on some hosts.
98425         (close_stdout_status): Remove test as to whether stdout was already
98426         closed; it breaks for the case "echo x | sort >&-".
98427         Quote file name colons.
98428         Do not assume that _("write error") lacks format strings.
98429
98430 2000-05-15  Jim Meyering  <meyering@lucent.com>
98431
98432         * lib/version-etc.c (version_etc_copyright): Update the copyright
98433         string used in all --version output.
98434
98435 2000-05-14  Jim Meyering  <meyering@lucent.com>
98436
98437         * lib/closeout.c (close_stdout_set_file_name): New function.
98438         (close_stdout_status): Use new file-scoped global.
98439         Return right away if fstat says the stdout file descriptor is invalid.
98440         * lib/closeout.h (close_stdout_set_file_name): Declare.
98441
98442 2000-05-10  Jim Meyering  <meyering@lucent.com>
98443
98444         * lib/closeout.c [default_exit_status]: New file-scoped variable.
98445         (close_stdout_set_status): New function.
98446         * lib/closeout.h (close_stdout_set_status): Declare.
98447
98448 2000-05-09  Jim Meyering  <meyering@lucent.com>
98449
98450         * m4/gettext.m4: Rename this...
98451         * m4/libintl.m4: ...to this.
98452
98453 2000-05-08  Jim Meyering  <meyering@lucent.com>
98454
98455         * lib/long-options.c: Don't include closeout.h.
98456         (parse_long_options): Don't call close_stdout for --version.
98457
98458 2000-05-06  Paul Eggert  <eggert@twinsun.com>
98459
98460         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
98461         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
98462         2.1.3 bug.  This avoids a clash when files like regex.c define
98463         _GNU_SOURCE.
98464
98465 2000-05-06  Jim Meyering  <meyering@lucent.com>
98466
98467         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
98468         (AC_REPLACE_FUNCS): Add strnlen.
98469
98470         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
98471         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
98472
98473         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
98474         AC_SEARCH_LIBS call for nanosleep.
98475         (LIB_NANOSLEEP): Set and AC_SUBST.
98476
98477 2000-05-06  Jim Meyering  <meyering@lucent.com>
98478
98479         * lib/strnlen.c: Undefine __strnlen and strnlen.
98480         [!weak_alias]: Define __strnlen to strnlen.
98481
98482         * lib/atexit.c: New file, from libiberty.
98483
98484 2000-05-06  Jim Meyering  <meyering@lucent.com>
98485
98486         * lib/closeout.c (close_stdout_status): Also check for errors on the
98487         stderr stream.
98488
98489 2000-05-05  Jim Meyering  <meyering@lucent.com>
98490
98491         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
98492         AC_SEARCH_LIBS call for clock_gettime.
98493         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
98494
98495         * m4/search-libs.m4: Update from autoconf.
98496
98497         su doesn't work on Solaris 2.6.
98498         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
98499         <shadow.h>.  Reported by Dragos Harabor.
98500
98501 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
98502
98503         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
98504         memcpy instead of xmalloc, xrealloc, path_concat.
98505         (locale_charset): Treat empty environment variables as absent.
98506         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
98507
98508 2000-05-04  Jim Meyering  <meyering@lucent.com>
98509
98510         * lib/getopt.c: Update from glibc.
98511         * lib/obstack.c: Likewise.
98512         * lib/obstack.h: Likewise.
98513         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
98514         file
98515
98516         * lib/regex.h: Likewise.
98517         * lib/strndup.c: Likewise.
98518         * lib/strnlen.c: New file, from glibc.
98519
98520 2000-05-03  Jim Meyering  <meyering@lucent.com>
98521
98522         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
98523
98524 2000-05-02  Paul Eggert  <eggert@twinsun.com>
98525
98526         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
98527         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
98528         compile-time test, rather than inspecting host and OS, to
98529         decide whether to define _LARGEFILE_SOURCE.
98530
98531 2000-05-01  Jim Meyering  <meyering@lucent.com>
98532
98533         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
98534
98535         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
98536         Based on a patch from Bruno Haible.
98537
98538 2000-05-01  Jim Meyering  <meyering@lucent.com>
98539
98540         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
98541
98542 2000-04-29  Jim Meyering  <meyering@lucent.com>
98543
98544         * lib/path-concat.c: Declare strdup only if it's not defined.
98545         * lib/canon-host.c: Likewise.
98546
98547 2000-04-28  Jim Meyering  <meyering@lucent.com>
98548
98549         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
98550         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
98551         is included first, then limits.h is included by locale.h by libintl.h.
98552         From John David Anglin.
98553
98554 2000-04-25  Jim Meyering  <meyering@lucent.com>
98555
98556         * lib/makepath.c (S_IRWXUGO): Define.
98557         (make_path): Always perform explicit chmod if MODE specifies any
98558         of the `special' permission bits.  Prompted by a bug report against
98559         install from Mate Wierdl and Joost van Baal.
98560
98561 2000-04-18  Jim Meyering  <meyering@lucent.com>
98562
98563         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
98564         (jm_PREREQ): Use it.
98565
98566 2000-04-18  Jim Meyering  <meyering@lucent.com>
98567
98568         * lib/README: New file.
98569
98570         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
98571         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
98572
98573 2000-04-17  Jim Meyering  <meyering@lucent.com>
98574
98575         Get it right :-)
98576         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
98577         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
98578         Suggestion from Akim Demaille.
98579
98580 2000-04-17  Jim Meyering  <meyering@lucent.com>
98581
98582         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
98583         the definition of it to rpl_strftime also defined-away the system's
98584         declaration.
98585
98586 2000-04-15  Jim Meyering  <meyering@lucent.com>
98587
98588         Use `C' to denote so-called `contiguous' files, the same way
98589         that tar does.
98590         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
98591         (ftypelet): Use S_ISCTG.
98592         From Michael Deutschmann.
98593
98594 2000-04-14  Jim Meyering  <meyering@lucent.com>
98595
98596         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
98597         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
98598         clobbered.
98599
98600 2000-04-14  Jim Meyering  <meyering@lucent.com>
98601
98602         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
98603
98604 2000-04-13  Jim Meyering  <meyering@lucent.com>
98605
98606         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
98607         AH_VERBATIM to insert required #ifndef into config.h.in.
98608         Suggestion from Akim Demaille.
98609
98610 2000-04-12  Jim Meyering  <meyering@lucent.com>
98611
98612         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
98613         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
98614         Christian Krackowizer.
98615
98616         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
98617         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
98618         (AC_SYS_LARGEFILE): Require.
98619         (AM_C_PROTOTYPES): Require.
98620
98621 2000-04-08  Jim Meyering  <meyering@lucent.com>
98622
98623         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
98624         names don't conflict.  Reported by Eli Zaretskii.
98625
98626 2000-04-07  Jim Meyering  <meyering@lucent.com>
98627
98628         * lib/putenv.c: Move inclusion of errno.h so it follows that of
98629         sys/types.h, to work around system header problems on AIX 3.2.5.
98630         From Bruno Haible.
98631
98632 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
98633
98634         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
98635         bug.  Deal with the different error behavior of Irix iconv.
98636
98637 2000-04-05  Paul Eggert  <eggert@twinsun.com>
98638
98639         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
98640         IRIX if the installer said otherwise.
98641
98642 2000-04-05  Jim Meyering  <meyering@lucent.com>
98643
98644         Portability tweaks required for ultrix4.3.
98645         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
98646         (jm_CHECK_DECLS): Add getutent to the list of functions.
98647         (_jm_DECL_HEADERS): Add utmpx.h.
98648         From John David Anglin.
98649
98650         * m4/strftime.m4: Back out the 2000-04-02 change.
98651         Instead of that change, simply undefine putenv in the test program.
98652
98653 2000-04-05  Jim Meyering  <meyering@lucent.com>
98654
98655         Portability tweaks required for ultrix4.3.
98656         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
98657         getutent.
98658         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
98659         * lib/canon-host.c: Declare strdup.
98660         * lib/path-concat.c: Likewise.
98661         From John David Anglin.
98662
98663 2000-04-04  Jim Meyering  <meyering@lucent.com>
98664
98665         Be more DOS 8.3-friendly.
98666         * lib/ref-add.sin: Renamed from ref-add.sed.in.
98667         * lib/ref-del.sin: Renamed from ref-del.sed.in.
98668         * lib/Makefile.am: Reflect renaming.
98669         Reported by Eli Zaretskii.
98670
98671         Use a temporary file name that won't clash with `charset.alias'
98672         in the DOS 8.3 name space.
98673         * lib/Makefile.am (charset_tmp): Define.
98674         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
98675         (uninstall-local): Likewise.
98676         Reported by Eli Zaretskii.
98677
98678 2000-04-03  Jim Meyering  <meyering@lucent.com>
98679
98680         * m4/gettext.m4: Fix typo in comment.
98681
98682         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
98683         textutils/configure.in).  Suggestion from Paul Eggert.
98684         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
98685
98686 2000-04-02  Paul Eggert  <eggert@twinsun.com>
98687
98688         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
98689         variable in the shell rather than using putenv, which isn't
98690         portable.  This avoids the configure-time inter-test dependency
98691         on the potentially-renamed putenv function.
98692
98693 2000-03-30  Paul Eggert  <eggert@twinsun.com>
98694
98695         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
98696         before checking struct stat.st_blksize, so that
98697         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
98698
98699 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98700
98701         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
98702         since strftime.c uses HAVE_STRFTIME to decide whether to use
98703         the underlying strftime.
98704
98705 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98706
98707         * lib/time/strftime.c (my_strftime): Make sure we call the system
98708         strftime, not ourselves, when invoking the underlying strftime.
98709
98710 2000-03-24  Jim Meyering  <meyering@lucent.com>
98711
98712         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
98713         (charset_alias): Define.
98714         (install-exec-local): Factor out common code.
98715         (uninstall-local): Split lines longer than 80.
98716         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
98717         (SUFFIXES): Define.
98718         (.sed.in.sed): New rule.  Don't redirect directly to $@.
98719         (CLEANFILES): Add ref-add.sed and ref-del.sed.
98720
98721 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
98722
98723         * lib/config.charset: Output a line containing "Packages using this
98724         file".
98725         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
98726         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
98727         ref-del.sed): New rules.
98728
98729 2000-03-17  Jim Meyering  <meyering@lucent.com>
98730
98731         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
98732         Otherwise, include <strings.h>
98733
98734 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
98735
98736         * lib/unicodeio.c (utf8_wctomb): New function.
98737         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
98738         format instead of in UCS-4 with platform dependent endianness.
98739
98740 2000-03-10  Jim Meyering  <meyering@lucent.com>
98741
98742         * m4/lib-check.m4: Look for getspnam in -lgen, too.
98743         From Marco Franzen.
98744
98745 2000-03-07  Paul Eggert  <eggert@twinsun.com>
98746
98747         * lib/savedir.c (savedir): Work even if directory size is
98748         negative; this can happen with some screwy NFS configurations.
98749
98750 2000-03-06  Jim Meyering  <meyering@lucent.com>
98751
98752         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
98753         if it's NULL (because we ran out of memory).  From Bruno Haible.
98754
98755 2000-03-05  Jim Meyering  <meyering@lucent.com>
98756
98757         * lib/localcharset.c ("path-concat.h"): Include.
98758         (get_charset_aliases): Use path_concat instead of ANSI string
98759         concatenation.
98760
98761         * lib/unicodeio.h (PARAMS): Define.
98762         Use it to guard prototype.
98763
98764 2000-03-04  Jim Meyering  <meyering@lucent.com>
98765
98766         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
98767         for lib/localcharset.c.
98768
98769 2000-03-04  Jim Meyering  <meyering@lucent.com>
98770
98771         * lib/Makefile.am (install-exec-local): Create $(libdir) before
98772         installing into it.
98773         (uninstall-local): Uncomment this rule so `make distcheck' works
98774         once again.
98775
98776         * lib/unicodeio.c (<errno.h>): Include it.
98777         (errno): Declare if not defined.
98778
98779         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
98780
98781         * lib/config.charset: New version, incorporating remarks from a linux
98782         i18n mailing list.  From Bruno Haible.
98783
98784 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
98785
98786         * m4/codeset.m4: New file.
98787         * m4/iconv.m4: New file.
98788         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
98789
98790 2000-03-03  Jim Meyering  <meyering@lucent.com>
98791
98792         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
98793
98794 2000-03-02  Jim Meyering  <meyering@lucent.com>
98795
98796         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
98797         the messages come out on separate lines.
98798
98799         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
98800         rather than jm_CHECK_DECLARATIONS.
98801         * m4/decl.m4: Remove now-unused file.
98802
98803         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
98804         geteuid.
98805
98806 2000-03-02  Jim Meyering  <meyering@lucent.com>
98807
98808         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
98809
98810 2000-03-01  Jim Meyering  <meyering@lucent.com>
98811
98812         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
98813         * lib/unicodeio.c: Likewise.
98814
98815 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
98816
98817         * lib/config.charset: New file.
98818         * lib/localcharset.c: New file.
98819         * lib/unicodeio.h, lib/unicodeio.c: New files.
98820         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
98821         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
98822         (noinst_HEADERS): Add unicodeio.h.
98823         (all-local, install-exec-local, charset.alias): New targets.
98824
98825 2000-02-28  Paul Eggert  <eggert@twinsun.com>
98826
98827         * lib/quotearg.c (ALERT_CHAR): New macro.
98828         (quotearg_buffer_restyled): Use it.
98829
98830 2000-02-27  Jim Meyering  <meyering@lucent.com>
98831
98832         * m4/check-decl.m4: Add getenv to the list.
98833
98834 2000-02-27  Jim Meyering  <meyering@lucent.com>
98835
98836         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
98837         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
98838
98839         * lib/backupfile.c: Guard inclusion of stdlib.h with
98840         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
98841         Declare malloc if needed.
98842
98843         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
98844         `#ifndef HAVE_DECL..'
98845         now that autoconf always defines the HAVE_DECL_ symbols.
98846         * lib/human.c: Likewise.
98847         * lib/same.c: Likewise.
98848         * lib/strtoumax.c: Likewise.
98849
98850         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
98851         declaration check was not run.
98852         * lib/hash.c: Likewise.
98853         * lib/human.c: Likewise.
98854         * lib/same.c: Likewise.
98855         * lib/strtoumax.c: Likewise.
98856
98857         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
98858         `.', then first look up the entire `.'-containing string as a login
98859         name.
98860
98861 2000-02-23  Jim Meyering  <meyering@lucent.com>
98862
98863         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
98864         in place of my hack.
98865
98866 2000-02-18  Paul Eggert  <eggert@twinsun.com>
98867
98868         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
98869         (textint): New typedef.
98870         (parser_control): Member year changed from int to textint.
98871         All uses changed.
98872         (YYSTYPE): Removed; replaced by %union with int and textint members.
98873         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
98874         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
98875         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
98876         (tSNUMBER, tUNUMBER): Now of type <textintval>.
98877         (date, number, to_year): Use width of number in digits, not its value,
98878         to determine whether it's a 2-digit year, or a 2-digit time.
98879         (yylex): Store number of digits of numeric tokens.
98880         Reported by John Kendall.
98881
98882         (parser_control): Changed from struct parser_control to typedef (for
98883         consistency).  All uses changed.
98884
98885         (tID): Removed; not used.
98886         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
98887
98888 2000-02-14  Paul Eggert  <eggert@twinsun.com>
98889
98890         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
98891         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
98892
98893 2000-02-12  Jim Meyering  <meyering@lucent.com>
98894
98895         * lib/userspec.c (ISDIGIT): Define it.
98896         (isdigit): Remove definition.
98897         (is_number): Use ISDIGIT, not isdigit.
98898         <libintl.h>: Include.
98899         (_ and N_): Define.
98900         (parse_user_spec): Mark translatable strings.
98901
98902 2000-02-10  Jim Meyering  <meyering@lucent.com>
98903
98904         With these changes, nanosleep.[ch] are finally enough like the other
98905         lib/* replacement files to compile on a few more losing systems.
98906
98907         * lib/nanosleep.h: Don't include config.h.
98908         Remove prototype from declaration of nanosleep.
98909         (PARAMS): Remove now-unneeded definition.
98910         * lib/nanosleep.c: #undef nanosleep.
98911         (rpl_nanosleep): Rename from nanosleep.
98912
98913 2000-02-10  Jim Meyering  <meyering@lucent.com>
98914
98915         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
98916         gnu_nanosleep to rpl_nanosleep.
98917
98918 2000-02-09  Jim Meyering  <meyering@lucent.com>
98919
98920         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
98921         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
98922
98923 2000-02-08  Akim Demaille  <akim@epita.fr>
98924
98925         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
98926         `[' and `]' and remove uses of `changequote'.
98927         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
98928         (AC_SYS_LARGEFILE): Likewise.
98929         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
98930         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
98931         of changequote.
98932         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
98933         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
98934         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
98935         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
98936
98937 2000-02-05  Jim Meyering  <meyering@lucent.com>
98938
98939         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
98940         Remove explicit use of AC_HEADER_TIME.  It is required by
98941         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
98942         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
98943         in autoconf whereby the expansion of the latter ended up preceding
98944         the expansion of its prerequisite, AC_HEADER_TIME.
98945         Reported by Volker Borchert.
98946
98947 2000-02-03  Jim Meyering  <meyering@lucent.com>
98948
98949         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
98950
98951 2000-02-03  Jim Meyering  <meyering@lucent.com>
98952
98953         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
98954         rather than with `#if HAVE_UTMPNAME'.
98955
98956 2000-02-02  Jim Meyering  <meyering@lucent.com>
98957
98958         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
98959         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
98960         Reported by Eli Zaretskii.
98961
98962 2000-02-01  Jim Meyering  <meyering@lucent.com>
98963
98964         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
98965
98966 2000-01-31  Jim Meyering  <meyering@lucent.com>
98967
98968         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
98969         functions.  Add the time.h and sys/time.h headers along with the
98970         AC_REQUIRE'ment of AC_HEADER_TIME.
98971
98972 2000-01-31  Jim Meyering  <meyering@lucent.com>
98973
98974         * lib/nanosleep.h (nanosleep): Guard declaration with
98975         `#if ! HAVE_DECL_NANOSLEEP'.
98976         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
98977         the declaration in that vendor's sys/timers.h.
98978         Reported by Christian Krackowizer.
98979
98980         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
98981         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
98982         (ISPRINT): Likewise.
98983         Reported by Tom Tromey.
98984
98985 2000-01-30  Jim Meyering  <meyering@lucent.com>
98986
98987         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
98988
98989         * m4/prereq.m4 (utmp_includes): Define.
98990         Check for ut_user and ut_name members in both struct utmpx
98991         and struct utmp.
98992
98993 2000-01-30  Jim Meyering  <meyering@lucent.com>
98994
98995         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
98996         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
98997         header files where only utmpx.ut_user is declared.
98998
98999         * lib/readutmp.h (UT_USER): Define.
99000
99001 2000-01-29  Jim Meyering  <meyering@lucent.com>
99002
99003         * m4/lib-check.m4: New file containing library-related checks from
99004         fileutils and sh-utils (textutils had none).
99005
99006 2000-01-28  Jim Meyering  <meyering@lucent.com>
99007
99008         * m4/perl.m4: Change format of warning message to look more like that
99009         from the missing script.  Suggestion from François Pinard.
99010
99011 2000-01-25  Jim Meyering  <meyering@lucent.com>
99012
99013         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
99014         well as time.h in the compile check.
99015         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
99016         Fix typo in cross-compiling case: s/yes/no/.
99017
99018 2000-01-23  Jim Meyering  <meyering@lucent.com>
99019
99020         * m4/jm-macros.m4: Move df-related tests here from
99021         fileutils/configure.in
99022
99023         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
99024         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
99025
99026         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
99027         s/space/ac_fsusage_space/.
99028         (jm_FILE_SYSTEM_USAGE): Take two parameters.
99029
99030         * m4/ftruncate.m4: New file (derived from part of
99031         fileutils/configure.in).
99032         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
99033         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
99034
99035         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
99036         AC_SUBST these here, rather than just in sh-util/configure.in, so
99037         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
99038         all the same.
99039         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
99040         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
99041         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
99042         (AC_SUBST(POW_LIBM)): Likewise.
99043         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
99044
99045 2000-01-23  Jim Meyering  <meyering@lucent.com>
99046
99047         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
99048         obstack.c.
99049
99050 2000-01-22  Jim Meyering  <meyering@lucent.com>
99051
99052         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
99053
99054         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
99055
99056         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
99057         configure.in
99058         (AC_CHECK_HEADERS): Likewise for sh-utils.
99059         (AC_CHECK_HEADERS): Likewise for textutils.
99060         Merge the three lists of headers.
99061
99062         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
99063         from fileutils' configure.in.
99064
99065         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
99066         code. Moved tests into their own function (_jm_DECL_HEADERS) in
99067         check-decl.m4.
99068
99069         * m4/check-decl.m4: Use #if rather than #ifdef.
99070         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
99071         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
99072         (_jm_DECL_HEADERS): Define new function.
99073         (jm_CHECK_DECLARATIONS): Require it.
99074
99075 2000-01-22  Jim Meyering  <meyering@lucent.com>
99076
99077         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
99078         [! HAVE_DECL_STRTOULL]: Declare strtoull.
99079         Required for some AIX systems.  Reported by Christian Krackowizer.
99080         [TESTING] (main): New function.
99081
99082         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
99083         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
99084         letters.
99085
99086         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
99087         iswprint.
99088
99089         * lib/strverscmp.c (ISDIGIT): Define.
99090         (strverscmp): Use ISDIGIT, not isdigit.
99091
99092 2000-01-19  Jim Meyering  <meyering@lucent.com>
99093
99094         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
99095         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
99096         defines `struct timespec' in <sys/time.h>
99097
99098         * m4/c-bs-a.m4: Remove uses of changequote altogether.
99099         Thanks to Akim for explaining.
99100
99101 2000-01-17  Paul Eggert  <eggert@twinsun.com>
99102
99103         * lib/nanosleep.c (nanosleep):
99104         Don't use SA_INTERRUPT to decide whether to call sigaction, as
99105         POSIX.1 doesn't require SA_INTERRUPT and some systems
99106         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
99107         it's been part of POSIX.1 since day 1 (in 1988).
99108
99109 2000-01-17  Jim Meyering  <meyering@lucent.com>
99110
99111         * lib/interlock: Remove unused file.  Reported by François Pinard.
99112
99113 2000-01-16  Paul Eggert  <eggert@twinsun.com>
99114
99115         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
99116         alert, backslash, formfeed, and vertical tab unnecessarily in
99117         shell quoting style.
99118
99119 2000-01-16  Jim Meyering  <meyering@lucent.com>
99120
99121         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
99122         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
99123         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
99124         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
99125
99126 2000-01-16  Jim Meyering  <meyering@lucent.com>
99127
99128         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
99129         because the latter didn't work.
99130
99131 2000-01-15  Jim Meyering  <meyering@lucent.com>
99132
99133         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
99134         (AC_REPLACE_FUNCS): Add memcpy and memset.
99135         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
99136         Add strpbrk.
99137         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
99138
99139 2000-01-12  Jim Meyering  <meyering@lucent.com>
99140
99141         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
99142         (jm_PREREQ): Use it.
99143         (jm_PREREQ_READUTMP): New macro.
99144         (jm_PREREQ): Use it.
99145
99146 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99147
99148         Quote multibyte characters correctly.
99149         * m4/c-bs-a.m4: New file.
99150         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
99151         (jm_PREREQ): Use it.
99152
99153 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99154
99155         * m4/uintmax_t.m4: Port to autoconf 2.13.
99156
99157 2000-01-08  Jim Meyering  <meyering@ascend.com>
99158
99159         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
99160         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
99161
99162 2000-01-04  Jim Meyering  <meyering@ascend.com>
99163
99164         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
99165         jm_STRUCT_DIRENT_D_TYPE.
99166         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
99167         jm_STRUCT_DIRENT_D_INO.
99168         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
99169         jm_STRUCT_UTIMBUF.
99170         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
99171         renamings.
99172         * m4/utime.m4: Likewise.
99173
99174         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
99175         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
99176
99177 2000-01-03  Paul Eggert  <eggert@twinsun.com>
99178
99179         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
99180         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
99181
99182 2000-01-02  Jim Meyering  <meyering@ascend.com>
99183
99184         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
99185         remember if this is necessary.
99186
99187 1999-12-26  Jim Meyering  <meyering@ascend.com>
99188
99189         * m4/jm-macros.m4: Use it here.
99190         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
99191
99192 1999-12-23  Jim Meyering  <meyering@ascend.com>
99193
99194         * m4/jm-macros.m4: Check for clock_gettime (moved from
99195         fileutils/configure.in)
99196         Check for gettimeofday.
99197
99198 1999-12-20  Jim Meyering  <meyering@ascend.com>
99199
99200         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
99201         autoconf-2.14a-1999-12-20.
99202
99203 1999-12-19  Jim Meyering  <meyering@ascend.com>
99204
99205         * m4/lstat-slash.m4: New file.
99206         * m4/jm-macros.m4: Use the new macro:
99207         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99208
99209 1999-12-07  Jim Meyering  <meyering@ascend.com>
99210
99211         * m4/perl.m4: Require that File::Compare be available, too.
99212         Too many systems seem to lack it.
99213
99214         * m4/strftime.m4: Add checks for most of the cpp macros tested in
99215         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
99216
99217 1999-11-18  Paul Eggert  <eggert@twinsun.com>
99218
99219         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
99220         problem with the QNX 4.25 shell, which doesn't propagate exit
99221         status of failed commands inside shell assignments.
99222
99223 1999-11-17  Jim Meyering  <meyering@ascend.com>
99224
99225         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
99226
99227 1999-11-07  Jim Meyering  <meyering@ascend.com>
99228
99229         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
99230
99231 1999-11-06  Jim Meyering  <meyering@ascend.com>
99232
99233         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
99234         * m4/jm-macros.m4 (jm_MACROS): Use it here.
99235
99236 1999-11-05  Jim Meyering  <meyering@ascend.com>
99237
99238         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
99239         configure.in of textutils, fileutils, and sh-utils into this one
99240         (shared between those packages) file.
99241         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
99242         AC_STRUCT_ST_BLKSIZE.
99243
99244 1999-11-03  Jim Meyering  <meyering@ascend.com>
99245
99246         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
99247         of AC_CHECK_TYPE checks includes unistd.h.
99248         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
99249         Suggestion from Akim Demaille.
99250
99251 1999-10-30  Jim Meyering  <meyering@ascend.com>
99252
99253         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
99254         m4-quoted string.
99255         * m4/ls-mntd-fs.m4: Likewise.
99256         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
99257         * m4/jm-winsz1.m4: Likewise.
99258
99259         * m4/const.m4: Remove file, since the fix made it into the experimental
99260         version of autoconf.
99261         * m4/mktime.m4: Likewise.
99262
99263         * m4/check-type.m4: Remove file, now that the latest version of
99264         AC_CHECK_TYPE takes a third arg to specify additional #includes.
99265
99266         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
99267         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
99268         AC_CHECK_TYPE.
99269
99270 1999-10-04  Jim Meyering  <meyering@ascend.com>
99271
99272         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
99273
99274 1999-09-22  Paul Eggert  <eggert@twinsun.com>
99275
99276         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
99277         2.95.1 bug with HP-UX 10.20.
99278
99279 1999-09-17  Jim Meyering  <meyering@ascend.com>
99280
99281         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
99282         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
99283         due to missing strdup (against sh-utils-2.0).
99284
99285 1999-08-29  Jim Meyering  <meyering@ascend.com>
99286
99287         * m4/jm-macros.m4: Require jm_BISON.
99288         * m4/bison.m4: New file.
99289
99290 1999-08-17  Paul Eggert  <eggert@twinsun.com>
99291
99292         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
99293         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
99294
99295 1999-08-05  Jim Meyering  <meyering@ascend.com>
99296
99297         * m4/getline.m4: Rename test file from conftestdata to conftest.data
99298         to avoid conflicts with `conftest' on 8+3 filesystems.
99299         Suggestion from Eli Zaretskii.
99300
99301 1999-08-04  Jim Meyering  <meyering@ascend.com>
99302
99303         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
99304         fileutils and sh-utils (textutils's getline test was inadequate).
99305         (AM_FUNC_GETLINE): Run this test.
99306         (AC_CHECK_FUNCS): Check for getdelim.
99307         Reported by Bob Proulx.
99308
99309 1999-08-02  Jim Meyering  <meyering@ascend.com>
99310
99311         * m4/jm-macros.m4: Add a comment.
99312
99313 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99314
99315         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
99316         <inttypes.h> defines strtoumax as a macro (and not as a
99317         function).
99318
99319 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99320
99321         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
99322         that we can shift, multiply and divide unsigned long long
99323         values; Ultrix cc can't do it.
99324
99325 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99326
99327         * m4/mktime.m4: New file, which is a preview of what should appear
99328         in the next public autoconf release.
99329
99330 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99331
99332         * m4/lfs.m4: Remove this file.
99333         * m4/largefile.m4: New file.  It contains the old contents of
99334         lfs.m4, except that all names with prefix AC_LFS have been
99335         changed to use the prefix AC_SYS_LARGEFILE instead, to be
99336         compatible with future autoconf versions.  Also, some minor m4
99337         quoting problems have been fixed.
99338
99339 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99340
99341         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
99342         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
99343         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
99344         and simplify the shell code.
99345
99346 1999-08-01  Jim Meyering  <meyering@ascend.com>
99347
99348         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
99349         m4.
99350
99351 1999-07-20  Jim Meyering  <meyering@ascend.com>
99352
99353         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
99354
99355 1999-07-15  Jim Meyering  <meyering@ascend.com>
99356
99357         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
99358
99359 1999-05-22  Jim Meyering  <meyering@ascend.com>
99360
99361         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
99362
99363 1999-05-20  Jim Meyering  <meyering@ascend.com>
99364
99365         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
99366         Add a colon after each `then' in case $4 is empty.
99367
99368 1999-05-16  Jim Meyering  <meyering@ascend.com>
99369
99370         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
99371
99372 1999-05-10  Jim Meyering  <meyering@ascend.com>
99373
99374         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
99375
99376         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
99377         AC_FUNC_MKTIME.
99378
99379 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
99380
99381         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
99382
99383 1999-05-04  Paul Eggert  <eggert@twinsun.com>
99384
99385         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
99386         not CPPFLAGS, so that linking works correctly in IRIX.
99387
99388 1999-04-30  Paul Eggert  <eggert@twinsun.com>
99389
99390         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
99391
99392 1999-04-20  Paul Eggert  <eggert@twinsun.com>
99393
99394         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
99395         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
99396         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
99397         jm_AC_TYPE_UNSIGNED_LONG_LONG.
99398         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
99399
99400         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
99401
99402 1999-04-20  Jim Meyering  <meyering@ascend.com>
99403
99404         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
99405         AC_REPLACE xstroull if necessary.  From Paul Eggert.
99406         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
99407
99408 1999-04-18  Jim Meyering  <meyering@ascend.com>
99409
99410         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
99411         * m4/jm-macros.m4: Use it.
99412
99413 1999-04-06  Jim Meyering  <meyering@ascend.com>
99414
99415         * m4/strftime.m4: Remove test for %f.
99416
99417 1999-03-29  Jim Meyering  <meyering@ascend.com>
99418
99419         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
99420         superset of the AC_TYPE_* checks in the textutils, fileutils,
99421         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
99422         AC_TYPE_PID_T.
99423
99424 1999-03-28  Jim Meyering  <meyering@ascend.com>
99425
99426         * m4/jm-macros.m4: Define GNU_PACKAGE here.
99427         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
99428         replaced e.g., in the *.sh files of the sh-utils.
99429
99430 1999-03-20  Jim Meyering  <meyering@ascend.com>
99431
99432         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
99433         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
99434         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
99435
99436 1999-03-19  Jim Meyering  <meyering@ascend.com>
99437
99438         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
99439
99440 1999-03-12  Jim Meyering  <meyering@ascend.com>
99441
99442         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
99443
99444 1999-03-07  Jim Meyering  <meyering@ascend.com>
99445
99446         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
99447         declared.
99448
99449 1999-02-17  Jim Meyering  <meyering@ascend.com>
99450
99451         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
99452         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
99453
99454 1999-02-07  Jim Meyering  <meyering@ascend.com>
99455
99456         * m4/group-member.m4: New file -- extracted from sh-utils'
99457         configure.in.
99458
99459         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
99460         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
99461
99462 1999-02-06  Jim Meyering  <meyering@ascend.com>
99463
99464         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
99465         * m4/fnmatch.m4: Likewise.
99466         * m4/getgroups.m4: Likewise.
99467         * m4/lstat.m4: Likewise.
99468         * m4/malloc.m4: Likewise.
99469         * m4/putenv.m4: Likewise.
99470         * m4/realloc.m4: Likewise.
99471         * m4/regex.m4: Likewise.
99472         * m4/stat.m4: Likewise.
99473         * m4/strftime.m4: Likewise.
99474         Suggestion from Alain Magloire.
99475
99476         * m4/chown.m4: Use `.$ac_objext', not `.o'.
99477         * m4/fnmatch.m4: Likewise.
99478         * m4/getgroups.m4: Likewise.
99479         * m4/getline.m4: Likewise.
99480         * m4/lstat.m4: Likewise.
99481         * m4/malloc.m4: Likewise.
99482         * m4/memcmp.m4: Likewise.
99483         * m4/putenv.m4: Likewise.
99484         * m4/realloc.m4: Likewise.
99485         * m4/regex.m4: Likewise.
99486         * m4/stat.m4: Likewise.
99487         * m4/strftime.m4: Likewise.
99488         Suggestion from Alain Magloire.
99489
99490         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
99491         an argument.
99492
99493         * m4/regex.m4: Add a run-time Test for proper operation of
99494         re_compile_pattern.
99495
99496 1999-01-31  Jim Meyering  <meyering@ascend.com>
99497
99498         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
99499
99500 1999-01-30  Jim Meyering  <meyering@ascend.com>
99501
99502         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
99503
99504         * m4/jm-mktime.m4: Make this a wrapper around the official
99505         AM_FUNC_MKTIME rather than my private copy, now that the official one
99506         is up to date.
99507         * m4/mktime.m4: Remove file.
99508
99509         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
99510         * m4/uptime.m4: Likewise.
99511         * m4/uintmax_t.m4: Likewise.
99512
99513 1999-01-28  Jim Meyering  <meyering@ascend.com>
99514
99515         * m4/jm-macros.m4: Use jm_AFS.
99516         * m4/afs.m4: New file (from fileutils' configure.in).
99517
99518         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
99519         * m4/chown.m4: Likewise.
99520         * m4/d-ino.m4: Likewise.
99521         * m4/d-type.m4: Likewise.
99522         * m4/fnmatch.m4: Likewise.
99523         * m4/getgroups.m4: Likewise.
99524         * m4/gettext.m4: Likewise.
99525         * m4/jm-mktime.m4: Likewise.
99526         * m4/jm-winsz2.m4: Likewise.
99527         * m4/lcmessage.m4: Likewise.
99528         * m4/ls-mntd-fs.m4: Likewise.
99529         * m4/malloc.m4: Likewise.
99530         * m4/memcmp.m4: Likewise.
99531         * m4/putenv.m4: Likewise.
99532         * m4/realloc.m4: Likewise.
99533         * m4/st_mtim.m4: Likewise.
99534         * m4/strftime.m4: Likewise.
99535
99536 1999-01-16  Jim Meyering  <meyering@ascend.com>
99537
99538         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
99539         (ARGMATCH_DIE_DECL): Define.
99540
99541 1999-01-12  Jim Meyering  <meyering@ascend.com>
99542
99543         * m4/Makefile.am.in: Rewrite to avoid using fmt.
99544         Reported by Lars Hecking.
99545
99546 1999-01-10  Jim Meyering  <meyering@ascend.com>
99547
99548         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
99549         gross kludge.
99550         * m4/inttypes_h.m4: Likewise.
99551         * m4/lstat.m4: Likewise.
99552         * m4/malloc.m4: Likewise.
99553         * m4/readdir.m4: Likewise.
99554         * m4/realloc.m4: Likewise.
99555         * m4/st_dm_mode.m4: Likewise.
99556         * m4/stat.m4: Likewise.
99557         * m4/utimbuf.m4: Likewise.
99558         * m4/utimes.m4: Likewise.
99559
99560         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
99561         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
99562         comments in config.h.in are meaningful.
99563
99564         * m4/jm-macros.m4: Require autoconf-2.13 here.
99565
99566         * m4/regex.m4: By default, don't use the included regex.c on systems
99567         with glibc 2.  Suggestion from Uli Drepper.
99568
99569 1999-01-02  Jim Meyering  <meyering@ascend.com>
99570
99571         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
99572
99573 1998-12-18  Jim Meyering  <meyering@ascend.com>
99574
99575         * m4/Makefile.am.in (Makefile.am): Simplify rule.
99576         Based on a suggestion from Lars Hecking.
99577
99578 1998-11-16  Paul Eggert  <eggert@twinsun.com>
99579
99580         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
99581
99582 1998-11-16  Jim Meyering  <meyering@ascend.com>
99583
99584         * m4/lfs.m4: Double-quote the `uname...` expression.
99585
99586 1998-11-14  Jim Meyering  <meyering@ascend.com>
99587
99588         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
99589         * m4/stat.m4: Likewise.
99590
99591 1998-11-03  Jim Meyering  <meyering@ascend.com>
99592
99593         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
99594         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
99595
99596 1998-10-18  Jim Meyering  <meyering@ascend.com>
99597
99598         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
99599
99600 1998-10-17  Jim Meyering  <meyering@ascend.com>
99601
99602         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
99603         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
99604         calls for those previously hard-coded headers.  Instead, take a new
99605         parameter.
99606         (jm_CHECK_DECLARATIONS): Reflect interface change.
99607         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
99608         (jm_CHECK_DECL_LOCALTIME_R): New macro.
99609
99610         * m4/mktime.m4: Test for spring-forward gap before long-running test.
99611
99612 1998-10-14  Jim Meyering  <meyering@ascend.com>
99613
99614         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
99615         instead of "TZ=America/Vancouver".  From Paul Eggert.
99616
99617 1998-10-11  Jim Meyering  <meyering@ascend.com>
99618
99619         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
99620         This adds a test for a recently added compatibility fix for mktime.c.
99621         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
99622
99623 1998-09-27  Jim Meyering  <meyering@ascend.com>
99624
99625         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
99626
99627         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
99628         ../configure.in, including a change from Gordon Matzigkeit to allow
99629         cross-compiling for the Hurd.
99630
99631         * m4/glibc.m4: New file/macro to test for the GNU C Library
99632         versions 1 and 2.  From Gordon Matzigkeit.
99633         Indent.
99634
99635 1998-09-21  Jim Meyering  <meyering@ascend.com>
99636
99637         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
99638
99639 1998-08-18  Paul Eggert  <eggert@twinsun.com>
99640
99641         Port nanosecond-resolution times to UnixWare 2.1.2 and
99642         pedantic Solaris 2.6.
99643
99644         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
99645         AC_STRUCT_ST_MTIM.
99646         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
99647         Generate name of ns member, instead of just 1 or undef.
99648         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
99649
99650 1998-08-15  Jim Meyering  <meyering@ascend.com>
99651
99652         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
99653         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
99654         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
99655         instead of jm_TYPE_SSIZE_T.
99656
99657 1998-08-12  Jim Meyering  <meyering@ascend.com>
99658
99659         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
99660
99661 1998-08-02  Jim Meyering  <meyering@ascend.com>
99662
99663         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
99664         in acconfig.h manually.
99665
99666 1998-07-31  Paul Eggert  <eggert@twinsun.com>
99667
99668         * m4/st_mtim.m4: New file.
99669
99670 1998-07-28  Jim Meyering  <meyering@ascend.com>
99671
99672         * m4/utimes.m4: Undef stat.
99673
99674 1998-07-25  Jim Meyering  <meyering@ascend.com>
99675
99676         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
99677         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
99678
99679 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
99680
99681         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
99682         uid and gid actually remain unchanged.
99683
99684 1998-07-07  Jim Meyering  <meyering@ascend.com>
99685
99686         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
99687
99688 1998-07-04  Jim Meyering  <meyering@ascend.com>
99689
99690         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
99691         to prove that this macro can be used in packages without regex.c.
99692
99693 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
99694
99695         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
99696         is to be used.
99697
99698 1998-07-03  Jim Meyering  <meyering@ascend.com>
99699
99700         * m4/gettext.m4: Add -lintl if it's found to be necessary.
99701
99702         * m4/gettext.m4: New file -- from gettext-0.10.35.
99703         * m4/lcmessage.m4: Likewise.
99704         * m4/progtest.m4: Likewise.
99705
99706         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
99707         * m4/jm-macros.m4: Require the new macro.
99708
99709 1998-06-29  Jim Meyering  <meyering@ascend.com>
99710
99711         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
99712         for the definition of NGROUPS (used in a system header included
99713         by sys/mount.h).
99714
99715 1998-06-28  Jim Meyering  <meyering@ascend.com>
99716
99717         * m4/ls-mntd-fs.m4: New file.
99718         * m4/fstypename.m4: New file.
99719
99720         * m4/jm-macros.m4: Require the new macro.
99721         * m4/jm-glibc-io.m4: New file.
99722
99723 1998-05-19  Jim Meyering  <meyering@ascend.com>
99724
99725         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
99726         * m4/lchown.m4: New file.
99727
99728         * m4/Makefile.am.in: New file.
99729         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
99730
99731 1998-05-14  Jim Meyering  <meyering@ascend.com>
99732
99733         * m4/Makefile.am (EXTRA_DIST): Add them.
99734         * m4/jm-macros.m4: New file.
99735         * m4/utimbuf.m4: New file.
99736
99737 1998-05-12  Jim Meyering  <meyering@ascend.com>
99738
99739         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
99740
99741 1998-05-11  Jim Meyering  <meyering@ascend.com>
99742
99743         * m4/isc-posix.m4: New file.
99744
99745 1998-05-10  Jim Meyering  <meyering@ascend.com>
99746
99747         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
99748
99749 1998-05-09  Jim Meyering  <meyering@ascend.com>
99750
99751         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
99752         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
99753         with automake.
99754
99755         * m4/ssize_t.m4: New file.
99756         * m4/mktime.m4: Remove file -- the new automake has this now.
99757
99758 1998-04-26  Jim Meyering  <meyering@ascend.com>
99759
99760         * m4/assert.m4: New file.
99761         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
99762
99763 1998-04-05  Jim Meyering  <meyering@ascend.com>
99764
99765         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
99766         (jm_PREREQ): Use it here.
99767
99768 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
99769
99770         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
99771         in acconfig.h.
99772
99773 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
99774
99775         * m4/prereq.m4: New file.
99776         * m4/error.m4: New file.
99777         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
99778
99779 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
99780
99781         * m4/getline.m4: Don't set am_cv_func_working_getline before the
99782         cache-check for the same variable -- that defeated the purpose of
99783         the test; the test program was never run.  This was a problem only
99784         on systems with losing getline functions -- HP-UX 10.20 is one.
99785         Reported by Bjorn Helgaas.
99786
99787 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
99788
99789         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
99790
99791 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
99792
99793         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
99794
99795         * m4/const.m4: New file.  Use an initializer in this declaration
99796         typedef int charset[2]; const charset x;
99797         Reported by Bob Glickstein.
99798
99799 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
99800
99801         * m4/chown.m4: Fix reversed types on -1 args to chown.
99802         From Kaveh Ghazi.
99803
99804 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
99805
99806         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
99807         Add lseek and memchr.
99808
99809         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
99810         T.E.Dickey <dickey@clark.net> said that some older preprocessors
99811         have a 20-character limit on names.
99812
99813 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
99814
99815         * m4/inttypes_h.m4: New file.
99816         * m4/uintmax_t.m4: New file.
99817         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
99818
99819
99820         -----
99821
99822         Local Variables:
99823         coding: utf-8
99824         End:
99825
99826         Copyright (C) 1997-2013 Free Software Foundation, Inc.
99827
99828         Copying and distribution of this file, with or without
99829         modification, are permitted provided the copyright notice
99830         and this notice are preserved.